Giải thuật thuật tốn lan truyền ngược

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu khai phá dữ liệu và ứng dụng phân tích xu thế thị trường chứng khoán (Trang 29)

Trong đĩ: Số lượng “Epoch” xác định số lần mơ hình mạng neural được huấn luy n (hay số lần đưa tất cả các dữ li u trong tập huấn luy n vào huấn luy n mơ hình).

Những h hăn và hạn chế của thuật tốn lan truyền ngược:

 Khĩ khăn:

- ề lý thuyết, khi tăng số lớp ẩn thì độ chính xác của m hình tăng. Tuy nhiên càng cĩ nhiều lớp ẩn thì chi phí để huấn luy n m hình thời gian, CPU) lại càng nhiều.

- Tốc độ học (learning rate) là một trong những th ng số phản ánh khả năng tiếp thu cái mới của mạng neural. Điều chỉnh tham số tốc độ học làm ảnh hưởng rất lớn đến thời gian huấn luy n cũng như hi u quả của m hình. Do đĩ vi c lựa chọn giá trị tốc độ học thường khá phức tạp và giá trị này thường được chọn b ng thực nghi m.

- ấn đề quá khớp “overfitting” xảy ra khi mạng được luy n quá khớp với dữ li u huấn luy n kể cả nhiễu , nên nĩ sẽ trả lời chính xác những gì đã được học, cịn những gì kh ng được học thì nĩ kh ng trả lời được. Do đĩ, mạng kh ng cĩ khả năng t ng quát hĩa.

 Hạn chế:

- Mạng li t network paralysis): xảy ra khi những trọng số được điều chỉnh tới những giá trị rất lớn khiến cho hàm t ng đạt giá trị cao và qua hàm truyền sigmoid kết quả gần 0 hoặc rất gần 1. Theo nghiên cứu của Barnard và Wessels,

năm 1992, [4] thì vi c khởi tạo các trọng số liên kết wi nên trong phạm vi i i 3 3 , k k      

 với ki là số liên kết của neuron i.

- Cực trị địa phương Local Minima) [4]: Trong quá trình huấn luy n, mạng cĩ thể bị mắc bẫy tại một cực trị địa phương khi cĩ nhiều cực tiểu thấp hơn gần bên cạnh. Để tránh tình trạng này, thuật tốn lan truyền ngược được cải tiến b ng cách b sung thêm h ng số “momentum”. Khi đĩ, thuật tốn tăng tốc để thốt khỏi cực trị địa phương với mục tiêu tìm được cực trị tồn cục.

2.3. P ƣơn p áp ensemb e.

2.3.1. Giới t iệu p ƣơn p áp ensemb e

Các phương pháp ensemble cĩ thể được dùng để gia tăng độ chính xác trong phân lớp [13][12]. Một ensemble cho phân lớp là một m hình kết hợp nhiều m hình phân lớp thành phần khác nhau. Trong đĩ mỗi m hình phân lớp thành phần cĩ thể là: cây quyết định, naives bayes, mạng neural,... Kết quả phân lớp được dự đốn dựa trên vi c t ng hợp kết quả phân lớp của các m hình thành phần [22 [25].

Các m hình học máy truyền thống giả định r ng các lớp dữ li u cĩ phân lớp tốt. Nhưng trong thực tế, dữ li u thường kh ng cân b ng giữa các lớp (class imbalance problem) [16]. B ng vi c sử dụng nhiều m hình khác nhau, các phương pháp ensemble hướng tới giải quyết vấn đề kh ng cân b ng này và cho độ chính xác cao hơn các m hình phân lớp thành phần khi cĩ sự đa dạng đáng kể giữa các m hình.

Một ensemble kết hợp một chuỗi k m hình phân lớp đã học M1, M2, , Mk để tạo m hình M*cĩ độ chính xác cao hơn. Tập dữ li u D đã cho được dùng để tạo k tập huấn luy n D1, D2, , Dk. Mỗi tập Di được dùng để tạo m hình phân lớp Mi. Mỗi phần tử của tập dữ li u đầu vào mới được đưa vào từng m hình Mi. Tùy theo các kỹ thuật khác nhau mà k kết quả đơn phiếu pi được t hợp thành kết quả phân lớp cuối [5]. Cĩ 2 kỹ thuật:

Bagging: T hợp phiếu dựa trên đa số, tức là chọn lớp được bỏ phiếu nhiều nhất.

Boosting: T hợp phiếu dựa trên t ng cĩ trọng số từ các kết quả đơn trọng số được xác định từ lỗi của từng m hình phân lớp trong quá trình huấn luy n).

t quả dự ốn Tổ ợp p i u Mạn neura M1 Mạn neura M2 Mạn neura M3 Mạn neura Mk ữ iệu mới Sử dụng m hình D1 D2 D3 D k Mạn neura M1 Mạn neura M2 Mạn neura M3 Mạn neura Mk ữ iệu D Huấn luy n m hình Hình 2.8: Phương pháp Ensemble.

