Mô Hình Mạng Perceptron 3 Lớp (Mlp)


Giá trị ra của perceptron được tính theo quy tắc sau:


n

u xi wi b

i1

y f (u)


(2.1)

Hàm kích hoạt được sử dụng phổ biến là hàm sigmoid (còn gọi là hàm logistic) do tính phi tuyến và khả vi:

f (u)

1

1 e u

(2.2)

Ngoài ra còn có một số hàm kích hoạt khác: hàm tang hyperbolic (tanh), hàm softmax.

Khả năng tính toán của một nơron perceptron khá hạn chế. Để cải thiện người ta nối chúng thành mạng. Mô hình mạng đơn giản nhất là mạng perceptron truyền thẳng đa lớp MLP.

2.3.2. Mô hình mạng nơron MLP

Mạng nơron MLP n đầu vào, m đầu ra có mô hình như sau:

Các nơron được chia thành các lớp: lớp sau được nối với lớp trước. Lớp đầu tiên là lớp vào (input - nhận đầu vào), lớp cuối cùng là lớp ra (output - cho đầu ra). Giữa lớp vào và lớp ra là các lớp ẩn (hidden). Thông thường chỉ có một lớp ẩn.

Tất cả các nơron cùng một lớp sử dụng chung một vector đầu vào. Mỗi lớp khi nhận một vector đầu vào sẽ tính đầu ra của mỗi nơron, kết hợp thành một vector và lấy đó làm đầu vào cho lớp sau.

Mạng MLP nhận đầu vào là một vector n thành phần, lấy đó làm đầu vào của lớp input và tính toán cho đến khi lớp output có đầu ra, lấy đó là đầu ra của mạng: một vector m thành phần.

Toàn bộ các nơron của toàn mạng sử dụng chung một hàm kích hoạt, thường là hàm logistic.

Ngoài lớp vào và lớp ra, mạng MLP thường có một hay nhiều lớp ẩn. Thông thường người ta chỉ sử dụng một lớp ẩn. Vì vậy đôi khi người ta hay đồng nhất MLP với MLP 3 lớp.



input layer


hidden layer


output layer


Hình 2-3 Mô hình mạng perceptron 3 lớp(MLP)


Như vậy xét dưới góc độ toán học mạng MLP biểu diễn một hàm phi tuyến từ Rn vào Rm. Người ta cũng chứng minh được rằng: “một hàm phi tuyến liên tục bất kì có thể xấp xỉ với độ chính xác tuỳ ý bằng mạng MLP” (định lí Kolmogorov).

Mạng MLP npm (n đầu vào, m đầu ra, p nơron ẩn) được biểu diễn bằng 2 ma trận trọng số w1 cỡ np, w2 cỡ pm và 2 vector ngưỡng b1 p phần tử, b2 m phần tử. (Lớp input của MLP chỉ có tác dụng nhận đầu vào, hoàn toàn không thực hiện tính toán).

Khi đó tính toán đầu ra y của mạng theo đầu vào x như sau:

u x.w1 b1 z f (u)

v z.w 2 b2

y f (v)

Ở đây, u, v, z là các vector. Viết z=f(u) có nghĩa là zi=f(ui) với mọi i.


(2.3)

Để biểu diễn được một hàm nào đó, mạng MLP cần được huấn luyện.


2.3.3. Huấn luyện mạng nơron MLP

Để mạng nơron biểu diễn được hàm f, ta cần một bộ dữ liệu gồm N cặp vector (xi, ti), trong đó xi thuộc tập xác định của f và ti là giá trị của f tại xi:

ti = f(xi) (2.4)

Mạng MLP sẽ biểu diễn được hàm f nếu cho đầu vào của mạng là xi thì đầu ra của mạng là ti. Thường thì MLP chỉ biểu diễn được xấp xỉ hàm f, do đó ta mong muốn nếu mạng cho đầu ra thực tế là yi thì yi càng gần ti càng tốt.


