Số nơ ron trong mỗi lớp ẩn

Một phần của tài liệu Ứng dụng khai phá dữ liệu vào dự báo giá mặt hàng trên sang giao dịch (Trang 38)

Cùng với số lớp ẩn, số nơ ron trong mỗi lớp đóng vai trò quan trọng trong mạng. Sử dụng quá ít nơ ron trong lớp ẩn có thể dẫn đến mạng không thể tổng quát hóa mối quan hệ đầu vào và ra hay thiếu ăn khớp (under-fitting). Số nơ ron trong mỗi lớp ẩn phụ thuộc vào nhiều yếu tố nhƣ số đầu vào, đầu ra của mạng, độ nhiễu của dữ liệu, số trƣờng hợp có thể xẩy ra trong tập dữ liệu, độ phúc tạp của hàm lỗi, kiến trúc mạng và thuật toán huấn luyện mạng. Tuy nhiên từ các nhà nghiên cứu đã đƣa ra một

2008 - 2013

2008 - 2012

Tập huấn luyện

2013

37 số gợi ý giúp chúng ta lựa chọn đƣợc số lớp ẩn hiệu quả. Với mạng nơ ron 3 lớp (1 lớp vào, 1 lớp ẩn, 1 lớp ra) với n nơ ron đầu vào và m nơ ron đầu ra, thì số nơ ron ở tầng ẩn có thể bằng 𝑛 ∗ 𝑚nơ ron. Baily và Thompson[4] cho rằng số nơ ron của lớp ẩn bằng khoảng 75% số nơ ron của lớp vào. Katz[3] thì cho rằng số nơ ron ẩn gắp 1.5 đến 3 lần số nơ ron lớp đầu vào.

Các gợi ý trên cho thấy để xác định số nơ ron trong lớp ẩn thì dựa vào số nơ ron ở lớp đầu vào. Và việc xác định số nơ ron phù hợp ở lớp ẩn còn nằm ở từng bài toán cụ thể. Để lựa chọn tốt nhất số nơ ron trong lớp ẩn vẫn phải dựa vào thực nghiệm. 3.7.3. Số nơ ron đầu ra

Số lƣợng nơ ron đầu ra càng nhiều thì sẽ làm tăng không gian lƣu trữ cũng nhƣ phép tính trong mạng. Các mạng có nhiều giá trị đầu ra sẽ cho kết quả thấp hơn so với mạng có một đầu ra. Trong thực tế các bài toán dự báo tài chính, số nơ ron lớp ra luôn luôn là 1[2]. Trong bài toán dự báo giá hàng hóa, đầu ra của mạng là giá đóng cửa của hàng hóa đó.

3.7.4. Hàm truyền

Tùy từng bài toán cụ thể và dữ liệu trong bộ dữ liệu, để chúng ta lựa chọn hàm truyền cho mạng. Việc lựa chọn hàm truyền cũng phụ thuộc vào thuật toán huấn luyện của mạng sử dụng. Trong các bài toán nơ ron hàm truyền sigmoid thƣờng hay đƣợc sử dụng nhiều.

3.8. Xác định tiêu trí đánh giá

Xác định tiêu trí đánh giá là xác định hàm mục tiêu, qua đó đánh giá mô hình mạng có tốt hay không. Tùy từng bài toán cụ thể để xây dựng các tiêu trí đánh giá cụ thể. Với bài toán dự báo giá giao dịch trên sàn tác giả đã sử dụng hàm mục tiêu sai số quân phƣơng MSE (công thức 2.7).

Để đánh giá khách quan giá trị dự đoán và giá trị thực trên bộ dữ liệu kiểm tra tác giả có sử dụng hệ số tƣơng quan (Correlation coefficient). Hệ số cung cấp giá trị số biểu thị mối tƣơng quan giữa giá trị dự đoán của mạng và giá trị thực tế. Hệ số tƣơng quan (𝑟) có giá trị trong khoảng [-1 - 1]. Giá trị tuyệt đối của hệ số tƣơng quan càng lớn thì thể hiện mối tƣơng quan giữa giá trị dự đoán và giá trị thực càng cao, tức hai giá trị này càng tiến gần sát tới nhau trên đồ thị. Vậy giá trị tuyệt đối của hệ số tƣơng quan là 1 thì giá trị dự đoán bằng giá trị thực. Độ tƣơng quan của giá trị dự báo và giá trị thực yếu nhất khi hệ số tƣơng quan 𝑟 = 0. Evans (1996) đã đƣa ra sự gợi ý về độ tƣơng quan qua giá trị tuyệt đối hệ số tƣơng quan r nhƣ Hình 3.6:

38

Hình 3.6: Múc độ tương quan

Trong thực tế để tính hệ số tƣơng quan 𝑟 thì có nhiều công thức khác nhau, tuy nhiên các công thức trả về kết quả tƣơng đƣơng nhau. Trong luận văn này tác giả đã sử dụng công thức tính hệ số tƣơng quan (3.3):

𝑟 = 𝑛 𝑛𝑖=1𝑥𝑖𝑦𝑖− 𝑛𝑖=1𝑥𝑖 𝑛𝑖=1𝑦𝑖

( 𝑛𝑖=1𝑥𝑖2− 𝑛𝑖=1𝑥𝑖 2)( 𝑛𝑖=1𝑦𝑖2− 𝑛𝑖=1𝑦𝑖 2)

(3.3) Trong đó: 𝑥𝒊,𝑦𝑖: là giá trị thực và giá trị tính toán bởi mạng

𝑛: Số bản ghi đƣợc xét tới.

3.9. Huấn luyện mạng

Huấn luyện mạng là quá trình mạng học từ tập dữ liệu mẫu. Qua mỗi lần lặp, các trong số trong mạng đƣợc thay đổi sao cho lỗi thu đƣợc là ít nhất. Kết thức huấn luyện ta thu đƣợc tập các trọng số cho mạng. Tập trọng số này thể hiện tính khái quát của mạng. Thuật toán lan truyền ngƣợc là thuật toán phổ biến nhất đƣợc sử dụng trong huấn luyện mạng. Thuật toán không đảm bảo để mạng đạt tới điểm cực tiểu toàn cục, thuật toán có thể mắc kẹt ở điểm cực tiểu cục bộ.

Trong quá trình huấn luyện mạng, chúng ta cần chú ý tới điều kiện dừng huấn luyện và hằng số học.

3.9.1. Điều kiện dừng huấn luyện

Từ thuật toán lan truyền ngƣợc cho ta thấy có 2 điều kiện dừng huấn luyện. Một là số lần lặp huấn luyện trên bộ dữ liệu và sai số lỗi tối đa cho phép. Vậy số lần lặp bao nhiêu là đủ, sai số tối đa cho phép bao nhiêu là tốt nhất cho mạng. Nelson và Illingworth[16] trong kết quả nghiên cứu về vấn đề huấn luyện mạng đã nhận định rằng cần phải xác định điểm dừng huấn luyện phù hợp để tránh việc học quá mức của mạng.

Sử dụng điều kiện chỉ dừng học khi mạng đạt đƣợc sai số lỗi tối đa cho phép. Điều này khó thực hiện vì nhiều lúc mạng chỉ dừng lại ở điểm cực bộ địa phƣơng và sai số của mạng không có sự thay đổi sau mỗi lần lặp.

Rất Mạnh 1 0 0.2 0.4 0.6 0.8 Mạnh Yếu Bình thƣờng Rất yếu

39 Sử dụng điều kiện số lần lặp trên bộ dữ liệu học thì khó để xác định mạng đã đạt tới khả năng gần cao nhất hay chƣa. Nếu số vòng lặp nhỏ, mạng sẽ học chƣa đủ, dẫn đến khả năng tổng quát của mạng bị giảm sút. Nếu số lần lặp lớn gây ảnh hƣớng tới thời gian huấn luyện của mạng.

Có một số phƣơng pháp khác nhƣ kiểm tra khả năng của mạng trên tập dữ liệu đánh giá trong quá trình huấn luyện. Hay xây dựng module giám sát sai số E của mạng. Để đánh giá mạng sau mỗi lần lặp trên bộ dữ liệu sẽ kéo dài thời gian huấn luyện và kết quả đánh giá ở những bƣớc đầu là không cần thiết. Một cách khác là xây dựng module gián sát sai số của mạng trong quá trình học. Mạng sẽ dừng khi sai số không thay đổi sau lần huấn luận. Với cách này khi mạng rơi vào điểm cự bộ địa phƣơng thì mạng thu đƣợc sau quá trình huấn luyện chƣa phải là mạng tối ƣu nhất. Trong ứng dụng của luận văn, điều kiện dừng huấn luyện đƣợc xác định qua số lỗi của mạng đạt đƣợc và số lần lặp tối đa trên bộ dữ liệu. Bằng việc kiểm tra mạng trên các kết quả thực nghiệm để xác định đƣợc các thông số trên.