2.3.2. ỹ t uật Bagging

Kỹ thuật bagging [18] cĩ thể được sử dụng với mục đích giảm thiểu lỗi trong quá trình phân lớp. Ý tưởng của kỹ thuật bagging là tạo ra nhiều mẫu ngẫu nhiên các mẫu bootstrap từ một số mẫu ban đầu. Các mẫu này được sử dụng để huấn luy n các m hình phân lớp khác nhau. Sau đĩ phân lớp của mẫu mới được xác định từ kết quả của các m hình phân lớp này th ng qua bỏ phiếu đa số. Kích thước của các mẫu bootstrap này cĩ thể khác nhau [10].

Thuật tốn Bagging:

Input: Chuỗi k m hình phân lớp m hình phân lớp cĩ thể là cây quyết định, Nạve Bayes, mạng Neural, và tập dữ li u huấn luy n D.

Output: Bộ phân lớp kết hợp bagging M*. Phương pháp:

(1) for i 1 tạo m h nh ph n lớp

(2) ạo thành á mẫu ootstr p i ngẫu nhi n th y thế t tập . (3) ử dụng Di tạo m h nh ph n lớp Mi.

(4) endfor.

Sử dụng bộ phân lớp bagging M* như sau: Tập dữ li u mới được đưa qua các m hình phân lớp Mi, kết quả phân lớp được coi là một phiếu. Bộ phân lớp bagging M* đếm số phiếu và gán kết quả phân lớp của mỗi phần tử thuộc th ng qua bỏ phiếu đa số.

Phân lớp b ng bagging cho kết quả cĩ độ chính xác cao hơn hẳn so với các m hình phân lớp thành phần Mi. M hình này ít bị ảnh hưởng hơn với trường hợp cĩ nhiều dữ li u nhiễu và quá khớp.

Kỹ thuật bagging cĩ thể dự đốn định lượng giá trị đầu ra b ng cách lấy giá trị trung bình cộng của tập các giá trị dự đốn.

2.3.3. ỹ t uật Boosting

