Thuật toán lan truyền ngược (back – propagation)

Một phần của tài liệu LUẬN VĂN: NGUYÊN CỨU VÀ XÂY DỰNG HỆ THỐNG QUẢN LÝ VÀ DỰ ĐOÁN XU THẾ GIÁ CHỨNG KHOÁN DỰA TRÊN NỀN TẢNG MÃ NGUỒN MỞ ppt (Trang 25 - 30)

Giả sử chúng ta muốn huấn luyện mạng với một tập dữ liệu huấn luyện mẫu bao gồm giá trị đầu vào là xp và giá trị đầu ra mong muốn là dp. Với mỗi đầu vào được cung cấp sẵn, đầu ra của mạng sai khác so với đầu ra mong muốn dp một lượng là (dp – yp), trong đó yp là đầu ra thực sự của mạng với đầu vào xp. Ta định nghĩa một hàm lỗi tại noron k dựa trên sựsai khác này là:

= 12( − ) (2.1)

Hàm lỗi tổng cộng Ep được xác định bằng tổng lỗi cho mẫu dữ liệu p đối với các noron đầu ra:

= 12 = 12 ( − ) (2.2) Trong đó Nolà tổng số các noron đầu ra

Chúng ta xét noron k với đầu vào là các đầu ra của các noron trong lớp trước đó. Như phần phân tích cấu trúc của một noron ởtrên ta có các biểu thức tại noron k này:

= (2.3) = . (2.4) là tín hiệu đầu ra của noron k với mẫu p.

là tín hiệu đầu vào cho noron k cũng chính là đầu ra của các noron ở lớp trước Mục đích quá trình học đối với thuật toán làn truyền ngược là điều chỉnh các tham sốtựdo sao cho hàm lỗi tổng cộng Ep đạt cực tiểu. Phương pháp tìm cực tiểu thông dụng nhất là tính đạo hàm của hàm sốvà dịch chuyển vector tham sốlại gần điểm đạo hàm triệt tiêu theo chiều ngược với vector gradient của hàm số. Ý tưởng của phương pháp này là thay đổi các trọng sốwkjmột lượng là ∆ được định nghĩa bởi công thức.

∆ = − (2.5) γ là hằng sốtỷlệvà chính là tốc độhọc của mạng Chúng ta có thểviết = . (2.6) Từ(2.4) thì: = (2.7) Đặt = − kết hợp với (2.6) và (2.7), công thức (2.5) được viết lại thành ∆ = (2.8) Việc còn lại là phải tính . Để tính được nó chúng ta thực hiện một chút biến đổi = − = − . (2.9)

Trong công thức (2.10) giá trị chính là đạo hàm của hàm truyền tại noron k Để tính được ta xét 2 trường hợp.

Trường hợp thứ nhất: noron k đang xét là noron đầu ra của mạng (k = o). Trong trường hợp này chúng ta có:

= = −( − ) (2.11) Do đó:

= = ( − ). ( ) (2.12)

Trường hợp thứ hai: noron k đang xét thuộc lớp ẩn (k = h). Trong trường hợp này chúng ta không thể biết được sự sai khác giữa đầu ra mong muốn của noron với đầu ra thực tế như trường hợp thứnhất. Tuy nhiên chúng ta có thểtính toán thông qua các noron thuộc lớp đầu ra như sau:

Coi = ( , , … … . , , … )khi đó:

= . = . = .

= − (2.13) Đo đó

= ( )

Phương trình (2.12) và (2.14) đưa ra một thủ tục đệ quy cho việc tính toán δ đối với tất cả các noron trong mạng. Sau khi tính được δ chúng ta sẽ dễ dàng tính được sự biến thiên trọng sốliên kết theo công thức (2.8).

Trên cơ sở đó thuật toán lan truyền ngược sai số đểhuấn luyện mạng MLP được mô tảchi tiết hơn như sau:

INPUT: tập mẫu học được cung cấp dưới dạng (x = (x1,x2,..,xp),y = (y1,y2,..,yq)) với số lượng mẫu là N

OUTPUT: các ma trận trọng sốw1,w2,..,wM và các vector ngưỡng tại các nơ ron ởcác lớp b1,b2,..,bM

PROCESS:

Bước 1: Khởi tạo các tham sốmạng (trọng số và ngưỡng), hệ sốhọc , sai số tối đa cho phép Emaxvà sốlần huấn luyện tối đa I.

Khởi tạo k = 1 (mẫu học thứk), i = 1 (lần huấn luyện thứi)

Bước 2: Đưa mẫu huấn luyện thứk vào mạng

Bước 3: Lan truyền xuôi tín hiệu đầu vào lần lượt qua các lớp nơ ron (từ lớp ẩn thứ nhất, qua lớp ẩn thứ hai, .., đến lớp đầu ra) để tính đầu ra tương ứng tại mỗi lớp theo công thức (2.0)

Bước 4: Tính sai số E và tín hiệu sai số ở lớp đầu ra của mạng theo công thức (2.12) và (2.13).

Bước 5: Lan truyền ngược tín hiệu sai số (từ lớp đầu ra, qua lớp ẩn cuối cùng,.., đến lớp ẩn đầu tiên) để cập nhật trọng số và ngưỡng tại các lớp nơ ron cũng như tính tín hiệu sai sốcho lớp trước nó theo các công thức (2.10)(2.11) và (2.7)

Bước 6: Nếu k<N (chưa hết sốmẫu học) thì k:=k+1 và quay lại bước 2, ngược lại chuyển tới bước 7

Bước 7: Tính sai sốtrung bình sau lần huấn luyện thứi với tập mẫu gồm N mẫu E = (  N k k E 1 ) /N

Nếu E<Emaxhoặc i>I thì trả về các ma trận trọng số và các vector ngưỡng và kết thúc quá trình huấn luyện. Ngược lại gán i:=i+1 rồi lặp lại các bước từ2 tới 7 (adsbygoogle = window.adsbygoogle || []).push({});

Như vậy tôi đã trình bày vềmạng noron cũng như thuật toán lan truyền ngược. Đó là những cơ sở lý thuyết để tôi tiến hành đi vào xây dựng mô hình chương trình của tôi sau này.

Chương 4. MẠNG NORON CHO QUÁ TRÌNH D ĐOÁN

Một phần của tài liệu LUẬN VĂN: NGUYÊN CỨU VÀ XÂY DỰNG HỆ THỐNG QUẢN LÝ VÀ DỰ ĐOÁN XU THẾ GIÁ CHỨNG KHOÁN DỰA TRÊN NỀN TẢNG MÃ NGUỒN MỞ ppt (Trang 25 - 30)