3.9.2. Tốc độ học

Tốc độ học trong mạng nhận giá trị trong khoảng [0-1]. Tốc độ học thƣờng đƣợc gán nhƣ nhau cho tất cả các nơ ron trong mạng. Trong quá trình huấn luyện tốc độ học càng cao thì các trọng số trong mạng thay đổi lớn dần, điều này làm mạng không ổn định. Ngƣợc lại tốc độ học quá thấp, thì sự thay đổi trọng số chậm. Điều này làm cho thời gian đào tạo mạng bị chậm lại.

Hầu hết các chƣơng trình mô hình mạng đều để mạc định giá trị này. Tốc độ học đƣợc xét thƣờng nằm trong khoảng [0.1 – 0.9].

3.10. Triển khai

Bƣớc triển khai là bƣớc cuối cùng trong các bƣớc xử lý mạng nơ ron. Trên thực tế bƣớc này cần đƣợc xét tới từ bƣớc thu thập dữ liệu. Bởi vì cần xét tới tính sẵn có của dữ liệu, xác định hàm lỗi và thời gian huấn luyện đều là các đặc trƣng của môi trƣờng triển khai. Mạng nơ ron có đăc tính xử lý song song, chính vì vậy ngƣời ta cho rằng sẽ tốt hơn khi triển khai trên các vi mạch điện tử. Trên thực tế mạng lại đƣợc ứng dụng rộng rãi trong các ứng dụng mềm vì tính linh hoạt trong các bài toán và dễ cài đặt triển khai.

Với mạng nơ ron thông thƣờng sau khi triển khai khả năng hoạt động của mạng nơ ron sẽ giảm đi theo thời gian. Chính vì vậy ngƣời ta cần thực hiện huấn luyện lại mạng để phù hợp với tình hình mới. Tùy từng bài toán cụ thể mà thời gian huấn luyện lại mạng khác nhau để đảm bảo khả năng của mạng là tốt nhất. Việc huấn luyện lại mạng là do nguyên nhân sự biến đổi của các yếu tố đầu vào, thay đổi về mội trƣờng tác động lên kết quả đầu ra.vv.

40 Trong bài toán dự báo giá trên sàn giao dịch. Giá luôn luôn bị tác động ảnh hƣởng từ nhiều nguồn khác nhau, kết quả của tác động làm giá tăng hay giảm. Chính vì vậy việc sử dụng một mạng nơ ron cố định là không hiệu quả. Tác giả đã cho thực hiện cập nhật liên tục dữ liệu lịch sử ngay khi có thể để cung cấp cho mạng khả năng dụ báo, chuyển biến mới nhất từ thị trƣờng đang tác động lên giá. Thời gian mạng luyện lại ngay khi mạng có đủ các yếu tố đầu vào.

Kết luận

Trong chƣơng này chúng ta đã cùng nhìn lại 8 bƣớc trong mô hình xử lý mạng nơ ron cho bài toán dự báo. Đi sâu vào từng bƣớc của mô hình, ở bƣớc lựa chọn biến số chúng ta đã cùng phân tích những biến số gây ảnh hƣớng trực tiếp, gián tiếp lên giá của hàng hóa trên sàn giao dịch. Qua đó đƣa ra 11 biến số sử dụng trong ứng dụng dự báo. Việc thu thập dữ liệu cũng gặp phải vấn đề khó khăn với tính sẵn có của dữ liệu, bằng việc tham khảo ý kiến các Dealer tác giả đã tìm đƣợc nguồn dữ liệu. Tiến hành thực hiện thu thập dữ liệu, tiến hành tiền xử lý bằng việc chuyển đổi dữ liệu. thực hiện học và đánh giá trên bộ dữ liệu đã quy hoạch. Qua việc phân tích dữ liệu giá đóng cửa tác giả đã đề xuất hƣớng xử lý dự báo bằng mô hình mạng 5 point.

41

Chƣơng 4. THỰC NGHIỆM VÀ ĐÁNH GIÁ 4.1. Giới thiệu về thƣ viện cài đặt nơ ron