Boosting là một kỹ thuật tương tự như Bagging nhưng cĩ thêm trọng số trong quá trình học và bỏ phiếu [9 .

Sau khi bộ phân lớp Mi được học, các trọng số của từng bộ số trong dữ li u học sẽ được cập nhật lại để bộ phân lớp Mi+1 phân loại tốt hơn các bộ số mà Mi phân loại sai. Trong quá trình bỏ phiếu cuối cùng, phiếu của mỗi bộ phân lớp được gán một trọng số dựa trên độ chính xác của nĩ.

Một phương pháp gán trọng số th ng dụng là phương pháp daBoost daptive Boosting . ới tập dữ li u D gồm d bộ dữ li u được gán nhãn (X1,Y1),

(X2,Y2), (X3,Y4 , , d,Yd). Ban đầu phương pháp daBoost gán trọng số vj b ng 1/d cho từng bộ dữ li u học. k bộ phân lớp được tạo ra sau k lần lặp. Trong lần lặp thứ i các bộ dữ li u được lấy mẫu từ D để tạo tập huấn luy n Di cĩ kích thước d. i c lấy mẫu này cĩ thay thế – một bộ dữ li u cĩ thể được chọn nhiều lần. Khả năng một bộ dữ li u được chọn dựa trên trọng số của nĩ. Tập Di được dùng để huấn luy n bộ phân lớp Mi. Nếu một bộ dữ li u bị Mi phân loại sai thì trọng số của nĩ được tăng lên hoặc giảm đi nếu phân loại đúng. Các trọng số này được dùng trong quá trình tạo tập dữ li u huấn luy n trong lần lặp tiếp theo.

T l lỗi của bộ phân lớp Mi như sau:

d i j j j 1 error( M ) v .err ( X )   (2.10)

Trong đĩ err(Xj = 0 nếu j được phân lớp đúng và err(Xj = 1 nếu j bị phân lớp sai. Nếu bộ phân lớp Mi cĩ t l lỗi lớn hơn 0.5 thì tập huấn luy n Di được thay thế b ng một tập mới để huấn luy n lại Mi.

T l lỗi của Mi ảnh hưởng tới phương thức mà trọng số của tập huấn luy n được cập nhật. Nếu một bộ dữ li u trong lần lặp thứ i được phân loại chính xác, trọng số của nĩ được nhân với i

i error( M )

1 error( M ) . Sau khi cập nhật xong trọng số các bộ dữ li u được phân loại đúng, trọng số của tất cả các bộ dữ li u được chuẩn hĩa để t ng của chúng được giữ nguyên.

Khi bỏ phiếu, trọng số của một bộ phân lớp gi cĩ biểu thức i i 1 error( M ) log error( M )  . Cho mỗi lớp c, t ng của tất cả các bộ phân lớp cho kết quả là lớp c được so sánh với t ng này của các lớp khác. Lớp nào cĩ t ng lớn nhất là kết quả cuối cùng.

Thuật tốn daBoost như sau:

Input: Tập dữ li u huấn luy n đã gán nhãn D với d bộ dữ li u, số vịng lặp k (một bộ phân lớp được tạo trong 1 vịng) và m hình phân lớp m hình phân lớp cĩ thể là cây quyết định, Na ve Bayes hoặc mạng Neural .

Output: Bộ phân lớp kết hợp. Phương pháp:

(1) h i tạo trọng s 1 d ho t ng ộ dữ liệu trong D. (2) for i =1: k

(3) ấy mẫu t th y thế dự theo trọng s để tạo i. (4) ử dụng tập Di mới huấn luyện ộ ph n lớp i. (5) nh t lệ l i ủ Mi (error(Mi theo ng thứ 2.10.

(6) if (error(Mi) >0.5)

(7) hự hiện lại ướ 3. (8) endIf.

(9) for với m i ộ dữ liệu trong Di đượ ph n loại đ ng. (10) Nh n trọng s ủ m i ộ dữ liệu với i i error( M ) 1 error( M )// ập nhật trọng s (11) hu n h trọng s ho m i ộ dữ liệu. (12) Endfor.

Sử dụng bộ phân lớp daBoosting cho tập dữ li u mới X như sau:

(1) h i tạo trọng s ho m i lớp là 0. (2) for i 1 với m i ộ ph n lớp. (3) i i i 1 error( M ) g log error( M )   trọng s ủ phiếu ủ m i ộ ph n lớp. (4) c = Mi ộ ph n lớp Miđư r dự đốn ho . (5) ộnggi ho trọng s ủ lớp . (6) endfor (7) rả về lớp trọng s lớn nhất.

Do phương pháp boosting chú trọng đến các bộ dữ li u bị phân loại sai, dễ dẫn đến tình trạng quá khớp overfitting của m hình t ng hợp với bộ dữ li u ban đầu. Do đĩ, m hình boosting tạo ra cĩ thể k m chính xác hơn m hình khác với cùng một tập dữ li u. Bagging ít bị overfitting. Khi mà cả 2 phương pháp đều cho độ chính xác tốt hơn từng bộ phân lớp thành phần thì Boosting đạt được độ chính xác cao hơn [5 .

2.4. t uận

Trong chương 2 luận văn đã trình bày được một số khái ni m cơ bản và những kiến thức cĩ liên quan về khai phá tri thức và khai phá dữ li u, mơ hình mạng neural và phương pháp ensemble gia tăng độ chính xác cho mạng neural. Từ đĩ làm cơ sở lý thuyết thực nghi m ở chương sau.

ƣơn 3: P ƢƠNG P P G Ả QUY T T Ự NG ỆM V Đ N G O TO N Ự O T TRƢỜNG NG O N 3.1. y dựn b i tốn dự báo t trƣờn c n ốn 3.1.1. M tả b i tốn 3.1.1.1. h hả thi của b i t .

Dự báo là một nhu cầu khơng thể thiếu cho những hoạt động của con người trong bối cảnh bùng n thơng tin. Dự báo sẽ cung cấp những cơ sở cần thiết cho các hoạch định, và cĩ thể nĩi r ng nếu khơng cĩ khoa học dự báo thì những định hướng tương lai của con người vạch ra sẽ khơng cĩ sự thuyết phục.

Bài tốn phân tích xu thế thị trường chứng khốn chính là thực hi n dự báo xu hướng giá cả c phiếu trong tương lai dựa vào thơng tin thu thập được trong quá khứ và hi n tại. Đã cĩ nhiều nhĩm nghiên cứu về bài tốn này, đưa ra những mơ hình dự đốn khác nhau và đạt được nhiều kết quả khả quan, ví dụ như nghiên cứu của Kuo- Cheng Tseng trong dự báo thị trường chứng khốn "Time series and neural network forecast of daily stock prices” [24].

3.1.1.2. C g cụ h trợ giải u ết b i t .

MATLAB là một m i trường tính tốn số và lập trình, được thiết kế bởi cơng ty MathWorks, cơng cụ này hỗ trợ đắc lực cho những người nghiên cứu chuyên sâu về các m hình tốn học phức tạp. Matlab xây dựng toolbox hỗ trợ vi c thống kê và học máy “Neural Network Toolbox” [8][21]. Do đĩ, tơi sử dụng m i trường này để cài đặt lập trình những thử nghi m của t i.

3.1.2. Quy tr n iải quy t b i tốn.

Tơi áp dụng các kiến thức đã nghiên cứu ở trên để tiến hành dự đốn thị trường chứng khốn theo m hình truyền thống - mơ hình ARIMA và mơ hình khai khá dữ li u - mạng neural. Mơ hình (ARIMA, Neural) t quả dự ốn t trƣờn c n ốn ữ iệu

Hình 3.1: Quy trình giải quyết bài tốn.

Vi c dự báo thị trường chứng khốn bao gồm dự đốn định tính cho biết xu hướng của thị trường tăng hay giảm) và dự báo định lượng (dự đốn giá trị c phiếu là bao nhiêu). Các kết quả đạt được sẽ làm cơ sở cho những chiến lược đầu tư c phiếu phù hợp. Hình vẽ 3.2 thể hi n khả năng ứng dụng mạng Neural trong giải quyết bài tốn này.

Hình 3.2: M hình mạng Neural trong giải quyết bài tốn dự báo chứng khốn.

3.1.2.1. hu th d i u.

Dữ li u được sử dụng trong bài tốn dự báo này là giá c phiếu MSFT của cơng ty Microsoft Corporation được thu thập từ 13/03/1986 đến 15/07/2015 niêm yết trên sàn NASDAQ từ trang http://finance.yahoo.com .

Dữ li u giá c phiếu tải về cĩ dạng:

Date Open High Low Close Volume

1-Jun-15 47.06 47.77 46.62 47.23 28,837,300 2-Jun-15 46.93 47.35 46.62 46.92 21,498,300 3-Jun-15 47.37 47.74 46.82 46.85 28,002,200 4-Jun-15 46.79 47.16 46.20 46.36 27,745,500 5-Jun-15 46.31 46.52 45.84 46.14 25,438,100 Bảng 3.1: Dữ li u c phiếu MSFT. Trong đĩ:

Date: là trường chỉ ngày giao dịch.

Open: là giá c phiếu tại thời điểm mở cửa trong ngày. High: là giá c phiếu cao nhất trong ngày.

Low: là giá cố phiếu thấp nhất trong ngày.

Close: là giá c phiếu được niêm yết tại thời điểm đĩng cửa trong ngày. Volume: là khối lượng giao dịch c phiếu trong ngày.

3.1.2.2. i d i u.

Trong khai phá dữ li u, quá trình tiền xử lý dữ li u là rất quan trọng. Quá trình tiền xử lý dữ li u giúp cho vi c chuẩn hĩa dữ li u trước khi đưa vào sử dụng. Vi c chuẩn hĩa dữ li u nh m loại bỏ tính khơng minh bạch của thị trường chứng khốn.

3.1.2.3. chức d i u.

Sau khi tiền xử lý dữ li u, tơi chia dữ li u thành ba tập: tập huấn luy n training set , tập kiểm chứng validation set) và tập kiểm tra (test set).

Tập huấn luy n là tập lớn nhất được mơ hình sử dụng để học các mẫu trong tập dữ li u. Tập huấn luy n chiếm khoảng 70% dữ li u.

Tập kiểm chứng được sử dụng để tối ưu bộ tham số trong mơ hình huấn luy n được sử dụng. Tập kiểm chứng chiếm khoảng 15% của tập dữ li u.

Tập kiểm tra cĩ kích cỡ chiếm khoảng 15% của tập dữ li u, nĩ được dùng để đánh giá khả năng khái quát hố của mơ hình huấn luy n.

3.1.2.3.1. ộ dữ liệu hứng hốn.

a. Trong phân tích định tính.

 Bộ dữ li u chứng khốn gồm 7385x5 bản ghi. Trong đĩ các cột tương ứng với số li u của giá đĩng cửa ngày i, i-1, i-2, i-3, i-4.

 Nhãn của hàng i được cho trong hàm 3.1 close(i) là giá đĩng cửa của ngày i, close i+s là giá đĩng cửa của ngày (i+s), với i 1.

close (i+s) > close (i) close (i+s) = close (i) -1 clo 1 sign(i) 0 se (i+s) < close (i )       (3.1) sign(i) = 1: sau s ngày, giá đĩng cửa của ngày i cĩ xu hướng tăng giá.

sign(i) = 0: sau s ngày giá đĩng cửa của ngày i cĩ xu hướng kh ng đ i. Tương tự sign(i) = -1, s ngày sau giá đĩng cửa ngày i cĩ xu hướng giảm giá.

 Tập huấn luy n cĩ 5169 mẫu, tập kiểm chứng cĩ 1108 mẫu, tập kiểm tra cĩ 1108 mẫu.

b. Trong phân tích định lượng.

 ẫn sử dụng bộ dữ li u trong mục 3.1.2.3.1.a nhưng nhãn của hàng i chính là

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu khai phá dữ liệu và ứng dụng phân tích xu thế thị trường chứng khoán (Trang 29)

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

(56 trang)