Mạng nơron lan truyền và giải thuật lan truyền ngược

Một phần của tài liệu Ứng dụng khai phá dữ liệu trong dự báo biến động thị trường chứng khoán Việt Nam (Trang 31)

Mạng perceptron một lớp do F.Rosenblatt[3] đề xuất năm 1960 là mạng truyền thẳng gồm một lớp vào và một lớp ra không có lớp ẩn. Trên mỗi lớp này có thể có một hoặc nhiều nơ-ron. Mô hình mạng nơ-ron của Rosenblatt sử dụng hàm ngƣỡng đóng vai trò là hàm chuyển. Do đó, tổng của các tín hiệu vào lớn hơn giá trị ngƣỡng thì giá trị đầu ra của nơ-ron sẽ là 1, còn ngƣợc lại sẽ là 0.

𝑂𝑢𝑡𝑖 = 1 nếu𝑛𝑒𝑡𝑖 ≥ 𝜃

0 nếu𝑛𝑒𝑡𝑖 < 𝜃 (2.6)

Trong đó:

- 𝑛𝑒𝑡𝑖 = 𝑤𝑖𝑗𝑥𝑗 là tổng thông tin đầu vào của nơ ron thứ i

- 𝜃 là giá trị một ngƣỡng nào đó của nơ ron thứ i

- wijlà trọng số liên kết từ nơ-ron j tới nơ-ron i

- xj là thông tin đầu vào nơ-ron j

Việc huấn luyện mạng dựa trên phƣơng pháp học có giám sát với tập mẫu học là{(x(k), d(k))}, k= 1,2, …, p Trong đó d(k) = [d(k)

, d2(k), …, dn(k)

]T là đầu ra quan sátđƣợc tƣơng ứng với đầu vào x(k)

= [x1(k), x2(k), …, xm(k)

]T (với m là số đầu vào, n làsố đầu ra và p là cặp mẫu đầu vào - đầu ra dùng cho việc học). Nhƣ vậy chúng tamong rằng sau quá trình học, đầu ra tính toán đƣợc y(k)

= [y1(k), y2(k), …, yn(k)]T sẽbằng với đầu ra của mẫu học d(k)

𝑦𝑖(𝑘) = 𝑔 𝑤𝑖𝑇𝑥 𝑘 = 𝑔 𝑤𝑖𝑗𝑥𝑗 𝑘 𝑚

𝑗 =1

= 𝑑𝑖(𝑘) (2.7)

Hình 2.6: Mạng perceptron một lớp

b. Mạng perceptron nhiều lớp

Mạng perceptron nhiều lớp (Multilayer Perceptron –MLP)[3] còn đƣợc gọi là mạng truyền thẳng nhiều lớp là sự mở rộng của mô hình mạng perceptron với sự bổ sung thêm những lớp ẩn và các nơ-ron trong các lớp ẩn này có hàm chuyển (hàm kích hoạt) dạng phi tuyến. Mạng MLP có một lớp ẩn là mạng nơ-ron nhân tạo đƣợc sử dụng phổ biến nhất, nó có thể xấp xỉ các hàm liên tục đƣợc định nghĩa trên một miền có giới hạn cũng nhƣ những hàm là tập hợp hữu hạn của các điểm rời rạc.

c. Giải thuật lan truyền ngƣợc[3]

Giải thuật học theo phƣơng pháp lan truyền ngƣợc sai số do Rumelhart và các cộng sự đề xuất là một trong số những kết quả nghiên cứu quan trọng nhất đối với sự phát triển của mạng nơ-ron nhân tạo. Thuật toán này đƣợc áp dụng cho mạng truyền thẳng nhiều lớp trong đó các nơ-ron có thể sử dụng các hàm chuyển là các hàm liên tục có các dạng khác nhau.

Thuật toán sử dụng một tập các mẫu gồm các cặp đầu vào - đầu ra để luyện mạng. Với mỗi cặp đầu vào - đầu ra (x(k)

,d(k)) thuật toán lan truyền ngƣợc sai số thực hiện hai giai đoạn sau:

• Giai đoạn thứ nhất, mẫu đầu vào x(k)

đƣợc truyền từ lớp vào tới lớp ra, và ta có kết quả đầu ra tính toán đƣợc là y(k)

• Giai đoạn tiếp theo, tín hiệu lỗi đƣợc tính toán từ sự khác nhau giữa đầu ra quan sát đƣợc d(k)