Trong đề tài này tác giả có sử dụng mã nguồn mở thƣ viện nơ ron có tên “encog-dotnet-core”. Thu viện hỗ trợ tạo một mạng nơ ron theo mô hình mạng truyền thẳng nhiều lớp. Bộ thƣ viện đƣợc phát triển bởi công ty Heaton Research sáng lập bởi Jeff Heaton. Encog-dotnet-core đƣợc phát triển từ năm 7/11/2008 cho tới bây giờ đã dần thoàn thiện và dừng lại ở phiên bản 3.2.

4.2. Mô hình mạng

4.2.1. Các biến số sử dụng cho bài toán

Trong phạm vi luận văn của bài toán dự báo giá tác giả đã sử dụng dữ liệu lịch sử của các ngày giao dịch để dự báo giá đóng của của ngày giao dịch sắp tới. Để thực hiện dự báo giá hàng hóa trên sàn giao dịch tác giả đã sử dụng các biến số đầu vào cho mạng nhƣ Bảng 4.1. Các biến số áp dụng cho một mặt hàng cụ thể trên sàn giao dịch.

STT Biến số Mô tả

1 Giá đóng cửa Giá đóng cửa cuối ngày của một hàng hóa trên sàn 2 Giá mở cửa Giá hàng hóa lúc mở cửa đầu ngày của thị trƣờng. 3 Giá khớp cao nhất Giá khớp cao nhất của hàng hóa trong ngày giao dịch 4 Giá khớp thấp nhất Giá khớp thấp nhất của hàng hóa trong ngày giao dịch 5 Khối lƣợng khớp Khối lƣợng khớp của ngày giao dịch

6 Chỉ số Dow Jone Chỉ số giá chung của 65 mã giao dịch hàng đầu niêm yết tại sở giao dịch chứng khoán NewYork. Chỉ số thƣờng phản ánh đúng xu hƣớng biến động giá của thị trƣờng chứng khoán Mỹ.

7 Chỉ số S&P500 Chỉ số bao gồm 500 loại cổ phiếu đƣợc lựa chọn từ 500 công ty có mức vốn hóa thị trƣờng lớn nhất của Mỹ. Chỉ số S&P 500 đƣợc thiết kế để trở thành một công cụ hàng đầu của thị trƣờng chứng khoán Mỹ và có ý nghĩa phản ánh những đặc điểm rủi ro/lợi nhuận của các công ty hàng đầu.

42 8 Chỉ số Nikkei Chỉ số tổng hợp từ giá của 225 cổ phiếu thuộc sở giao

dịch chứng khoán Tokyo và 250 cổ phiếu thuộc sở giao dịch Osaka.

9 XAU/USD Giá vàng giao dịch bằng đồng USD. 10 USD/JPY Tỉ giá ngoại tệ đồng USD và JPY 11 EUR/USD Tỉ giá ngoại tệ đồng EUR và USD

Bảng 4.1: Bảng các biến số sử dụng trong mạng

4.2.3. Thu thập dữ liệu

Dữ liệu trên trang www.barchart.com là dữ liệu thô từ nhà cung cấp. Dữ liệu đƣợc thể hiện dƣới dạng biêu đồ OHLC của các ngày giao dịch nhƣ Hình 4.1.

Hình 4.1: Dữ liệu của mã giao dịch KCN13 từ nguồn

Tác giả đã sử dụng công cụ lọc để tách dữ liệu từ dữ liệu trên biểu đồ về dữ liệu thô nhƣ Bảng 4.2.

Date Open High Low Close Volume 5/31/2013 125.95 127.85 125.05 127.05 13948 5/30/2013 128 128.55 125.2 125.85 17757 5/29/2013 126.55 128 126 127.6 17055 5/28/2013 127.55 128.2 125.8 126.45 21540

43 5/24/2013 130.65 130.75 126.8 127.25 16739 5/23/2013 128.8 131.8 128.05 130.05 20814 5/22/2013 133.3 133.7 128.25 128.45 25577 5/21/2013 135.7 135.85 132.25 132.7 17188 5/20/2013 136.9 136.9 134 135.15 12866 5/17/2013 140.25 141.3 136.75 136.9 12049 5/16/2013 140.55 141.55 138.25 139.85 11742 5/15/2013 143.8 145.6 140.05 140.55 17682 5/14/2013 145.95 146.85 143.8 144 12699 5/13/2013 144.2 146.4 143.35 145.75 13597 5/10/2013 146.9 148.8 144 144.45 23762 5/9/2013 143.5 148.75 143.2 147.9 28597 5/8/2013 142.3 144.3 141.7 144.15 16132 5/7/2013 141.75 142.9 140.5 142.7 12852