Như vậy bài toán huấn luyện mạng là cho bộ dữ liệu huấn luyện gồm N cặp vector (xi, ti), cần điều chỉnh các trọng số của mạng sao cho tổng sai số của mạng trên bộ dữ liệu là nhỏ nhất:


N

E

i1

ti yi

min

(2.5)

Trong đó yi là đầu ra thực tế của mạng ứng với đầu vào xi.

Thuật toán huấn luyện MLP phổ biến nhất là thuật toán lan truyền ngược lỗi (back-propagation training). Thuật toán có đầu vào là tập mẫu {(xi, ti)}, đầu ra là bộ trọng số của mạng.

Các bước tiến hành huấn luyện như sau:

1/ Khởi tạo trọng số của mạng: wij được gán các giá trị ngẫu nhiên, nhỏ (nằm trong miền [-, ]).

2/ Với mỗi cặp (x,t) trong bộ dữ liệu huấn luyện: Giả sử x = (x1 , ..., xn). Ta thực hiện:

1. Lan truyền x qua mạng để có y.

2. Tính sai số e của mạng: e=t-y.

3. Hiệu chỉnh các trọng số liên kết nơron dẫn tới lớp ra wij từ nơron j tại lớp ẩn tới nơron i tại lớp ra:

wij = wij + wij (2.6)

wij là trọng số giữa nơron i ở lớp trước và nơron j ở lớp sau. wij được tính theo công thức sau:

wij=jyi (2.7)

là hằng số tốc độ học (learning rate), thường lấy bằng .

yi là đầu ra của nơron i (nếu i là nơron lớp input thì thay yi bằng xi).

j là sai số tại nơron j. Nếu j là nơron lớp ra (output layer) thì j được tính theo công thức

j = yj(1-yj)(tj-yj) (2.8)

Nếu j là nơron lớp ẩn thì được tính theo công thức:


j= yj(1-yj) kw jk

k

trong đó k là các các nơron của lớp sau lớp của j.

(2.9)

Việc đưa mẫu huấn luyện qua mạng, tính toán và cập nhật trọng số được tiến hành với tất cả phần tử trong bộ mẫu (có thể chọn ngẫu nhiên hoặc tuần tự). Quá trình sẽ dừng lại khi sai số trung bình (hoặc tổng sai số) nhỏ hơn một giá trị cho trước hoặc thay đổi không đáng kể (tức là quá trình huấn luyện hội tụ).


2.3.4. Ưu điểm và nhược điểm của mạng nơron

Các nghiên cứu cả về mặt lí thuyết và thực tế cho thấy mạng nơron có những ưu điểm sau:

Có thể xấp xỉ một hệ phi tuyến động (nonlinear dynamical system) với độ chính xác bất kì.

Có khả năng miễn nhiễu (robustness) và chịu sai hỏng (fault tolerance) cao. Chẳng hạn mạng có thể nhận các dữ liệu bị sai lệch hoặc không đầy đủ mà vẫn hoạt động được.

Có khả năng thích ứng: mạng nơron có thể “học” (learn) và “điều chỉnh” (adapt) trong quá trình hoạt động. Đây là điểm đáng chú ý nhất của mạng nơron trong nhận dạng tiếng nói. Đặc điểm này của mạng cho phép ta hi vọng xây dựng được một hệ nhận dạng có thể “học tập” để nâng cao khả năng nhận dạng trong khi hoạt động.

Có khả năng tổng quát hoá (generalize) tốt và phân lớp (classify) mạng.

Nhưng mạng nơron cũng không phải là công cụ vạn năng cho mọi vấn đề, vì chúng cũng có nhiều nhược điểm:

Chỉ xử lý được các dữ liệu số. Cần tích hợp thêm nhiều thành phần khác (ví dụ: các hệ mờ, các bộ số hoá...) để có thể xử lí những dữ liệu phi số.

Hiệu năng của mạng phụ thuộc bộ dữ liệu huấn luyện. Để đảm bảo hiệu năng, mạng cần được huấn luyện với lượng dữ liệu lớn. Quá trình huấn luyện do đó rất dài. Mặt khác nếu bộ dữ liệu được chuẩn bị không tốt thì mạng có khả năng tổng quát hoá thấp.