với đầu ra tính toán y(k) sẽ đƣợc lan truyền ngƣợc lại từ lớp ra đến các lớp trƣớc để điều chỉnh các trọng số của mạng. Để làm ví dụ ta xét mạng truyền thẳng có một lớp ẩn dƣới đây, đối với các mạng có kích thƣớc lớn hơn thì thao tác cũng tƣơng tự.

Mạng nơ-ron đƣợc xét có m nơ-ron ở lớp vào, l nơ-ron trong lớp ẩn và n nơ- ron ở lớp ra. Đƣờng kẻ liền thể hiện luồng tín hiệu đƣợc truyền từ đầu vào tới đầu ra còn các đƣờng kẻ nét đứt thể hiện luồng tín hiệu lỗi đƣợc truyền ngƣợc trở lại từ đầu ra.

Hình 2.7: Lan truyền tín hiệu trong quá trình học theo phƣơng pháp lan truyền ngƣợc sai số

Chúng ta xét một cặp đầu vào - đầu ra để luyện mạng (x,d), để đơn giản chúng ta bỏ ký hiệu mũ k thể hiện số thứ tự của cặp mẫu này trong bộ mẫu dùng để luyện mạng. Khi đƣa vào đầu vào x, nơ-ron thứ q trong lớp ẩn sẽ nhận tín hiệu vào của mạng là:

𝑛𝑒𝑡𝑞 = 𝑣𝑞𝑗𝑥𝑗 𝑚

𝑗 =1

(2.8)

Nơ ron q ở lớp ẩn sẽ tính toán và tạo kết quả ở đầu ra của nó là:

𝑧𝑞 = 𝑔 𝑛𝑒𝑡𝑞 = 𝑔 𝑣𝑞𝑗𝑥𝑗 𝑚

𝑗 =1

(2.9)

Do đó tín hiệu vào của nơ-ron thứ i trên lớp ra sẽ là:

𝑛𝑒𝑡𝑖 = 𝑤𝑖𝑞𝑧𝑞 𝑙 𝑞=1 = 𝑤𝑖𝑞 𝑙 𝑞=1 𝑔 𝑣𝑞𝑗𝑥𝑗 𝑚 𝑗 =1 (2.10)

Tín hiệu đầu ra của nơ-ron i trên lớp ra sẽ là:

𝑦𝑖 = 𝑔 𝑛𝑒𝑡𝑖 = 𝑔 𝑤𝑖𝑞𝑧𝑞 𝑙 𝑞=1 = 𝑔 𝑤𝑖𝑞 𝑙 𝑞=1 𝑔 𝑣𝑞𝑗𝑥𝑗 𝑚 𝑗 =1 (2.11)

Công thức trên cho biết quá trình lan truyền tín hiệu từ đầu vào qua lớp ẩn tới đầu ra. Tiếp theo chúng ta xét tín hiệu lỗi đƣợc lan truyền ngƣợc lại từ lớp ra. Trƣớc hết, đối với mỗi cặp giá trị vào – ra chúng ta xây dựng một hàm chi phí nhƣ sau:

𝐸 𝑤 = 1 2 𝑑𝑖 − 𝑦𝑖 2 𝑛 𝑖=1 = 1 2 𝑑𝑖 − 𝑔(𝑛𝑒𝑡𝑖) 2 𝑛 𝑖=1 =1 2 𝑑𝑖 − 𝑔 𝑤𝑖𝑞𝑧𝑞 𝑙 𝑞=1 2 𝑛 𝑖=1 (2.12)

Nhƣ vậy với một tập gồm p mẫu học, chúng ta lần lƣợt xây dựng đƣợc p hàm chi phí nhƣ vậy. Việc học của mạng hay nhiệm vụ của giải thuật thực chất là tìm kiếm tập trọng số W trong không gian RM

(M là số trọng số có trong mạng) để lần lƣợt tối thiểu hoá các hàm chi phí nhƣ vậy. Điều đáng chú ý là việc tối thiểu hoá đƣợc tiến hành liên tiếp nhau và theo chu kỳ đối với các hàm chi phí.

