1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn Máy học và ứng dụng TÌM HIỂU MÔ HÌNH HỆ THỐNG MẠNG NEURAL LAN TRUYỀN NGƯỢC –BACKPROPAGATION NEURAL NETWORK VÀ THUẬT TOÁN RESILIENT PROPAGATION ỨNG DỤNG TRONG DỰ BÁO CÁC CHỈ SỐ CHỨNG KHOÁN

43 774 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 43
Dung lượng 711,26 KB

Nội dung

Đại Học Quốc Gia TP.HCMTrường Đại Học Công Nghệ Thông Tin BÀI THU HOẠCH MÔN MÁY HỌC VÀ ỨNG DỤNG ĐỀ TÀI: TÌM HIỂU MÔ HÌNH HỆ THỐNG MẠNG NEURAL LAN TRUYỀN NGƯỢC – BACKPROPAGATION NEURAL NE

Trang 1

Đại Học Quốc Gia TP.HCM

Trường Đại Học Công Nghệ Thông Tin

BÀI THU HOẠCH MÔN MÁY HỌC VÀ ỨNG DỤNG

ĐỀ TÀI:

TÌM HIỂU MÔ HÌNH HỆ THỐNG MẠNG NEURAL LAN TRUYỀN NGƯỢC – BACKPROPAGATION NEURAL NETWORK VÀ THUẬT TOÁN RESILIENT PROPAGATION ỨNG DỤNG TRONG DỰ BÁO

CÁC CHỈ SỐ CHỨNG KHOÁN S&P500, DOW, NASDAQ

COMPOSITE VÀ LÃI SUẤT PRIME LENDING RATE

GVHD: PGS.TS Vũ Thanh Nguyên

Người thực hiện: Phạm Xuân Dũng

Trang 2

Mục lục

Giới thiệu đề tài 2

Phần 1: Cơ sở lý thuyết mạng neural 2

1.1 Mạng Neural sinh học - 2

1.2 Đặc điểm của mạng Neuralnhân tạo -4

1.3 Mô hình và kiến trúc mạng - 4

1.4 Cấu tạo và phương thức làm việc của mạng Neural -8

1.5 Các luật học (Learning rules) - 16

Phần 2: Phần ứng dụng minh họa sử dụng mạng Neural 19

2.1 Dẫn nhập: 19

2.2 Thuật toán lan truyền ngược – Backpropagation 20

2.3 Thuật toán The Resilient Propagation (Rprop) 22

2.4 Giới thiệu các chỉ số chứng khoán trên thị trường Mỹ 23

2.4.1 Chỉ số S&P 500: - 23

2.4.2 Chỉ số Dow Jones Industrial Average, viết tắt DJIA: -25

2.4.3 Chỉ số tổng hợp Nasdaq: - 26

2.5 Thiết kế ứng dụng: 27

2.5.1 Mô hình thiết kế: - 27

2.5.2 Một số kết quả đạt được: -32

3 Đánh giá và kết luận: 33

3.1 Những kết quả đạt được: 33

3.2 Những hạn chế và hướng phát triển: 34

4 Phụ lục: 34

Một số đoạn code chính của chương trình 34

4.1 Hàn tạo mạng Neural. - 34

4.2 Hàm chuẩn hóa dữ liệu đầu vào -35

Trang 3

4.3 Hàm dự doán - 35

Hướng dẫn sử dụng chương trình: -38

5 Tài liệu tham khảo 40

5.1 Tài liệu tham khảo tiếng Việt: 40

5.2 Tài liệu tham khảo tiếng Anh: 40

Giới thiệu đề tài

Trong quá trình học môn máy học và ứng dụng, thông qua các bài giảng trên lớp, em thấy rằng mô hình mạng Neural là một mô hình rất hay và có nhiều ứng dụng thực tiễn trong nhiều lĩnh vực kinh tế và khoa học kỹ thuật Bản thân em có đam mê về lĩnh vực ứng dụng mô hình mạng Neuraltrong lĩnh vực kinh tế, tài chính Vì vậy em chọn đề tài sử dụng mạng Neuralđể dự báo một số chỉ số chứng khoán trong thị trường Mỹ, chương trình minh họa sẽ dựa vào dữ liệu lịch

