Cho tới hiện nay mạng nơ ron đƣợc ứng dụng trong nhiều lĩnh vực. Sau đây là một số lĩnh vực tiêu biểu đã đƣợc áp dụng.
Xử lý ảnh, nhìn máy: Gồm trùng khớp ảnh, tiền xử lý ảnh, phân đoạn và phân tích ảnh, nén ảnh,...
Xử lý tín hiệu: Phân tích tín hiệu địa chấn và hình thái học…
Nhận dạng mẫu: nhận dạng chữ viết, ký tự, khuôn mặt, phân loại và phân tích tín hiệu của rada, nhận dạng và hiểu tiếng nói,...
Y học: Phân tích và hiểu tín hiệu điện tâm đồ, chuẩn đoán bệnh, xử lý ảnh y học…
Quân sự: Các hệ phát hiện thuỷ lôi, phân loại luồng rada, nhận dạng nguời nói…
29
Các hệ tài chính: Phân tích thị trƣờng chứng khoán, định giá bất động sản, cấp phát thẻ tín dụng và thƣơng mại an toàn…
Trí tuệ nhân tạo: Các hệ chuyên gia,...
Dự đoán: Dự đoán các trạng thái của hệ thống, dự báo rủi ro, xu hƣớng…
Quy hoạch, kiểm tra và tìm kiếm: Gồm cài đặt song song các bài toán thoả mãn ràng buộc, tìm nghiệm bài toán ngƣời du lịch, điều khiển và robot…
Kết luận
Trong chƣơng này chúng ta đã cùng nhìn lại lịch sử phát triển của mạng nơ ron. Đƣợc phát triển từ những năm 1940 với công trình đầu tiên của Warren McCulloch và Walter Pitts và tiếp tục phát triển cho tới hiện nay. Mạng nơ ron đang đƣợc ứng dụng mạnh mẽ trên nhiều lĩnh vực nhƣ y tế, tài chính, ngân hàng, tự động hóa…. Xuất phát từ nguồn gốc sinh học là bắt trƣớc bộ não con ngƣời. Mạng nơ ron đƣợc xây dựng từ các nơ ron hoạt động nhƣ một nơ ron thần kinh. Có đầy đủ các tín hiệu vào, ra, bộ tổng hợp xử lý, hàm truyền. Mạng sử dụng phƣơng pháp học có giám sát hoặc không giám sát. Tác giả có trình bày giải thuật lan truyền ngƣợc để xác định các trọng số, ngƣỡng của mạng thông qua quá trình huấn luyện mạng truyền thẳng nhiều lớp.
30
Chƣơng 3. MÔ HÌNH XỬ LÝ 3.1. Mạng nơ ron trong bài toán dự báo
Tổng hợp kiến thức chƣơng 2 và áp dụng mạng nơ ron vào bài toán dự báo chúng ta có sơ đồ áp dụng mạng nơ ron nhƣ hình 3.1. Sơ đồ thể hiện các bƣớc để xây dựng mạng nơ ron trong bài toán dự báo.
Hình 3.1: Các bước để xây dựng mạng nơ ron trong bài toán dự báo
Mạng nơ ron sau khi xác định đƣợc cấu trức mạng, mạng sẽ đƣợc huấn luyện trên tập dữ liệu huấn luyện. Sau khi huấn luyện mạng chúng ta cần kiểm tra đánh giá mạng trên tập dữ liệu đánh giá. Sử dụng một trong các hàm mực tiêu [tham khảo mục 2.6] làm tiêu chuẩn đánh giá mạng. Nếu mạng chƣa đạt yêu cầu, mạng sẽ đƣợc điều chỉnh và thực hiện học lại trên bộ dữ liệu học. Quá trình trên đƣợc lặp lại để tìm ra mạng nơ ron tối ƣu cho bài toán. Mạng tối ƣu sẽ đƣơc ứng dụng trên tập dự đoán để tìm ra kết quả dự đoán. Thông thƣờng chúng ta hay tìm tới mạng gần tối ƣu nhất, sao cho đủ để đáp ứng nhu cầu bài toán cụ thể đặt ra.
Tập đánh giá Huấn luyện mạng Mạng đã huấn luyện Khởi tạo mạng Đánh giá mạng Tập dự
đoán Mạng tối ƣu
Tập huấn luyện
Không đạt
Đạt
31
3.2. Mô hình xử lý
Ngày nay mạng nơ ron đƣợc sử dụng nhiều trong các bài toán, với mỗi bài toán cụ thể luôn có một mô hình mạng nơ ron tƣơng ứng. Mô hình mạng thay đổi nhƣng mô hình xử lý thì đƣợc biết đến với các bƣớc xác định. Kaastra and Boyd [13] đã mô tả 8 bƣớc xử lý mạng nơ ron trong bài toán dự báo nhƣ hình 3.2.
Hình 3.2: Các bước xử lý mạng nơ ron trong bài toán dự báo
Mô hình trình bày các bƣớc cụ thể trong xử lý mạng nơ ron trong bài toán dự báo. Kaastra and Boyd có mô tả ở bƣớc phân chia tập dữ liệu có ba tập cụ thể huấn luyện, kiểm tra và kiểm định. Trong bƣớc thiết kế mô hình mạng lại chú ý tới số lớp ẩn, số nơ ron ẩn trong lớp, số nơ ron đầu ra và hàm truyền. Ở bƣớc huấn luyện mạng lại chú ý tới xác định điểm dùng và tốc độ học, tốc độ hội tụ. Sau đây chúng ta cùng đi sâu hơn từng bƣớc trong bài toán dự đoán giá một mặt hàng trên sàn giao dịch.
3.3. Lựa chọn các biến số
Trên sàn giao dịch hàng hóa sự biến động của giá là kết quả của nhiều tác động từ bên trong và bên ngoài thị trƣờng. Chính bên trong hàng hóa đó nhƣ trên đà tăng, hoặc giảm của giá. Tác động từ bên ngoài nhƣ tỉ giá thế giới… Có nhiều nguyên nhân khiến giá của một mặt hàng thay đổi[1].Việc lựa chọn những biết số phù hợp với mục đích của bài toán trở nên khó khăn. Bằng việc tham thảo ý kiến các Dealer, phân tích những biến số tác động lên giá đóng cửa, hay mối quan hệ tƣơng quan ngang bằng (chứng khoán, ti giá)[14]. Chúng ta cùng tìm hiểu các biến số sau đây.
Giá đóng cửa của một mã giao dịch là giá chốt cuối ngày của phiên giao dịch. Câu hỏi đặt ra là thành phần nào sẽ tác động lên giá chốt cuối ngày. Bằng việc phân tích trực quan thì thấy rằng khối lƣợng giao dịch đóng một phần không nhỏ. Sau một ngày giao dịch ta có khối lƣợng đã khớp, khối lƣợng mua, khối lƣợng bán. Thông số
Lựa chọn biến số Thu thập dữ liệu Tiền xử lý dữ liệu Phân chia tập dữ liệu Thiết kế mô hình mạng Xác định tiêu trí đánh giá Huấn luyện mạng Thực hiện
32 thể hiện nhu cầu tiềm ẩn của thị trƣờng trên các khối lƣợng mua, bán. Khối lƣợng đã khớp thể hiện năng lục của thị trƣờng. Khối lƣợng khớp rất quan trọng thông số này là biến số giúp chúng ta phát hiện các điểm quay đầu của thị trƣờng.
Các yếu tố giá mở cửa, giá đóng cửa của ngày hôm trƣớc cũng là những biến số cần thiết để định tuyến giá đóng cửa của ngày hôm sau, giá đóng của của ngày hôm trƣớc cho chúng ta biết điểm giá kết thúc giao dịch của mặt hàng. Trong khi giá đóng của cho biết mức giá đạt đƣợc của ngày hôm trƣớc thì giá mở cửa cho biết xu hƣớng của thị trƣờng lúc mở cửa. Giá đóng cửa ngày hôm trƣớc nhỏ hơn giá mở của cùng ngày thì thị trƣờng đang đi xuống, nếu giá đóng cửa cao hơn giá mở cửa thì thị trƣờng đang đi lên.
Các yếu tố giá khớp cao nhất, thấp nhất cho chúng ta phân tích đƣợc biên độ giao động giá của thị trƣờng. Tính chất này cũng thể hiện đƣợc tính chất tiềm ẩn của thị trƣờng giao dịch sôi động hay yếu ớt, cũng nhƣ mức độ rủi ro của hàng hóa khi có sự chênh lệch lớn giữa hai giá trên.
Trong khi cả giá mở cửa, đóng cửa, khớp cao nhất, khớp thấp nhất diễn tả các sác thái xung quanh giá khớp thì các chỉ số chứng khoản lại mô tả tác động về mặt thị trƣờng. Thị trƣờng chứng khoản thể hiện các tác động của các hoạt động của nền kinh tế toàn cầu. Nhiều hơn thế sự tác động chính trị giữa các nƣớc cũng ảnh hƣởng phần nào lên nền kinh tế, sự ảnh hƣởng qua lại giữa các nền kinh tế cùng tác động lẫn nhau trong nền kinh tế toán cầu. Vậy những tác động đó cũng sẽ ảnh hƣởng lên giá của các mặt hàng trong giao dịch hàng hóa tƣơng lai. Vấn đề là, chính trong nội tại của thị trƣờng thì chƣa thể hiện đƣợc hết các tác động của cá nhân, tổ chức, quốc gia, thế giời lên thị thị trƣờng. Cùng với quan điểm các thị trƣờng sẽ có một liên kết với nhau. Tác giả đã sử dụng các chỉ số thể hiện các tác động của nền kinh tế toàn cầu là các chỉ số “Dow Jone” và “S&P500” của Mỹ, “Nikkei index” của Nhật[1].
Ngoài ra sự tác động của giá ngoại tệ cũng có những tác động lên giá giao dịch, thị trƣờng tiền tệ luôn chiệu sự tác động từ thị trƣờng, xong chúng cũng tác động trực tiếp lên thị trƣờng. Một trong những cặp ngoại tệ bị tác động mạng là các đồng EUR, USD, XAU, JPY. Các tác động trên đƣợc thể hiện trên giá đóng của của các cặp ngoại tệ XAU/USD, USD/JPY, EUR/USD.
3.4. Thu thập dữ liệu
Từ các biến số trên ta thấy các biến số điều là những dữ liệu cơ bản. Biến số khối lƣợng khớp là khó có thể thu thập từ nhà các nhà cung cấp dịch vụ. Một vấn đề đƣợc đặt ra là làm sao có đủ dữ liệu để mạng nơ ron học và tích lũy, và bao nhiêu dữ liệu là đủ. Trƣớc tiên cần tìm đƣợc nhà cung cấp dữ liệu đáng tin cậy, đây là vấn đề quan trọng quyết định tính đúng đắn của dữ liệu. Và song hành với nó là dữ liệu có
33 đƣợc phải đủ để mạng có thể đánh giá và khái quát đƣợc mối quan hệ giữa các biến số với giá đóng cửa của ngày hôm sau.
Tham khảo các Dealer[1] tác giả đã xác định đƣợc nguồn dữ liệu từ nhà cung cấp đó là www.barchart.com. Trang đã cung cấp đầy đủ dữ liệu OHLCV của nhiều mã giao dịch hàng hóa tƣơng lai khác nhau. Tác giả đã tiến hành thu thập dữ liệu từ nguồn với các mã giao dịch CCN, CTN, KCN, SBN. Dữ liệu cung cấp từ trang là dữ liệu thô từ nhà cung cấp, sau khi đã trích lọc thông tin, thì có dữ liệu OHLCV của các mã giao dịch, đây là dữ liệu cơ bản.
Hình 3.3: Biểu đồ giá đóng cửa của mã giao dịch KCZ13
3.5. Tiền xử lý và phân tích dữ liệu
3.5.1. Tiền xử lý dữ liệu
Quá trình tiền xử lý dữ liệu nhằm mục đích chuẩn hóa dữ liệu cơ bản, lọc những dữ liệu gây nhiễu, dƣ thừa, giúp cải thiện quá trình học của mạng, tăng hiệu năng xử lý, cũng nhƣ kết quả đạt đƣợc của mạng. Có nhiều kỹ thuật trong tiền xử lý dữ liệu. Tiền xử lý dữ liệu có thể là thực hiện lọc dữ liệu (trong dữ liệu biến thiên theo thời gian time-series) hay các phƣơng pháp phức tạp hơn nhƣ là các phƣơng pháp kết xuất, trích chọn các đặc trƣng từ dữ liệu cơ bản [13].
Trong mạng nơ ron khi sử dụng quá ít dữ liệu hoặc không đủ dữ liệu tổng quát có thể dẫn đến trƣờng hợp thừa ăn khớp (over-fitting). Còn nếu sử dụng quá nhiều dữ liệu sẽ ảnh hƣớng tới tính khái quát của mạng (under-fitting). Để tránh các lỗi trên cần
34 chuẩn bị bộ dữ liệu học và kiểm tra có đầy đủ các trƣờng hợp có thể xẩy ra, mới có kết quả đánh giá khách quan và mạng học có hiệu quả cao.
Trong bài toán dự báo giá trên sàn giao dịch, dữ liệu cơ bản là giá đóng của của các ngày giao dịch trong lịch sử. Biểu đồ giá đóng của là một biêu đồ tuyến tính. Chính vì vậy việc lọc, trích chọn dữ liệu không đƣợc áp dụng trong bài toán. Tuy nhiên để nâng cao hiệu năng tính toán của mạng thì dữ liệu cơ bản sẽ chuyển về khoảng [0-1] theo công thức (3.1).
𝑣𝑎𝑙𝑢𝑒𝑛𝑖 = (𝑣𝑎𝑙𝑢𝑒𝑖 − 𝑀𝑎𝑥𝑣𝑎𝑙𝑢𝑒)
(𝑀𝑎𝑥𝑣𝑎𝑙𝑢𝑒 − 𝑀𝑖𝑛𝑣𝑎𝑙𝑢𝑒) (3.1) (3.1)
Trong đó: 𝑣𝑎𝑙𝑢𝑒𝑖: Giá trị thực tại bản ghi thứ 𝑖 của tập biến số 𝑣𝑎𝑙𝑢𝑒.
𝑀𝑎𝑥𝑣𝑎𝑙𝑢𝑒: Giá trị lớn nhất của tập biến số 𝑣𝑎𝑙𝑢𝑒
𝑀𝑖𝑛𝑣𝑎𝑙𝑢𝑒: Giá trị nhỏ nhất của tập biến số 𝑣𝑎𝑙𝑢𝑒
𝑣𝑎𝑙𝑢𝑒𝑛𝑖: Giá trị của biến số sau khi đã chuẩn hóa.
Vậy đầu vào của mạng nơ ron nhận đƣợc sẽ là tập bộ dữ liệu có giá trị trong khoảng [0-1]. Dữ liệu đầu ra, kết quả dự đoán của mạng sẽ nhận đƣợc giá trị trong khoảng [0-1]. Khi đó thực hiện biến đổi dữ liệu từ khoảng [0-1] về dữ liệu theo công thức 3.2 .
𝑣𝑎𝑙𝑢𝑒𝑜 =𝑣𝑎𝑙𝑢𝑒𝑝∗ 𝑀𝑎𝑥𝑣𝑎𝑙𝑢𝑒 − 𝑀𝑖𝑛𝑣𝑎𝑙𝑢𝑒 + 𝑀𝑖𝑛𝑣𝑎𝑙𝑢𝑒 (3.2)
Trong đó: 𝑣𝑎𝑙𝑢𝑒𝑝: Giá trị tính toán của mạng.
𝑣𝑎𝑙𝑢𝑒𝑜: Giá trị dự đoán của mạng.
𝑀𝑎𝑥𝑣𝑎𝑙𝑢𝑒: Giá trị lớn nhất của tập biến số giá đóng của.
𝑀𝑖𝑛𝑣𝑎𝑙𝑢𝑒: Giá trị nhỏ nhất của tập biến số giá đóng của.
3.5.2. Phân tích dữ liệu
Từ biểu đồ giá close của mã KCZ13 trên chúng ta nhận thấy rằng dữ liệu giá là một đƣờng tuyến tính theo ngày giao dịch. Vậy điểm cần chú ý ở đây là các điểm cực đại, cực tiểu trên đồ thị, hay là những thời điểm thị trƣờng đảo chiều. Nếu chỉ sử dụng dữ liệu của ngày t-1 để dự đoán giá đóng cửa của ngày t thì kết quả dự báo không chính xác ở các điểm cực đại, cực tiểu. Ngay cả trên đà tăng, giảm của thị trƣờng, việc dự báo giá đóng cửa tại các thời điểm thị trƣờng đang giảm sâu, hay giảm nhẹ, tƣơng tự tới tăng mạnh hay tăng nhẹ. Nếu chỉ dựa vào giá lịch sử của ngày hôm trƣớc để xác định giá đóng của của ngày hôm sau thì chúng ta sẽ mắc phải vấn đề trên.
35 Để giải quyết vấn đề trên. Chúng ta sử dụng quy tắc 5 điểm nhƣ sau: Sử dụng khoảng cách từ 5 điểm liên tiếp đến điểm tiếp theo để xác định vị trí tiếp theo trên đƣờng đi tuyến tính của một đồ thị. Ta sẽ có các trƣờng hợp cần xét tới nhƣ sau:
o Trên cùng xu hƣớng giá: có hai xu lƣớng giá là trên đà tăng giá và trên đà giảm giá. Trên cả 2 xu hƣớng này các biến số cố định trong lịch sử cùng nằm trên một đƣờng thẳng xác định điểm tƣơng lai trên cùng đà xu hƣớng. Giá trị của điểm tƣơng lai đƣợc xác định thông qua khoảng cách giữa các điểm trong mạng.
o Các điểm cục bộ của thị trƣờng: ở các điểm này khó xác định nhất là điểm bắt đầu đảo chiều. Các điểm này có dấu hiệu rõ ràng trên khoảng cách các điểm xét tới điểm dự báo.
Hình 3.4: Sử dụng 5 điểm lịch sử liên tiếp để dự đoán.
Bắt đầu ngày giao dịch tức là giá đóng cửa của ngày hôm trƣớc đã là bản ghi lịch sử. Đây chính là dữ liệu lịch sử mới. Dữ liệu này cũng nói lên xu hƣớng giá tại thời điểm hiện tại. Nếu sử dụng một mạng nơ ron để dự báo theo cách thông thƣờng thì những dữ liệu lịch sử hiện có không đƣợc học trong mạng. Điều này làm cho khả năng dự báo của mạng bị giảm sút. Theo thời gian mạng không đƣợc cập nhật dữ liệu lịch sử mới mạng sẽ đi vào trạng thái hoạt động kém hiệu quả. Giải pháp cho vấn đề trên là ngay khi các biến số đi vào lịch sử hết thì mạng sẽ tiến hành học thêm các giá trị mới. Điều này có nghĩa các trọng số trong mạng sẽ biến đổi theo lịch sử giá, biến cố của thị trƣờng.
3.6. Phân chia tập dữ liệu
Trong thực tế, khi huấn luyện, ngƣời ta thƣờng chia tập dữ liệu thành các tập: Huấn luyện, kiểm tra và kiểm định. Tập huấn luyện thƣờng là tập lớn nhất đƣợc sử dụng để huấn luyện cho mạng. Tập kiểm tra thƣờng chứa khoảng 10% đến 30% tập dữ
Đồ thị thời gian thực
Đầu ra Mạng nơ ron
Đầu vào
36 liệu huấn luyện, đƣợc sử dụng để kiểm tra mức độ tổng quát hóa của mạng sau khi huấn luyện. Kích thƣớc của tập kiểm định cần đƣợc cân bằng giữa việc cần có đủ số mẫu để có thể kiểm tra mạng đã đƣợc huấn luyện và việc cần có đủ các mẫu còn lại cho cả pha huấn luyện và kiểm định. Có hai cách thực hiện xác định tập kiểm tra. Một là lấy ngẫu nhiên các mẫu từ tập huấn luyện ban đầu. Ƣu điểm của cách này là có thể tránh đƣợc nguy hiểm khi mà đoạn dữ liệu đƣợc chọn có thể chỉ điển hình cho một tính chất của dữ liệu. Hai là chỉ lấy các dữ liệu ở phần sau của tập huấn luyện, trong trƣờng hợp các dữ liệu gần với hiện tại là quan trọng hơn các dữ liệu quá khứ.
Trong bài toán dự báo giá hàng hóa tƣơng lai, giá ở thời điểm hiện tại quan trọng hơn giá trong quá khứ. Chính vì vậy tác giả đã lựa chọn tập dữ liệu gần hiện tại làm dữ liệu kiểm tra, kiểm định. Trong luận văn này dữ liệu của các biến số đƣợc thu