Để tối thiểu hoá các hàm chi phí nhƣ vậy, giải thuật lan truyền ngƣợc sai số sử dụng phƣơng pháp giảm gradient để điều chỉnh các trọng số liên kết giữa các nơ-ron. Bản chất của phƣơng pháp này là khi sai số E đƣợc vẽ nhƣ hàm của tham số gây ra sai số sẽ phải có một cực tiểu tại bộ giá trị nào đó của tham số. Khi quan sát độ dốc của đƣờng cong, chúng ta quyết định phải thay đổi tham số thế nào để có thể tiến gần đến cực tiểu cần tìm kiếm hơn. Trong hình vẽ dƣới đây, giá trị của trọng số phải giảm nếu đạo hàm dE/dW là dƣơng

Bằng biểu thức, chúng ta có thể biểu diễn phƣơng pháp giảm gradient nhƣ sau:

∆𝑤 = 𝑤(𝑛𝑒𝑤 ) − 𝑤 𝑜𝑙𝑑 = −𝜂 𝜕𝐸

𝜕𝑤 (2.13)

Trong đó 𝜂 là hằng số dƣơng xác định tốc độ giảm giá trị của w, còn dấu âm chỉ chiều giảm gradient.

Áp dụng phƣơng pháp giảm gradient đối với các trọng số liên kết giữa các nơ ron trong lớp ẩn tới các nơron của lớp ra ta có:

∆𝑤𝑖𝑞 = −𝜂 𝜕𝐸

𝜕𝑤𝑖𝑞 (2.14)

Do hàm sai số E là một hàm phức tạp và là hàm gián tiếp của trọng số 𝑤𝑖𝑞 (công thức 1.13). Sử dụng nguyên tắc tính đạo hàm của hàm gián tiếp cho 𝜕𝐸

𝜕𝑤𝑖𝑞 ta có: ∆𝑤𝑖𝑞 = −𝜂 𝜕𝐸 𝜕𝑦𝑖 𝜕𝑦𝑖 𝜕𝑛𝑒𝑡𝑖 𝜕𝑛𝑒𝑡𝑖 𝜕𝑤𝑖𝑞 = −𝜂 𝑑𝑖 − 𝑦𝑖 𝑔′ 𝑛𝑒𝑡𝑖 𝑧𝑞 ≜ −𝜂𝛿𝑜𝑖𝑧𝑞 (2.15)

Trong đó 𝛿𝑜𝑖 là tín hiệu sai số và chỉ số oi có nghĩa là nút thứ i trong trên lớp ra. Tín hiệu sai số đƣợc tính nhƣ sau:

𝛿𝑜𝑖 ≜ − 𝜕𝐸 𝜕𝑛𝑒𝑡𝑖 = − 𝜕𝐸 𝜕𝑦𝑖 𝜕𝑦𝑖 𝜕𝑛𝑒𝑡𝑖 = 𝑑𝑖 − 𝑦𝑖 𝑔′ 𝑛𝑒𝑡𝑖 (2.16)

Trong đó 𝑛𝑒𝑡𝑖 là tín hiệu vào của nơ-ron thứ i trên lớp ra và 𝑔′ 𝑛𝑒𝑡𝑖 = 𝜕𝑔 (𝑛𝑒𝑡𝑖)

𝜕𝑛𝑒𝑡 . Kết quả này tƣơng tự luật học delta áp dụng cho mạng perceptron một lớp với đầu vào bây giờ là đầu ra zq của lớp ẩn.

Để điều chỉnh trọng số của các liên kết giữa lớp vào tới lớp ẩn ta cũng sử dụng phƣơng pháp giảm gradient và lấy đạo hàm theo các biến trung gian nhƣ đã áp ở trên. Xét liên kết giữa nơ-ron thứ j ở lớp vào và nơ-ron thứ q trên lớp ra:

∆𝑣𝑞𝑖 = −𝜂 𝜕𝐸 𝜕𝑣𝑞𝑗 = −𝜂 𝜕𝐸 𝜕𝑛𝑒𝑡𝑞 𝜕𝑛𝑒𝑡𝑞 𝜕𝑣𝑞𝑗 = −𝜂 𝜕𝐸 𝜕𝑧𝑞 𝜕𝑧𝑞 𝜕𝑛𝑒𝑡𝑞 𝜕𝑛𝑒𝑡𝑞 𝜕𝑣𝑞𝑗 (2.17) ∆𝑣𝑞𝑖 = 𝜂 𝑑𝑖 − 𝑦𝑖 𝑔′ 𝑛𝑒𝑡𝑖 𝑤𝑖𝑞 𝑛 𝑖=1 𝑔′ 𝑛𝑒𝑡𝑞 𝑥𝑗 (2.18) Hay ∆𝑣𝑞𝑖 = 𝜂 𝑑𝑜𝑖𝑤𝑖𝑞 𝑛 𝑖=1 𝑔′ 𝑛𝑒𝑡𝑞 𝑥𝑗 = 𝜇𝛿𝑕𝑞𝑥𝑗 (2.19)