sử của các chỉ số chứng khoán hàng đầu thế giới như S&P500, DOW, NASDAQ

Composite vàlãi suấtPrime Lending Rate để huấn luyện mạng, sau đó sẽ dùng

mạng đã huấn luyện để dự đoán các giá trị tương lai và dùng biểu đồ để so sánh

dữ liệu dự đoán từ mạng với dữ liệu thực sự

Phần nội dung cơ sơ lý thuyết về mạng neural, em có tham khảo để kế thừa và phát triển từ [1]

Phần cài đặt chương trình minh họa ứng dụng mạng Neural, em sử dụng thư

viện mã nguôn mở encog-dotnet-core-3.1.0để xây dựng ứng dụng dự báo các

chỉ số chứng khoán hàng đầu thế giới như S&P500, DOW, NASDAQ

Composite và lãi suất Prime Lending Rate.

Phần 1: Cơ sở lý thuyết mạng neural

1.1 Mạng Neural sinh học

(1911),ôngchorằnghệthầnkinhcấutạotừcácNeural.Bộnãoxửlýchậmhơn(10-3s)sovới cácthiếtbịvậtlý(10-9)tuynhiêntốnítnănglượnghơnvàthựchiệnđược

Trang 4

nhiềuchứcnănghơn.Conngườicókhoảng1011Neural,1015khớpkếtnối.Cáckhớpkhimớisinhítkếtnốivớinhau,chúngđượckếtnốinhờquátrìnhhọc.

Trang 5

Trụccảmứng(Axon)đưatínhiệuravàtruyềntớicácNeuralkhácquacác khớpkếtnối

1.2 Đặc điểm của mạng Neuralnhân tạo

Mặc dù hiểu biết của con người về kiến trúc và hoạt động của não còn chưa đầy

đủ, người ta tạo ra được các máy có một số tính năng tương tự não nhờ môphỏng các đặc điểm:

Tri thức thu nhận được nhờ quá trình học

Tính năng có được nhờ kiến trúc mạng và tính chât kết nối

Các máy loại mô phỏng này có tên chung là mạng Neural nhân tạo hay gọn hơnmạng Neural (còn có tên gọi là máy thần kinh) và viết tắt là ANN hoặc gọn hơn là

NN Trong ứng dụng chúng thường được tích hợp với các hệ khác

Đặc điểm chính của ANN

Phi tuyến Cho phép xử lý phi tuyến:

Cơ chế ánh xạ vào → ra (x → d(x)) cho phép học có giám sát

Cơ chế thích nghi Thay đổi tham số phù hợp với môi trường

Đáp ứng theo mẫu đào tạo Được thiết kế không nhữngcung cấp thông tin vềmẫu đào tạo mà còn cho biết mức tin cậy của nó

Thông tin theo ngữ cảnh.Tri thức được biểu diễn tuỳ theo trạng thái và kiến trúccủa ANN

Cho phép có lỗi (fault tolerance)

VLSI (very large scale Integrated)

Trang 6

Mô hình Neural

Mô hình toán học của mạng Neural sinh học được đề xuất bởi McCulloch vàPitts, thường được gọi là Neural M-P, ngoài ra nó còn được gọi là phần tử xử lý

và được ký hiệu là PE (Processing Element)

Mô hình Neural có m đầu vào x1, x2, , xm, và một đầu ra yi như sau:

Mô hình mạng Neuron nhân tạo

Bộ tổng (Hàm tổng): Thường dùng để tính tổng của tích các đầu vào với trọng sốliên kết của nó

Ngưỡng: Ngưỡng này thường được đưa vào như một thành phần của hàmtruyền

Hàm truyền: Hàm này dùng để giới hạn phạm vi đầu ra của mỗi Neural Nó nhậnđầu vào là kết quả của hàm tổng và ngưỡng đã cho 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] Các hàm

Trang 7