Mạng nơron gần như là một “hộp đen” đối với các phân tích. Rất khó xác định được sự phân bố thông tin và xử lý trên các phần tử của mạng.

Không có một phương pháp chung nào để xác định cấu trúc mạng phù hợp từng bài toán. Nhà nghiên cứu phải tiến hành thử nghiệm hoặc dựa vào kinh nghiệm để xác định.

Các thuật toán huấn luyện hiện chưa đảm bảo tránh quá trình huấn luyện rơi vào một cực trị địa phương. Hơn nữa sai số huấn luyện giảm không đồng nghĩa với tăng hiệu năng hoạt động của mạng.

Mạng cấu trúc lớn cài đặt bằng phần mềm trên máy tính hoạt động rất chậm.

Việc xây dựng mạng nơron bằng phần cứng vẫn còn đang được nghiên cứu.


2.4 Hệ mờ (Fuzzy System)


Trong vài thập kỷ qua, các hệ mờ đã có những thành tựu đáng kể trong nhiều lĩnh vực khác nhau của khoa học và công nghệ, đặc biệt là trong điều khiển và nhận dạng. Với khả năng lập luận hết sức hiệu quả trên một số lượng nhỏ các tập luật, có thể nói Logic mờ là một công cụ đắc lực và hiệu quả của tiến trình tạo quyết định trong


lĩnh vực tài chính. Trong phần này, chúng tôi sẽ trình bày những vấn đề cơ bản liên quan tới việc xây dựng và sử dụng hệ mờ từ đó có thể áp dụng để giải quyết bài toán của chúng tôi ở chương tiếp theo.

2.4.1 Định nghĩa tập mờ


Tập hợp nhóm các đối tượng phân biệt. Khái niệm tập hợp đã trở thành khái niệm cơ bản trong toán học. Ở đây chúng ta sẽ không nhắc lại các khái niệm cũng như tính chất của tập hợp mà sẽ đi ngay vào tập mờ.

Trong lĩnh vực tài chính, chỉ số tài chính với các giá trị ngôn ngữ thấp, cao, trung bình hay với việc mua bán chứng khoán ta có mua nhiều, bán ít, bán mạnh…Các giá trị này gây cảm giác phân vân cho người thiết kế bộ điều khiển nếu không đưa nó vào khái niệm tập mờ. Vì sao vậy? Giả sử chỉ số RSI là 70 thì có người cho rằng đó là cao và quyết định mua nhiều, nhưng có người thì cho rằng 70 chỉ là trung bình nên quyết định giữ không bán.

Nhằm thống nhất hai quan điểm, ta sẽ đưa vào giá trị RSI một số thực trong khoảng [0,1] để đánh giá mức độ phụ thuộc của nó vào hai quan điểm nói trên. Chẳng hạn, giá trị 70 sẽ là cao với độ phụ thuộc 0.4 và trung bình với độ phụ thuộc là 0.6

Một cách tổng quát thì ta phải đưa thêm vào mỗi giá trị thực tế một số thực (x) trong khoảng [0,1] để đánh giá độ phụ thuộc của nó ứng với từng giá trị ngôn ngữ. Việc đưa thêm số thực (x) để đánh giá độ phụ thuộc như vậy được gọi là mờ hoá giá trị rõ x. Ta có định nghĩa:

Định nghĩa:

Tập mờ là một tập hợp mà mỗi phần tử cơ bản x của nó được gán thêm một giá trị thực (x)[0,1] để chỉ thị độ phụ thuộc của phần tử đó vào tập đã cho. Khi độ phụ thuộc bằng 0 thì phần tử cơ bản đó sẽ hoàn toàn không thuộc tập đã cho, ngược lại với độ phụ thuộc bằng 1 thì phần tử cơ bản sẽ thuộc tập hợp với xác suất 100%.

Như vậy, tập mờ là tập của các cặp (x,(x)). Tập kinh điển U của các phần tử x được gọi là tập nền của tập mờ. Cho x chạy khắp trong tập hợp U, ta sẽ có hàm (x) có giá trị là số bất kỳ trong khoảng [0,1] tức là:

: U[0,1]

và hàm này được gọi là hàm thuộc

Việc (x) có giá trị là số bất kỳ trong khoảng [0,1] là điều khác biệt cơ bản giữa tập kinh điển và tập mờ. Ở tập hợp A, hàm thuộc (x) chỉ có hai giá trị 0 hoặc 1 ứng với x A hay không.

Chính do có sự khác biệt đó mà ta cũng có nhiều công thức khác nhau cùng mô tả cho một phép tính giữa các tập mờ. Đó là những công thức có cùng một giá trị nếu hàm thuộc (x) thoả mãn.


Bất cứ một hàm (x):U[0,1] cũng đều có thể là hàm thuộc của một tập mờ nào đó. Nhưng trong điều khiển, với mục đích sử dụng các hàm thuộc sao cho khả năng tích hợp chúng là đơn giản, người ta chỉ quan tâm tới ba dạng hàm thuộc như trong hình 2- 4


(x) (x) (x)


Singleton

x

Tam giác

x

Hình thang

x

m0 m1 m2 m3 m1 m2 m3 m4


Hình 2-4 Các dạng hàm thuộc


Thông thường, để chỉ một tập mờ người ta hay sử dụng ngay hàm thuộc (x) của tập mờ đó. Với việc đưa khái niệm tập mờ, mỗi một giá trị ngôn ngữ sẽ là một tập mờ. Trong ví dụ về chỉ số RSI, ta sẽ có các tập mờ sau:

Tập mờ cao(x) cho giá trị cao

Tập mờ trung bình(x) cho giá trị trung bình Tập mờ thấp(x) cho giá trị thấp

2.4.2 Phép suy diễn mờ


2.4.2.1 Xác định giá trị của mệnh đề hợ thành

Sau khi đã mờ hoá giá trị rõ x thông qua tập mờ (x) thì bước tiếp theo là ta phải thực hiện những nguyên tác điều khiển đã cho dưới dạng mệnh đề hợp thành. Chẳng hạn ta có:


IF

RSI

tăng

trên

70

THEN

BULLISH.

IF

RSI

giảm

dưới

70

THEN

BEARISH.

IF

RSI

tăng

trên

50

THEN

BULLISH.

IF

RSI

giảm

dưới

50

THEN

BEARISH.

IF

RSI

tăng

trên

30

THEN

BULLISH.

IF

RSI

giảm

dưới

30

THEN

BEARISH

Có thể bạn quan tâm!

Xem toàn bộ 91 trang tài liệu này.

Nghiên cứu và ứng dụng một số mô hình học máy trong việc hỗ trợ đánh giá rủi ro tài chính - 5


Chúng đều có chung một cấu trúc đơn:

IF A=X THEN B=Y (2.1)

Gọi tập mờ của giá trị A là A(x) và của B là B(y) thì mệnh đề hợp thành chính là phép suy diễn :

A B hay A(x)  B(y) (2.2)

Phép suy diễn trên là một phép tính có đối số x nên nó cũng phải có một giá trị cụ thể khi mà đối số x, tức là A(x) đã cho trước. Ký hiệu giá trị của phép suy diễn là

AB(y) thì trong logic mờ nó sẽ được tính từ A(x),B(y) như sau:

AB(y) = A(x).B(y) (2.3a)

hoặc

AB(y) = min{A(x),B(y)} (2.3b)

Cả hai công thức trên cùng được sử dụng cho tập thông thường mà không gây mâu thuẫn là vì x và y thoả mãn (x) = 1 nếu x A, cả hai công thức đều cho cùng một giá trị, nói cách khác là chúng tương đương.

Với tập mờ A(x),B(y) thì điều đó có khác đôi chút. Hai công thức sẽ cho hai giá trị mờ có cùng nền với tập mờ B nhưng với hai hàm thuộc khác nhau. Việc chọn hàm nào là người dùng quyết định :