Trong đó 𝛿𝑕𝑞là tín hiệu lỗi (error sigmal) của nơ-ron thứ q trong lớp ẩn và đƣợc định nghĩa nhƣ sau: 𝛿𝑕𝑞 ≜ − 𝜕𝐸 𝜕𝑛𝑒𝑡𝑞 = − 𝜕𝐸 𝜕𝑧𝑞 𝜕𝑧𝑞 𝜕𝑛𝑒𝑡𝑞 = 𝑔′ 𝑛𝑒𝑡𝑞 𝛿𝑜𝑖𝑤𝑖𝑞 𝑛 𝑖=1 (2.20)

Với 𝑛𝑒𝑡𝑞 là tín hiệu vào của nơ-ron thứ q, nhƣ vậy tín hiệu lỗi của nơ-ron trên lớp ẩn khác với tín hiệu lỗi của nơ-ron trên lớp ra. Vì sự khác nhau này, thủ tục điều chỉnh trọng số đƣợc gọi là luật học delta mở rộng. Đồng thời tín hiệu lỗi 𝛿𝑕𝑞 của nơ-ron thứ q trong lớp ẩn đƣợc xác định từ các tín hiệu lỗi 𝛿𝑜𝑖 của các nơ-ron trên lớp ra.

Mạng tổng quát

Trong trƣờng hợp mạng tổng quát với số tầng tùy ý, luật lan truyền ngƣợc có dạng nhƣ sau:

𝑤𝑖𝑗 = 𝜂𝛿𝑖𝑥𝑗 = 𝜂𝛿𝑜𝑢𝑡𝑝𝑢𝑡 _𝑖𝑥𝑖𝑛𝑝𝑢 𝑡_𝑗 (2.21)

Trong đó “output_i ” là đầu ra của nơ-ron i và “ input_j ” là đầu vào của nơ- ron j. 𝛿𝑖 là tín hiệu học.

Giải thuật lan truyền ngƣợc sai số[3]

Xét một mạng nơ-ron truyền thẳng có Q lớp, q = 1, 2, …, Q, và gọi 𝑞𝑛𝑒𝑡𝑖và 𝑦𝑖

𝑞 là tín hiệu vào và ra của nơ-ron thứ i trong lớp q. Mạng này có m đầu vào và

n đầu ra. Đặt 𝑞𝑤𝑖𝑗là trọng số của liên kết từ nơ-ron thứ j(𝑞−1𝑦𝑗) trong lớp q-1

tới nơ-ron thứ i(𝑞𝑦𝑖) trong lớp q.

Đầu vào: Một tập các cặp mẫu học {(x(k)

,d(k)) | k= 1, 2, …, p } và véc tơ đầu vào đƣợc tăng thêm một thành phần vào cuối, với thành phần cuối là -1, tức là:

𝑥𝑚 +1(𝑘) = −1 (2.22)

Bƣớc 0: Khởi tạo

Chọn một hằng số bất kỳ η > 0 và Emax (lỗi lớn nhất có thể chấp nhận đƣợc). Khởi tạo ngẫu nhiên các trọng số với giá trị nhỏ. Đặt E =0 và k = 1.

Bƣớc 1:Áp dụng mẫu dữ liệu vào thứ k cho tầng nhập (q=1)

𝑦𝑖 𝑞

= 𝑦1 𝑖 = 𝑥𝑖(𝑘)với mọi i (2.23)

Bƣớc 2: Lan truyền tín hiệu từ lớp vào đến lớp ra

𝑦𝑖 𝑞

= 𝑔 𝑛𝑒𝑡𝑞 𝑖 = 𝑔 𝑤𝑞 𝑖𝑗𝑞−1𝑦𝑖 𝑗

(2.24)

Thực hiện bƣớc này với mỗi giá trị của i và q cho đến khi các đầu ra của lớp ra đã đƣợc xác định hết.