truyền rất đa dạng, có thể là các hàm tuyến tính hoặc phi tuyến Việc lựa chọnhàm truyền tùy thuộc vào từng bài toán và kinh nghiệm của người thiết kế mạng.Đầu ra: Là tín hiệu đầu ra của một Neural, với mỗi Neural sẽ có tối đa một đầu ra

Neural có đầu vào đơn

Hình bên dưới môtảNeural cóđầuvàođơn,cóhoạtđộng nhưsau Mộttínhiệuvàopđượcnhânvớitrọngsốwthànhwpvàmộttínhiệukhácbằng1nhânvớigiátrị khuynh

hiệuraa.Trong đótrọngsốwtươngứngvớiđộliênkếtcủakhớpkếtnối(Synapse), hàmtổngvàhàmchuyển môphỏng thântếbàocòntínhiệuramôphỏngtínhiệuở Axon

Trang 8

y=sgn( x)= { −1 khi x<0 1 khi x≥0 (1.7)

Hàm ngưỡng hai cực

y= 21+eλxx−1

Trang 9

1.4 Cấu tạo và phương thức làm việc của mạng Neural

Dựa trên những phương pháp xây dựng Neural đã trình bày ở mục trên, ta cóthể hình dung mạng Neural như là một hệ truyền đạt và xử lý tín hiệu Đặc tínhtruyền đạt của Neural phần lớn là đặc tính truyền đạt tĩnh

Khi liên kết các đầu vào/ra của nhiều Neural với nhau, ta thu được một mạngNeural, việc ghép nối các Neural trong mạng với nhau có thể là theo một nguyêntắc bất kỳ Vì mạng Neural là một hệ truyền đạt và xử lý tín hiệu, nên có thể phânbiệt các loại Neural khác nhau, các Neural có đầu vào nhận thông tin từ môitrường bên ngoài khác với các Neural có đầu vào được nối với các Neural kháctrong mạng, chúng được phân biệt với nhau qua vector hàm trọng số ở đầu vào

w Nguyên lý cấu tạo của mạng Neural bao gồm nhiều lớp, mỗi lớp bao gồmnhiều Neural có cùng chức năng trong mạng

Trang 10

Mạng Neural được xây dựng như trên là mạng gồm 3 lớp mắc nối tiếp nhau đi từđầu vào đến đầu ra Trong mạng không tồn tại bất kỳ một mạch hồi tiếp nào Mộtmạng Neural có cấu trúc như vậy gọi là mạng một hướng hay mạng truyền thẳngmột hướng (Feed forward network), và có cấu trúc mạng ghép nối hoàn toàn (vìbất cứ một Neural nào trong mạng cũng được nối với một hoặc vài Neural khác).Mạng Neural bao gồm một hay nhiều lớp trung gian được gọi là mạng MultilayerPerceptrons) (MLP-Network).

Mạng Neural khi mới được hình thành thì chưa có tri thức, tri thức của mạng sẽđược hình thành dần dần sau một quá trình học Mạng Neural được học bằngcách đưa vào những kích thích, và mạng hình thành những đáp ứng tương ứng,những đáp ứng tương ứng phù hợp với từng loại kích thích sẽ được lưu trữ Giaiđoạn này được gọi là giai đoạn học của mạng Khi đã hình thành tri thức mạng,mạng có thể giải quyết các vấn đề một cách đúng đắn Đó có thể là vấn đề ứngdụng rất khác nhau, được giải quyết chủ yếu dựa trên sự tổ chức hợp nhất giữacác thông tin đầu vào của mạng và các đáp ứng đầu ra

Nếu nhiệm vụ của một mạng là hoàn chỉnh hoặc hiệu chỉnh các thông tin thuđược không đầy đủ hoặc bị tác động của nhiễu Mạng Neural kiểu này được ứngdụng trong lĩnh vực hoàn thiện mẫu, trong đó có một ứng dụng cụ thể là nhậndạng chữ viết