Nếu chọn công thức 2.3a thì ta nói phép suy diễn mờ đó là luật suy diễn Prod Nếu chọn công thức 2.3b thì ta nói phép suy diễn mờ đó là luật suy diễn Min Sau khi đã chọn được một công thức thực hiện phép suy diễn là Prod hay Min

thì khi cho trước giá trị rõ x0 ở đầu vào ta luôn có được một giá trị cho phép suy diễn

AB. Giả sử giá trị đó là tập mờ có hàm thuộc AB(y) cùng nền với B và được tính như sau :

Nếu chọn luật Prod

AB(y)=H.B(y) (2.4a)

Nếu chọn luật Min

AB(y)=min{H,B(y)} (2.4b)

Trong đó H=A(x0) được gọi là độ thoả mãn đầu vào. Ngoài cấu trúc đơn còn có cấu trúc dạng :

IF A1=X1 AND A2=X2...AND An=XnTHEN B=Y (2.5)

Cấu trúc này có nhiều đầu vào- một đầu ra và có tên là MISO

Ở mệnh đề đơn chỉ có một đầu vào còn ở mệnh đề MISO có nhiều tập mờ đầu vào. Điều này làm cho ta chưa thể sử dụng ngay một trong hai công thức 2.4a hoặc 2.4b để xác định giá trị mờ AB(y) vì chưa có được một độ thoả mãn đầu vào H cụ thể. Nói cách khác, trước khi sử dụng hai công thức suy diễn 2.4a hoặc 2.4b cho mệnh


đề hợp thành 2.5 ta phải có được độ thoả mãn đầu vào H chung làm đại diện cho tất cả

m tín hiệu vào.

Gọi Ak(xk) là những hàm thuộc của tập mờ đầu vào Ak, k=1,2,…,m ứng với m tín hiệu vào là k , k=1,2,..,m B(y) là hàm thuộc của tập B ứng với đầu ra B của bộ điều khiển MISO, trong đó xk là tín hiệu có ở cổng vào k, tức là giá trị của nó sẽ thuộc tập nền của tập mờ Ak. Giả sử rằng tại đầu vào của bộ điều khiển có các giá trị rõ x0k, k=1,2,...,m. Vậy thì mỗi một tập mờ Ak sẽ có một độ thoả mãn riêng

Hk=Ak(x0k)

Độ thoả mãn đầu vào chung H cho cả mệnh đề hợp thành MISO (2.5) khi đó sẽ được xác định theo nguyên tắc tình huống xấu nhất như sau :

H=min{H1,H2,...,Hm}=min Ak(x0k)

Khi đã có độ thoả mãn đầu vào chung H thì tập mờ AB(y) của mệnh đề (2.5) ứng với vector các giá trị rõ đầu vào x0k , k=1,2,..,m sẽ được tính theo công thức (2.4a) hoặc (2.4b):

Nếu chọn luật Prod

AB(y) = min Ak(xk0).B(y) (2.6a)

Nếu chọn luật Min

AB(y)= min {min Ak(xk0), B(y)} (2.6b)

2.4.2.2 Phép tính suy diễn mờ

Ở trên ta đã làm quen với các công thức cho mệnh đề hợp thành SISO và cho mệnh đề hợp thành MISO, phục vụ cho việc xác định kết quả của mệnh đề (phép suy diễn)

Không bó buộc bởi các công thức đó, một cách tổng quá về phép tính suy diễn, mọi ánh xạ AB :[0,1]2 [0,1], nếu thoả mãn:

AB(H, B) H với mọi H, B [0,1]

AB(H, B)AC(H, C) với mọi B C và H [0,1]

AB(H1, B)AC(H2, B) với mọi H1 H2 B [0,1]

AB(H, B) = 0 với mọi B [0,1]

AB (0,1) = 0

đều có thể sử dụng để làm hàm thuộc mô tả cho phép tính suy diễn.


2.4.3 Phép hợp mờ


Ta cần phép hợp mờ của các tập mờ để có thể xác định được giá trị của một tập luật hợp thành gồm có nhiều mệnh đề hợp thành.

Xem toàn bộ nội dung bài viết ᛨ

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 15/05/2022