Bảng 4.2: Bảng dữ liệu mẫu tổng hợp từ nguồn trong tháng 5-KCN13

Date Dow Jone Nikkei S&P EURUSD USDJPY XAUUSD 5/31/2013 15115.57 13774.5 1630.74 1.29948 100.439 1387.63 5/30/2013 15324.53 13589 1654.41 1.30479 100.714 1413.78 5/29/2013 15302.8 14326.4 1648.36 1.29387 101.143 1392.48 5/28/2013 15409.39 14311.9 1660.06 1.28547 102.354 1380.94 5/24/2013 15303.1 14612.4 1649.6 1.29298 101.279 1386.4 5/23/2013 15294.5 14483.9 1650.51 1.29326 102.014 1390.73 5/22/2013 15307.17 15627.2 1655.35 1.28578 103.142 1369.68 5/21/2013 15387.58 15381 1669.16 1.29051 102.466 1376.03 5/20/2013 15335.28 15360.8 1666.29 1.28817 102.255 1393.55 5/17/2013 15354.4 15138.1 1667.47 1.28378 103.248 1359.9 5/16/2013 15233.22 15037.2 1650.47 1.28813 102.249 1385.84 5/15/2013 15275.69 15096 1658.78 1.28852 102.231 1392.6 5/14/2013 15215.25 14758.4 1650.34 1.29189 102.387 1425.1 5/13/2013 15091.68 14782.2 1633.77 1.2974 101.814 1430.4 5/10/2013 15118.49 14607.5 1633.7 1.29918 101.588 1448.01 5/9/2013 15082.62 14191.4 1626.67 1.30411 100.582 1457.77 5/8/2013 15105.12 14285.6 1632.69 1.31516 98.998 1473.7 5/7/2013 15056.2 14180.2 1625.96 1.30776 98.988 1452.22

Bảng 4.3: Bảng dữ liệu mẫu giá đóng cửa của các biến số được sử dụng trong tháng 05/2013

44 Dữ liệu sau khi thu thập đƣợc tổng hợp vào file có tệp tin định dang .csv là đầu vào cho ứng dụng dự báo. Dữ liệu trƣớc khi đƣa vào mạng để học sẽ đƣợc chuẩn hóa về khoảng [0-1] theo công thức (3.1).

4.2.4. Mô hình mạng

Lựa chọn mạng: Mạng nơ ron truyền thẳng nhiều lớp đang đƣợc sử dụng nhiều trong các bài toán dự báo[17,18,20,21]. Đã có nhiều nghiên cứu và ứng dụng mạng vào thƣc tiễn. Bởi vậy tác giả đã lựa chọn sử dụng mạng nơ ron truyền thẳng nhiều lớp trong bài toán dự báo.

Tìm số nơ ron ẩn: Theo Baily và Thompson[4] số nơ ron trong lớp ẩn bằng

75% số nơ ron đầu vào. Khi đó ta có số nơ ron trong lớp ẩn của bài toán dự đoán giá trên sàn giao dịch là 42 nơ ron.

Tìm số lớp ẩn: Để xác định số lớp ẩn cho mạng chúng ta cùng kiểm tra mạng

với số lớp ẩn tăng dần.

Thực nghiệm thực hiện trên bộ dữ liệu đƣợc thu thập năm 2008-10/2013 của mã giao dịch KCZ13, cho mạng học trên bộ dữ liệu trên, thực hiện kiểm tra đánh giá trên bộ dữ liệu đánh giá 04-15/11/2013. Thực hiện kiểm tra 10 lần, ta thu đƣợc kết quả trên các lần chạy của mạng:

Với mạng sử dụng 1 lớp ẩn, 42 nơ ron trong lớp ẩn ta có bảng kết quả sau:

Một phần của tài liệu Ứng dụng khai phá dữ liệu vào dự báo giá mặt hàng trên sang giao dịch (Trang 38)

Tải bản đầy đủ (PDF)

(64 trang)