Nhiệm vụ tổng quát của một mạng Neural là lưu giữ động các thông tin Dạngthông tin lưu giữ này chính là quan hệ giữa các thông tin đầu vào và các đápứng đầu ra tương ứng, để khi có một kích thích bất kỳ tác động vào mạng, mạng

có khả năng suy diễn và đưa ra một đáp ứng phù hợp Đây chính là chức năngnhận dạng theo mẫu của mạng Neural Để thực hiện chức năng này, mạngNeural đóng vai trò như một bộ phận tổ chức các nhóm thông tin đầu vào, vàtương ứng với mỗi nhóm là một đáp ứng đầu ra phù hợp Như vậy, một nhóm

Trang 11

bao gồm một loại thông tin đầu vào và một đáp ứng đầu ra Các nhóm có thểđược hình thành trong quá trình học, và cũng có thể không hình thành trong quátrình học.

Trang 12

Mạng 1 tầng Neural

Mạng một tầng của S ký hiệu W là ma trận trọng số, p là vectơ tín hiệu vạo và b

là vectơ khuynh hướng

Môhìnhmạngbatầngtruyềntới

Tacó: ailàđầuracủatầngi

Trang 14

rađượcnốivớitínhiệuvàocủanó(cómốiliênhệngược) Mạng hồiquy thườngcónhiềukhảnănghơn mạngtruyềntới.

Trang 15

Cấu trúc mạng Hopfield

giá trị ngưỡng θj (j = 1,2, n) Một điều quan trọng cần nói ở đây là mỗi nút

không có đường phản hồi về chính nó Nút đầu ra thứ j được nối tới mỗi đầu vàocủa nút khác qua trọng số wij, với i ¿ j, (i = 1,2, ,n), hay nói cách khác wii = 0,(với i = 1,2, ,n)

Một điều quan trọng nữa là trọng số của mạng Hopfield là đối xứng, tức là wij =wji, (với i,j = 1,2, ,n) Khi đó, luật cập nhật cho mỗi nút mạng là như sau:

¿ j≠i ¿ ¿ ¿

n ¿ ¿ , ¿

i = 1,2, ,nLuật cập nhật trên được tính toán trong cách thức không đồng bộ Điều này cónghĩa là, với một thời gian cho trước, chỉ có một nút mạng cập nhật được đầu racủa nó Sự cập nhật tiếp theo trên một nút sẽ sử dụng chính những đầu ra đãđược cập nhật Nói cách khác, dưới hình thức hoạt động không đồng bộ củamạng, mỗi đầu ra được cập nhật độc lập

Có sự khác biệt giữa luật cập nhật đồng bộ và luật cập nhật không đồng bộ Vớiluật cập nhật không đồng bộ thì sẽ chỉ có một trạng thái cân bằng của hệ (với giátrị đầu đã được xác định trước) Trong khi đó, với luật cập nhật đồng bộ thì cóthể làm mạng hội tụ ở mỗi điểm cố định hoặc một vòng giới hạn

Trang 16

Mạng BAM

Mạng BAM bao gồm hai lớp và được xem như là trường hợp mở rộng của mạngHopfield Ở đây ta chỉ xét mạng rời rạc, vì nó đơn giản và dễ hiểu

Cấu trúc của BAM

Khi mạng Neural được tích cực với giá trị đầu vào của vector tại đầu vào củamột lớp, mạng sẽ có hai mẫu trạng thái ổn định, với mỗi mẫu tại đầu ra của nó làmột lớp Tính động học của mạng thể hiện dưới dạng tác động qua lại giữa hailớp Cụ thể hơn, giả sử một vector đầu vào x được cung cấp cho đầu vào củalớp Neural y Đầu vào được xử lý và truyền tới đầu ra của lớp y như sau:

x(2) = a(w(T)y(1)) (truyền ngược lần thứ nhất)

y(3) = a(wx(2)) (truyền thẳng lần thứ hai)

Trang 17

ANN Trọng số

wi

So sánh Đích

x(k) = a(w(T)y(k-1)) (truyền ngược lần thứ k/2)

1.5 Các luật học (Learning rules)