𝐸 =1 2 𝑑𝑖 (𝑘) − 𝑦𝑄 𝑖 2 𝑛 𝑖=1 + 𝐸 (2.25) 𝛿𝑖 = 𝑑𝑖(𝑘) − 𝑦𝑄 𝑖 𝑄 𝑔′ 𝑛𝑒𝑡𝑄 𝑖 (2.26)

Bƣớc 4: Thực hiện lan truyền ngƣợc sai số

Lan truyền ngƣợc sai số để điều chỉnh các trọng số và tính toán tín hiệu lỗi 𝛿𝑖 𝑞−1 cho các lớp trƣớc ∆ 𝑤𝑞 𝑖𝑗 = 𝜂𝑞𝛿𝑖𝑞−1𝑦𝑖 𝑣à 𝑤𝑞 𝑖𝑗𝑛𝑒𝑤 = 𝑤𝑞 𝑖𝑗𝑜𝑙𝑑 + ∆ 𝑤𝑞 𝑖𝑗 (2.27) 𝛿𝑖 = 𝑔′ 𝑞−1𝑛𝑒𝑡𝑖 𝑤𝑞 𝑗𝑖 𝑗 𝛿𝑖 𝑞 𝑞−1 𝑣ớ𝑖 𝑞 = 𝑄, 𝑄 − 1, … ,2 (2.28)

Bƣớc 5: Kiểm tra xem toàn bộ dữ liệu huấn luyện đã đƣợc dùng hết chƣa. Nếu k<q thì k=k+1 và quay lại bƣớc 1. Ngƣợc lại thực hiện bƣớc 6.

Bƣớc 6: Kiểm tra xem tổng lỗi có chấp nhận đƣợc hay không? Nếu E < Emax

thì kết thúc quá trình huấn luyện và đƣa ra các trọng số cuối cùng, ngƣợc lại cho E=0, k=1 và bắt đầu thời kỳ huấn luyện mới bằng cách quay về bƣớc 1.

Mỗi lần toàn bộ tập mẫu học đƣợc lan truyền qua mạng đƣợc gọi là một epoch. Số epoch phụ thuộc vào từng trƣờng hợp cụ thể và sự khởi tạo ban đầu. Có trƣờng hợp thuật toán phải sau hàng chục nghìn epoch mới hội tụ tới lời giải. Nếu tham số khởi tạo không phù hợp có thể làm cho quá trình học không đạt kết quả mong muốn.

d. Một số yếu tố ảnh hƣởng đến giải thuật lan truyền ngƣợc sai số

Khởi tạo các trọng số: Các giá trị đƣợc khởi tạo ban đầu cho các trọng số

trong mạng lan truyền ngƣợc sai số ảnh hƣởng rất lớn đến kết quả học cuối cùng của mạng. Các giá trị này thƣờng đƣợc khởi tạo ngẫu nhiên trong phạm vi giá trị tƣơng đối nhỏ.

Hằng số học η: Hằng số học η cũng là một yếu tố quan trọng ảnh hƣởng đến

hiệu quả và độ hội tụ của giải thuật lan truyền ngƣợc sai số. Không có hằng số η phù hợp cho tất cả các bài toán khác nhau. Hằng số học này thƣờng đƣợc chọn bằng thực nghiệm cho mỗi bài toán ứng dụng cụ thể bằng phƣơng pháp thử sai.

Hàm chi phí: Trong phần nghiên cứu trên hàm giá đƣợc chọn là hàm bình

phƣơng sai số. Tuy nhiên hàm này có thể đƣợc thay thế bởi hàm khác để xác định sai số và nó ảnh hƣởng trực tiếp đến sai số của lớp ra, hay ảnh hƣởng đến kết quả của giải thuật.

2.4Mô hình dự báo dựa trên hồi quy vectorhỗ trợ

Một phƣơng pháp học máy khác cũng hay đƣợc sử để dự báo biến động thị trƣờng chứng khoán là phƣơng pháp hồi quyvectorhỗ trợ (SVR - Support Vector Regression). SVR là mở rộng của phƣơng pháp máy học vector hỗ trợ (SVM – Support Vector Machine) trong việc giải quyết các vấn đề của bài toán hồi quy.

Một phần của tài liệu Ứng dụng khai phá dữ liệu trong dự báo biến động thị trường chứng khoán Việt Nam (Trang 31)

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

(59 trang)