Mạng phản hồi

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 25)

2.2.2. Mạn Perceptron

Mỗi perceptron neuron là một đơn vị xử lý thơng tin và là thành phần cơ bản của một mạng neural. f  Mạng perceptron Đầu vào P1 P2 P3 P4 PR W1 WR b a a = f(x)= f(W.p +b) Hình 2.4: M hình một Perceptron.

Các thành phần cơ bản của một Perceptron bao gồm:

Tập các u vào bao gồm các tín hi u vào của neural, các tín hi u này thường được đưa vào dưới dạng một vector R chiều: (p1, p2, p3,.., pR, ).

Tập các liên k t: Mỗi liên kết giữa neuron và tín hi u đầu vào được thể hi n bởi một trọng số, gọi là trọng số liên kết. Th ng thường, các trọng số này được khởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình huấn luy n mạng. Tập các liên kết được kí hi u là

w w1, 2,,wR.

m tổng (Summing function): Bao gồm t ng của các tích đầu vào với trọng số liên kết tương ứng của nĩ. w p1 1 w p2 2 w pR R (2.2)

N ƣỡng b (bias) tham gia tạo thành một thành phần của hàm truyền (Transfer function), cĩ chức năng tịnh tiến đồ thị mà kh ng làm thay đ i hình dáng của đồ thị, do đĩ ta cĩ thể tùy chỉnh cho phù hợp với bài tốn.

Hàm truy n hay cịn gọi là hàm kích hoạt được dùng để giới hạn phạm vi đầu ra của mỗi neural. Nĩ nhận đầu vào là t ng của hàm t ng và ngưỡng đã cho.

1 1 2 2

(x) ( R R )

ff w pw p w pb (2.3)