Thông thường, mạng Neural được điều chỉnh hoặc được huấn luyện để hướngcác đầu vào riêng biệt đến đích ở đầu ra Cấu trúc huấn luyện mạng được chỉ ra

ở hình dưới Ở đây, hàm trọng số của mạng được điều chỉnh trên cơ sở so sánhđầu ra với đích mong muốn (taget), cho tới khi đầu ra của mạng phù hợp vớiđích Những cặp vào/đích (input/taget) được dùng để giám sát cho sự huấnluyện mạng

Cấu trúc huấn luyện mạng Neural

Để có được một số cặp vào/ra, ở đó mỗi giá trị vào được gửi đến mạng và giá trị

ra tương ứng được thực hiện bằng mạng là sự xem xét và so sánh với giá trịmong muốn Bình thường, nó sẽ tồn tại một sai số vì giá trị mong muốn khônghoàn toàn phù hợp với giá trị thực Sau mỗi lần chạy, ta có tổng bình phươngcủa tất cả các sai số Sai số này được sử dụng để xác định các hàm trọng sốmới

Sau mỗi lần chạy, hàm trọng số của mạng được sửa đổi với đặc tính tốt hơntương ứng với đặc tính mong muốn Từng cặp giá trị vào/ra phải được kiểm tra

và trọng số được điều chỉnh một vài lần Sự thay đổi các hàm trọng số của mạng

sẽ được dừng lại, nếu tổng các bình phương sai số nhỏ hơn một giá trị đặttrước, hoặc đã chạy đủ một số lần chạy xác định (trong trường hợp này, mạng

có thể không thoả mãn yêu cầu đặt ra do sai lệch còn cao) Có hai kiểu học:

Trang 18

Học cấu trúc: trọng tâm là sự biến đổi cấu trúc của các mạng Neural gồm sốlượng nút và các loại liên kết.

Giả sử ma trận trọng số bao gồm tất cả các phần tử thích ứng của mạng Neural.Nhiệm vụ của việc học tham số là tìm ra được ma trận chính xác mong muốn từ

ma trận giả thiết ban đầu (với cấu trúc của mạng Neural có sẵn) Để làm đượcđiều này thì mạng Neural phải sử dụng các trọng số điều chỉnh, với nhiềuphương pháp học khác nhau để có thể tính toán gần đúng ma trận W cần tìmđặc trưng cho mạng Sau đây là 3 phương pháp học:

Học có giám sát (Supervised Learning)

Học có giám sát: là quá trình học có tín hiệu chỉ đạo bên ngoài d Trong học cógiám sát, thì tại mỗi thời điểm khi đầu vào được cung cấp tới mạng Neural, phảnứng đầu ra mong muốn d tương ứng của hệ thống được đưa ra Khi mỗi đầu

cấp tới mạng Hiệu giữa đầu ra thực y(k) và đầu ra mong muốn d(k) được đo trongmáy phát tín hiệu lỗi Máy này sẽ tạo ra tín hiệu lỗi cho mạng để hiệu chỉnh cáctrọng số của mạng, và với các hiệu chỉnh này thì đầu ra thực sẽ tiến sát với đầu

ra đặc biệt Tín hiệu củng cố bên ngoài thường được xử lý bằng máy phát tín

Trang 19

hiệu đánh giá để tạo ra nhiều hơn nữa các thông tin tín hiệu đánh giá, sau đódùng để điều chỉnh các trọng số với mục đích đạt được tín hiệu đánh giá tốt hơn.

Học không có giám sát (Unsupervised learning)

Học không có giám sát (Unsupervised learning)

Trong phần học không có giám sát, sẽ không có thầy hướng dẫn, tức là không

có tín hiệu d cung cấp tới mạch phản hồi Điều này cho thấy, ta sẽ không biếtđầu ra đạt giá trị gì Với loại này, thì các Neural tự xoay xở với các dữ liệu mẫu

mà nó có được, chứ không có “thầy” gợi ý cần luyện theo hướng nào Mạng phải

tự khám phá mẫu, đặc tính, sự tương quan hay loại đầu vào Trong khi khámphá những đặc tính này, tham số của mạng sẽ bị thay đổi Quá trình này đượcgọi là tự tổ chức Một ví dụ điển hình là quá trình phân loại đối tượng không cóthầy, những lớp thích hợp được hình thành bằng cách khám phá sự tương tự vàkhông tương tự trong số các đối tượng

Dạng tổng quát của luật học trọng số của mạng Neural cho biết số gia của vector

wi là Δww i tỉ lệ với tín hiệu học r và tín hiệu đầu vào x(t).

η là một số dương và được gọi là hằng số học dùng để xác định tốc độ học, r

là tín hiệu học và phụ thuộc: r=f r(w i ,x ,d i) (1.16)

Trang 20

Sơ đồ cấu trúc chung của quá trình học

Ta thấy, vector trọng số wi = [wi1, wi2, , wim]T có số gia tỷ lệ với tín hiệu vào x vàtín hiệu học r Vector trọng số ở thời điểm (t+1) được tính như sau:

Phương trình liên quan đến sự biến đổi trọng số trong mạng Neural rời rạc, vàtương ứng với sự thay đổi trọng số trong mạng Neural liên tục theo biểu thứcsau:

dw i

Vấn đề quan trọng trong việc phân biệt luật học cập nhật trọng số có giámsát hay không có giám sát, hoặc học củng cố là tín hiệu học r Như vậy, đối vớitín hiệu học r thì nó làm thế nào để thay đổi hoặc cập nhật trọng số trong mạngNeural

Mạng Neural nhân tạo có các tính chất sau:

Trang 21

Phần 2: Phần ứng dụng minh họa sử dụng mạng Neural

chương trình và một số kết quả thử nghiệm dưới dạng biểu đồ

2.2 Thuật toán lan truyền ngược – Backpropagation

Như ta đã biết, có hai dạng thuật toán để luyện mạng: học có thầy và học không

có thầy Các mạng Neural truyền thẳng nhiều lớp được luyện bằng phươngpháp học có thầy Phương pháp này căn bản dựa trên việc yêu cầu mạng thựchiện chức năng của nó và sau đó trảlại kết quả, kết hợp kết quả này với các đầu

ra mong muốn để điều chỉnh các tham số của mạng, nghĩa là mạng sẽ học thôngqua những sai sót của nó

Thuật toán lan truyền ngược được ứng dụng để giải các bài toán điều khiển các

hệ phi tuyến phức tạp và bất ổn định Lan truyền ngược là một phương pháp chophép xác định tập trọng số tốt nhất của mạng để giải một bài toán đã cho Việc

áp dụng phương pháp lan truyền ngược là một quá trình lặp đi lặp lại nhiều lầnhai tiến trình chính: lan truyền tiến để thực hiện ánh xạ và lan truyền ngược sai

số để cập nhật các trọng số Các trọng số của mạng là các hệ số của mô hình.Phương pháp giảm gradient được dùng để cập nhật những hệ số này sao chogiảm thiểu được sai số của mô hình

Về cơ bản, thuật toán lan truyền ngược là dạng tổng quát của thuật toán trungbình bình phương tối thiểu (Least Means Square-LMS) Thuật toán này thuộcdạng thuật toán xấp xỉ để tìm các điểm mà tại đó hiệu năng của mạng là tối ưu.Chỉ số tối ưu (performance index) thường được xác định bởi một hàm số của matrận trọng số và các đầu vào nào đó mà trong quá trình tìm hiểu bài toán đặt ra

Mô tả thuật toán

Xem xét một mạng với Q lớp lan truyền ngược, q=1,2, ,Q; với qneti và qyi lầnlượt là đầu vào và đầu ra của khối trong lớp thứ q Mạng có m Neural đầu vào, lNeural ở lớp ẩn, và n Neural đầu ra Với qwij là trọng số nối từ q-1wj đến qyi.Đầu vào: các cặp huấn luyện {x(k), d(k) | k=1,2, ,p}, ở đó giá trị đầu vào của phần

Ngày đăng: 21/05/2015, 12:49

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w