Th ng thường, phạm vi đầu ra của mỗi neural được giới hạn trong đoạn [0,1] hoặc [-1, 1 . Do đĩ, hàm truyền phải thỏa mãn điều ki n f(x) là hàm đơn đi u tăng, bị chặn và khả vi. Vi c lựa chọn hàm truyền tu thuộc vào từng bài tốn và mục đích của người thiết kế mạng. Cĩ một số hàm truyền th ng dụng sau [20]:

1. Hàm đồng nhất (Linear function, Identity function)

( )

f x x (2.4)

2. Hàm ngưỡng (Threshold function hay Heaviside function):

1, khi x 0 0, khi x<0

f x (2.5)

3. Hàm sigmoid (Sigmoid function)

1 (x) 1    x f e (2.6)

4. Hàm sigmoid lưỡng cực (Bipolar sigmoid function)

2 2 (x) 1 1 x f e     (2.7)

Đ u ra là kết quả của hàm truyền.

Mạng Perceptron rất hữu ích trong vi c phân loại một tập các đầu vào thuộc vào hai lớp. Mạng Perceptron này tính t ng trọng số các đầu vào, rồi b sung thêm thành phần ngưỡng, dựa trên kết quả tính tốn của hàm truyền, trả về kết quả đầu vào đĩ n m trong lớp nào.

2.2.3. Mạn M P

Khả năng tính tốn của perceptron cịn khá hạn chế. Năm 1986, Rumelhart và McClelland đã cải tiến mạng perceptron thành mạng MLP.

Mạng MLP cĩ một hoặc nhiều lớp neuron, trong đĩ các tín hi u chỉ truyền theo một chiều từ input qua các lớp, cho đến output. Mạng MLP thuộc vào kiến trúc

feedforward nên cĩ ít nhất một lớp input, một lớp output và cĩ thể cĩ một hoặc nhiều lớp ẩn (hidden layers).

Trong cấu trúc đa lớp này, các nút đầu vào truyền th ng tin, xử lý (tính t ng trọng số, gửi tới hàm truyền) rồi đưa ra kết quả cho các neuron trong lớp ẩn đầu tiên, sau đĩ kết quả từ các lớp ẩn đầu tiên được truyền qua các lớp tiếp theo, và cứ tiếp tục

như vậy cho đến khi gặp lớp ẩn cuối cùng và đưa ra kết quả ở lớp ra. Độ phức tạp tính tốn tăng lên nhiều so với mạng perceptron.

Lớp đầu vào Lớp ẩn Lớp đầu ra

Hình 2.5: Mơ hình mạng MLP.

M hình mạng MLP t ng quát cĩ thể mơ tả như sau:

 Đầu vào là các vector ( ,x x1 2,...,xN)trong khơng gian N chiều, đầu ra là các vector (y , y ..., y )1 2, M trong khơng gian M chiều. Đối với các bài tốn phân loại, N chính là kích thước của mẫu đầu vào, M chính là số lớp cần phân loại.

 Mỗi neuron thuộc lớp sau liên kết với các neuron thuộc lớp liền trước nĩ. Liên kết giữa các lớp cĩ thể là liên kết đầy đủ (mỗi neuron thuộc lớp sau liên kết với tất cả các neuron ở lớp trước đĩ hoặc liên kết chọn lọc (mỗi neuron thuộc lớp sau chỉ liên kết với một vài neuron ở lớp trước đĩ .

 Đầu ra của lớp trước là đầu vào của neuron thuộc lớp liền sau nĩ.

Các ứng dụng mạng neural ra đời ngày càng nhiều và ngày càng hồn thi n hơn như xử lý ngơn ngữ (Language Processing), nhận dạng kí tự (Character Recognition), nhận dạng tiếng nĩi (Voice Recognition), nhận dạng mẫu (Pattern Recognition), xử lý tín hi u (Signal Processing), Lọc dữ li u Data Filtering ,

2.2.4. u n uyện mạn Neura

Mạng neural nhân tạo được cấu hình cho một bài tốn cụ thể thơng qua quá trình huấn luy n học từ các mẫu huấn luy n. Về bản chất học chính là quá trình hi u chỉnh trọng số liên kết giữa các neuron. Trong quá trình này, các trọng số của mạng sẽ hội tụ dần tới các giá trị tối ưu sao cho với mỗi vector đầu vào x từ tập huấn luy n, mạng sẽ cho ra vector đầu ra như mong muốn.

Cĩ ba phương pháp học ph biến là học cĩ giám sát (supervised learning), học khơng giám sát (unsupervised learning) và học tăng cường (Reinforcement learning).

Nhiều nghiên cứu cho thấy r ng: phương pháp học cĩ giám sát là phương pháp huấn luy n ph biến và hi u quả đối với mạng neural truyền thẳng đa lớp MLP [14]. Một số thuật tốn điển hình trong phương pháp học cĩ giám sát là: thuật tốn LMS (Least Mean Square error), thuật tốn lan truyền ngược sai số (Back Propagation ,

2.2.5. T uật tốn an truy n n ƣợc (Back Propagation)

Kiến trúc mạng ph biến nhất cho mạng neural tài chính là mạng MLP được huấn luy n b ng thuật tốn lan truyền ngược. Đây là quá trình lan truyền ngược lỗi từ lớp đầu ra về phía lớp đầu vào trong quá trình huấn luy n. Thuật tốn này là cần thiết bởi vì các lớp ẩn kh ng cĩ giá trị đích để sử dụng cho huấn luy n nên phải huấn luy n các lớp này b ng lỗi của các lớp ở phía đầu ra. Lớp đầu ra là lớp duy nhất cĩ giá trị để so sánh. Khi lỗi được lan truyền ngược lại thì các trọng số, ngưỡng được thay đ i cho đến khi lỗi ở các lớp này cịn chấp nhận được [15].

Huấn luy n mạng MLP sử dụng thuật tốn lan truyền ngược gồm hai quá trình: quá trình truyền tuyến tính và quá trình truyền ngược [14].

Trong quá trình truyền thẳng, tín hi u sẽ được lan truyền lần lượt trên từng lớp mạng theo chiều từ đầu vào tới đầu ra. Trong quá trình truyền ngược, giá trị hàm sai số sẽ được truyền ngược lại cho quá trình huấn luy n lần lượt từ lớp đầu ra cho tới lớp đầu vào để hi u chỉnh trọng số liên kết i và ngưỡng bk sao cho sai số của mạng càng nhỏ càng tốt. Sai số (Error) của mạng được đo b ng độ chênh l ch giữa giá trị dự đốn so với giá trị thực tế và được đánh giá b ng cách sử dụng giá trị sai số tuy t đối trung bình MAPE (Mean Absolute Percentage Error):

n j j j 1 j z y 1 MAPE . .100% nz    (2.8)

Hoặc giá trị sai số trung bình bình phương MSE Mean Square Error :

2 1 1 . (z ) n j j j MSE y n     (2.9)

Trong đĩ: Tập các đầu vào x = x1, x2, . . ., xn) ∈ , tập đầu ra dự đốn y = (yl, y2, . . ., ym) ∈ Y, tập đầu ra thực tế z = (z1, z2, . . ., zn) ∈ Z.

Các giá trị MSE, M PE đều được dùng để đánh giá hi u quả của m hình khai phá đã sử dụng. Tuy nhiên MSE cĩ ưu điểm hơn M PE ở một số đặc điểm sau:

- MSE phạt nặng những lỗi lớn. - MSE cĩ tính thống kê.

- MSE đưa ra giá trị tuy t đối. Trong khi M PE chỉ đưa ra được giá trị tương đối, bị lỗi t l và kh ng đối xứng, với cùng giá trị độ l ch như nhau nhưng t l % giữa chúng là khác nhau. Error Neuron j = wjxj x1 x2 xn Error Yi = g(hj) w1 w2 wn Hàm truyền

Giải thuật như sau:

Khởi tạo quá trình huấn luy n Epoch=1

Khởi tạo ngẫu nhiên giá trị trọng số liên kết và giá trị ngưỡng

Đưa tập đầu vào và tính tốn giá trị đầu ra tương ứng

Tính tốn giá trị Error

Dừng quá trình huấn luy n

Cập nhật giá trị trọng số liên kết và giá trị ngưỡng Epoch = Epoch +1

Error ≤ Errormm

Epoch ≥ Epochmax

Đúng

Đúng Sai

Sai

Hình 2.7: Giải thuật thuật tốn lan truyền ngược.

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ế

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 25)

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

(56 trang)