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

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Ở

57 658 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề 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ở
Tác giả Vũ Đức Việt
Người hướng dẫn TS. Nguyễn Hà Nam
Trường học Đại Học Quốc Gia Hà Nội
Chuyên ngành Công nghệ thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2010
Thành phố Hà Nội
Định dạng
Số trang 57
Dung lượng 1,19 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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Ở

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Vũ Đức Việt

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Ở

KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin

Cán bộ hướng dẫn: TS Nguyễn Hà Nam

HÀ NỘI – 2010

Trang 2

TÓM TẮT

Bài toán dự báo tài chính ngày càng được nhiều người quan tâm trong bối cảnh phát triển kinh tế xã hội ở Việt Nam hiện nay Đầu tư vào thị trường chứng khoán đòi hỏi nhiều kinh nghiệm và hiểu biết của các nhà đầu tư Các kĩ thuật khai phá dữ liệu được áp dụng nhằm dự báo sự lên xuống của thị trường là một gợi ý giúp các nhà đầu tư có thể ra các quyết định giao dịch Khóa luận này giới thiệu một kỹ thuật khai phá dữ liệu hiệu quảđược sử dụng rộng rãi trong nhiều lĩnh vực đó là mô hình mạng nơ ron và cách áp dụng vào dữ liệu thời gian thực Cấu trúc và hoạt động cũng như cách thiết kế mạng cho dữ liệu thời gian thực áp dụng trong bài toán dự báo tài chính được trình bày chi tiết nhằm làm rõ cách áp dụng mô hình vào bài toán thực tế

Trang 3

MỤC LỤC

TÓM TẮT

MỤC LỤC

DANH MỤC HÌNH VẼ

DANH MỤC BẢNG BIỂU

Chương 1 GIỚI THIỆU 1

Chương 2 GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN TRI THỨC 2 2.1 Khai phá dữ liệu và phát hiện tri thức 2

2.2 Tại sao phải tiến hành khai phá dữ liệu? 4

2.3 Kiến trúc điển hình của một hệ khai phá dữ liệu 5

2.4 Các bài toán khai phá dữ liệu điển hình 6

2.5 Các ứng dụng điển hình của khai phá dữ liệu 8

2.6 Kết luận 8

Chương 3 CƠ SỞ LÝ THUYẾT CỦA MẠNG NORON CHO VẤN ĐỀ DỰ BÁO 9 3.1 Khái niệm về mạng noron 9

3.2 Mô hình của một noron nhân tạo và hàm truyền 9

3.2.1 Mô hình của một noron 9

3.2.2 Hàm truyền 12

3.3 Mô hình của mạng noron 14

3.3.1 Mạng tiến 14

3.3.2 Mạng hồi quy 16

3.4 Phương pháp học và thuật toán lan truyền ngược cho mạng 17

3.4.1 Cơ sở lý thuyết học của mạng 17

Trang 4

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

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

4.1 Mô hình mạng noron cho việc dự báo 23

4.2 Các bước thiết kế mô hình 24

4.2.1 Chọn lựa các biến 25

4.2.2 Thu thập dữ liệu 25

4.2.3 Tiền xử lý dữ liệu 25

4.2.4 Phân hoạch tập dữ liệu 26

4.2.5 Xác định cấu trúc mạng 27

4.2.6 Xác định tiêu chuẩn đánh giá 30

4.2.7 Huấn luyện mạng nơ ron 32

4.2.8 Triển khai 33

4.3 Tổng kết 34

Chương 5 XÂY DỰNG CHƯƠNG TRÌNH VÀ 35

ĐÁNH GIÁ 35

5.1 Vài nét về các phần mềm nguồn mở được sử dụng 35

5.1.1 Weka 35

5.1.2 Jstock 37

5.2 Mô hình kết hợp giữa hai gói phần mềm mã nguồn mở 38

5.2.1 Chuyển dữ liệu thời gian thực 39

5.2.2 Xác định mô hình phù hợp 40

5.2.3 Chuyển kết quả cho stock hiển thị 43

5.3 Đánh giá với một số mô hình khác 43

5.3.1 Mô hình cây quyết định 44

Trang 5

Chương 6 KẾT LUẬN 49 TÀI LIỆU THAM KHẢO 50

Trang 6

DANH MỤC HÌNH VẼ

Hình 2.1 – Quá trình khai phá tri thức [1] 3

Hình 2.2 – Kiến trúc điển hình của một hệ thống khai phá dữ liệu [2] 5

Hình 2.3 – Bảng thống kê xu thế phát triển khai phá dữ liệu [1] 8

Hình 3.1 - Mô hình của một noron[2] 10

Hình 3.2 – Mô hình của một noron được vẽ lại [2] 11

Hình 3.3 – Hàm ngưỡng 12

Hình 3.4 – Hàm vùng tuyến tính 13

Hình 3.5 – Hàm tuyến tính 13

Hình 3.6 – Hàm sigma với các độ dốc khác nhau 14

Hình 3.7 – Mô hình mạng tiến đơn mức 15

Hình 3.8 – Mô hình mạng tiến đa mức 16

Hình 3.9 – Mô hình mạng tiến có sự phản hồi 17

Hình 4.1 – Mô hình dự đoán sử dụng mạng noron 23

Hình 4.2 – Tỷ lệ kích thước giữa các tập huấn luyện [9] 27

Hình 4.3 – Độ hội tụ: 3 tầng, 20 nơ ron ẩn, 50 bước 29

Hình 4.4 – Độ hội tụ: 3 tầng, 20 nơ ron ẩn, 100 bước 29

Hình 4.5 – Độ hội tụ: 3 tầng, 20 nơ ron ẩn, 300 bước 29

Hình 4.6 – Độ hội tụ: 3 tầng, 50 nơ ron ẩn, 5 bước 30

Hình 4.7 – Độ hội tụ: 3 tầng, 50 nơ ron ẩn, 50 bước 30

Hình 5.1 – Giao diện chính của weka 36

Hình 5.2 – Giao diện chính của Jstock 37

Hình 5.3 – Mô hình hệ thống khóa luận xây dựng 38

Hình 5.4 – Kết quả huấn luyện mạng noron bằng dòng lệnh weka 42

Trang 7

DANH MỤC BẢNG BIỂU

Bảng 4.1 – Tổ chức dữ liệu của mơ hình 26

Bảng 5.1 – Huấn luyện mạng noron 44

Bảng 5.2 – Huấn luyện cây quyết định 46

Bảng 5.3 – Huấn luyện nạve bayes 48

Bảng 5.4 – So sánh các mơ hình 48

Trang 8

Chương 1 GIỚI THIỆU

Trong những năm gần đây, người ta thường nhắc đến khai phá dữ liệu (datamining) – khái niệm được dùng để tham chiếu đến quá trình phát hiện tri thức và khai phá dữ liệu (KDD – Knowledge Discovery and Data mining) – như là một phương pháp xác định ra tri thức từ một lượng dữ liệu khổng lồ Sự phát triển của công nghệ thông tin và việc ứng dụng công nghệ thông tin trong nhiều lĩnh vực của đời sống, kinh tế xã hội trong nhiều năm qua cũng đồng nghĩa với lượng dữ liệu đã được các cơ quan thu thập và lưu trữ ngày một tích luỹ nhiều lên Hơn nữa thông tin thu thập được từ nhiều chiều khác nhau và gây nhiễu cho nhau đã thực sự trở thành một vấn đề nan giải cho con người để xử lý lượng thông tin lớn đang tăng lên từng ngày một Với những lý do như vậy, các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được thực tế đã làm phát triển một khuynh hướng kỹ thuật mới đó là Kỹ thuật phát hiện tri thức và khai phá dữ liệu (KDD - Knowledge Discovery and Data Mining)

Có nhiều kỹ thuật để khai phá dữ liệu trong đó kỹ thuật dựa vào mạng Noron khá là phổ biến [2] Một trong những ứng dụng kinh điển của mạng Noron là lớp các bài toán dựđoán vì mạng Noron ngoài khả năng dự đoán với độ chính xác cao nó còn có ưu điểm là mềm dẻo và thích nghi cao với môi trường, rất thích hợp cho bài toán dự đoán với dữ liệu thay đổi nhanh theo thời gian Chính vì vậy, khóa luận sẽ sử dụng mạng Noron để dựđoán xu thế của giá chứng khoán

Các hệ thống chứng khoán thường là những hệ thống rất phức tạp vì vậy rất khó có thể dự đoán được dữ liệu của nó Nó phụ thuộc vào rất nhiều yếu tố trong đó có những yếu tố không thể định lượng được như: tâm lý, sự mù quáng của nhà đầu tư… Mặc dù vậy thị trường chứng khoán không phải là một quá trình ngẫu nhiên và nó có quy luật của

nó và có thể dự đoán được Tìm ra được xu hướng của thị trường chứng khoán sẽ là chìa khóa giúp cho quá trình hỗ trợ quyết định của nhà đầu tư

Trước sự hấp dẫn của các ứng dụng của mạng noron, sự phát triển đi lên của thịtrường chứng khoán, cùng sự động viên khuyến khích của thầy hướng dẫn, tôi đã quyết định thực hiện những nghiên cứu về mạng noron để dự báo xu thế thị trường chứng khoán nhằm đưa ra những gợi ý cho nhà đầu tư Do thời gian làm khóa luận có hạn nên tôi mới chỉ xây dựng được các thành phần cơ bản nhất của phần mềm Các tính năng nâng cao tôi

Trang 9

Chương 2 GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU

VÀ PHÁT HIỆN TRI THỨC 2.1 Khai phá dữ liệu và phát hiện tri thức

Phát hiện tri thức trong cơ sở dữ liệu (Knowledge Discovery in Databases – KDD)

(đôi khi còn được gọi là khai phá dữ liệu) là một quá trình không đơn giản nhằm nhận dạng ra những mẫu có giá trị, mới, hữu ích tiềm năng và hiểu được trong dữ liệu Đây làlĩnh vực nghiên cứu và triển khai được phát triển rất nhanh chóng và có phạm vi rất rộng lớn, lại được rất nhiều nhóm nghiên cứu tại nhiều trường đại học, viện nghiên cứu, công

ty ở nhiều quốc gia trên thế giới quan tâm, cho nên có rất nhiều cách tiếp cận khác nhau đối với lĩnh vực phát hiện tri thức trong CSDL Chính vì lý do đó các nhà khoa học trên thế giới đã dùng nhiều thuật ngữ khác nhau, mà các thuật ngữ này được coi là mang cùng nghĩa với KDD như chiết lọc tri thức (knowledge extraction), phát hiện thông tin (information discovery), thu hoạch thông tin (information harvesting), khai quật dữ liệu (data archaeology), xử lý mẫu dữ liệu (data pattern processing) Hơn nữa, trong nhiều

trường hợp, hai khái niệm "Phát hiện tri thức trong cơ sở dữ liệu" và "khai phá dữ liệu" còn được dùng thay thế nhau Hai khái niệm khai phá dữ liệu và phát hiện tri thức trong

các CSDL thường cặp đôi với nhau [1].

Quá trình KDD thường bao gồm nhiều bước là:

- Làm sạch dữ liệu (Data Cleaning): Khử nhiễu và các dữ liệu mâu thuẫn.

- Tích hợp dữ liệu (Data Integration): Kết hợp nhiều nguồn dữ liệu khác

nhau

- Lựa chọn dữ liệu (Data Selection): Chắt lọc lấy những dữ liệu liên quan

đến nhiệm vụ phân tích sau này

- Biến đổi dữ liệu (Data Transformation): Biến đổi dữ liệu thu được về dạng

thích hợp cho quá trình khai phá

- Khai phá dữ liệu (Data Mining): Sử dụng những phương pháp thông minh

để khai thác dữ liệu nhằm thu được các mẫu mong muốn

- Đánh giá kết quả (Pattern Evaluation): Sử dụng các độ đo để đánh giá kết

quả thu được

Trang 10

- Biểu diễn tri thức (Knowledge Presentation): Sử dụng các công cụ biểu

diễn trực quan để biểu diễn những tri thức khai phá được cho người dùng

Hình 2.1 – Quá trình khai phá tri thức [1]

Quá trình trên được thừa nhận là không tầm thường theo nghĩa là quá trình đó không

chỉ nhiều bước mà còn được thực hiện lặp, và quan trọng hơn quá trình đó bao hàm một mức độ tìm kiếm tự động Trong mô hình chúng ta đã coi KDD là một quá trình bao gồm nhiều bước thực hiện, trong đó, khai phá dữ liệu là một bước thực hiện chính yếu Cách

hiểu như vậy đã quy định có sự phân biệt giữa hai khái niệm khai phá dữ liệu và KDD.

Từ đây có thể đi đến một khái niệm về khai phá dữ liệu:

Khai phá dữ liệu là một bước trong quá trình phát hiện tri thức trong cơ sở dữ liệu, thi hành một thuật toán khai phá dữ liệu để tìm ra các mẫu từ dữ liệu theo khuôn dạng thích hợp

Trang 11

Có thể nhận xét rằng, khái niệm khai phá dữ liệu là khá rộng lớn, nhưng không phải tất cả mọi công việc liên quan đến dữ liệu đều được coi là khai phá dữ liệu, chẳng hạn như những việc xử lý truy vấn đơn giản như tra cứu một số điện thoại, hay thống kê

ra những học sinh giỏi của một lớp, thì không thể coi đó là khai phá dữ liệu Nhưng những công việc như gom nhóm các tài liệu trả về từ máy tìm kiếm theo từng ngữ cảnh thì lại được xem là khai phá dữ liệu [1] Chính vì sự phong phú và đa dạng này mà dẫn đến thực trạng là tồn tại một số quan niệm khác nhau về chuyên ngành nghiên cứu gần gũi nhất với lĩnh vực khai phá dữ liệu

2.2 Tại sao phải tiến hành khai phá dữ liệu?

Trong những năm gần đây, khai phá dữ liệu trở thành một lĩnh vực nghiên cứu rộng rãi trong ngành công nghiệp thông tin, nguyên nhân chủ yếu là do khối lượng khổng lồcủa dữ liệu mà con người tạo ra, đi kèm với nó là sự cần thiết của việc rút trích tri thức từnhững dữ liệu đó Thông tin và tri thức có thể được áp dụng vào nhiều lĩnh vực từ phân tích thị trường tài chính, phát hiện giả mạo, cho đến điều khiển sản xuất và nghiên cứu khoa học

Nhìn vào hai lĩnh vực sinh ra nhiều dữ liệu nhất đó là thương mại và khoa học Trong lĩnh vực thương mại, hàng ngày hàng giờ con người đang tạo ra, thu thập và lưu trữlại rất nhiều dữ liệu, như dữ liệu web, dữ liệu về thương mại điện tử, dữ liệu về việc thanh toán tại các cửa hàng và các dữ liệu thanh toán trong các tài khoản… Tính cạnh tranh trong kinh doanh là rất cao, cho nên việc phân tích dữ liệu để cung cấp dịch vụ tốt hơn, có nhiều tiện ích cho khách hàng, và đón bắt chính xác nhu cầu của khách hàng rất quan trọng Trong lĩnh vực khoa học, dường như lượng dữ liệu sinh ra và thu thập lại còn lớn hơn nhiều, lên tới hàng GB/giờ, chẳng hạn như dữ liệu từ vệ tinh, từ các ảnh chụp vũ trụ

và từ các mô phỏng thử nghiệm khoa học Khai phá dữ liệu giúp các nhà khoa học trong việc phân lớp dữ liệu và hỗ trợ trong việc đưa ra các quyết định

Cùng với sự phát triển của khoa học, của ngành cơ sở dữ liệu không thể không kểđến là sự phát triển của ngành công nghiệp máy tính, người ta đã tạo ra những phương tiện lưu trữ lớn hơn, những máy tính rẻ hơn, tốc độ cao hơn, trợ giúp cho quá trình thu thập dữ liệu cũng như khai phá chúng

Trang 12

Trong quá trình tác nghiệp, người ta thường phải đưa ra các quyết định, tuy nhiên, với lượng dữ liệu khổng lồ như thế, người ta không thể sử dụng hết, hoặc nếu muốn sửdụng thì phải mất thời gian quá nhiều, như vậy có nguy cơ đánh mất cơ hội Do đó, việc

sử dụng máy tính để khai phá dữ liệu nhằm giúp đỡ con người trong công việc càng được thúc đẩy mạnh mẽ, làm sao với các dữ liệu đã thu thập được có thể đưa ra hành động mang lại lợi ích tối đa

2.3 Kiến trúc điển hình của một hệ khai phá dữ liệu

Dưới đây là kiến trúc của một hệ thống khai phá dữ liệu:

Hình 2.2 – Kiến trúc điển hình của một hệ thống khai phá dữ liệu [2]

Trong kiến trúc hệ thống này, các nguồn dữ liệu cho các hệ thống khai phá dữ liệu bao gồm hoặc Cơ sở dữ liệu, hoặc Kho dữ liệu, hoặc World Wide Web, hoặc kho chứa dữ

Trang 13

tri thức miền ứng dụng hiện có, được sử dụng trong thành phần hệ thống khai phá dữ liệu

để làm tăng tính hiệu quả của thành phần này Một số tham số của thuật toán khai phá dữliệu tương ứng sẽ được tinh chỉnh theo tri thức miền sẵn có từ cơ sở tri thức trong hệthống Cơ sở tri thức còn được sử dụng trong việc đánh giá các mẫu đã khai phá được xem chúng có thực sự hấp dẫn hay không, trong đó có việc đối chứng mẫu mới với các tri thức đã có trong cơ sở tri thức Nếu mẫu khai phá được là thực sự hấp dẫn thì chúng được

bổ sung vào cơ sở tri thức để phục vụ cho hoạt động tiếp theo của hệ thống Như vậy, nguồn tri thức bổ sung vào cơ sở tri thức ở đây không chỉ từ lập luận lôgic theo các hệtoán lôgic để có tri thức mới, không chỉ do con người hiểu biết thêm về thế giới khách quan để bổ sung vào mà còn là tri thức được phát hiện một cách tự động từ nguồn dữ liệu[1]

2.4 Các bài toán khai phá dữ liệu điển hình

Mô tả khái niệm/lớp (concept/class description):

Dữ liệu có thể được kết hợp với khái niệm hoặc lớp Ví dụ ta có chia dữ liệu về sản phẩm điện tử thành các lớp sản phẩm như máy tính, máy in, máy chiếu… Mỗi lớp/khái niệm được miêu tả riêng một cách tổng quan và chính xác Việc miêu tả này có được thông qua: sự mô tả tính chất của dữ liệu (data characterization) hoặc phân biệt dữ liệu (data discrimination) hoặc kết hợp cả hai

Mô tả tính chất dữ liệu (data characterization): là sự tổng hợp những đặc tính chung nhất của lớp dữ liệu ví dụ: đối với những người khách hàng tiêu nhiều tiền ta có thể tổng hợp những đặc điểm của người đó như sau: tuổi đời trung niên, có việc làm ổn định, có khả năng thanh toán cao

Phân biệt dữ liệu (data discrimination): là sự so sánh những đặc tính chung một lớp đối tượng dữ liệu với những đặc tính chung của một lớp đối tượng dữ liệu khác từ một tập những lớp tương phản ví dụ: so sánh hai đối tượng khách hàng, một đối tượng thường xuyên mua điện thoại còn một đối tượng ít khi mua điện thoại điều này đem đên một sự

so sánh giữa hai đối tượng, đối tượng thứ nhất thường là những người trẻ tuổi còn đối tượng thứ 2 thường là những người trung tuổi

Phân tích kết hợp (association analysis):

Trang 14

Từ một hoặc một vài sự kiện của đối tượng xảy ra kết hợp với nhau có thể kéo theo những sự kiện khác xảy ra.

Ví dụ: một người mua máy tính thì rất có thể họ sẽ mua phần mềm, ta có thể viết dưới dạng luật như sau:

Buys(X, “computer”) =>> buys(X, “software”) [support = 1%, confident = 50%]X: đại diện cho người

Support = 1%: có 1% khách hàng đã mua đồng thời máy tính và phần mềm

Confident = 50%: khả năng mỗi khách hàng mua đồng thời là 50%

Trên đây là luật kết hợp một chiều ta có thể có luật kết hợp nhiều chiều như sau: Age(X, “20….29”) ^ income(X, “20…29K”) =>> buys(X, “PC”) [support = 2%, confident = 60%]

Phân loại và dự đoán (classification and prediction)

Sự phân loại là quá trình tìm một mô hình (model) mà mô tả và phân biệt những lớp đối tượng với nhau Mục đích của việc sử dụng mô hình là để dự đoán (predict) những lớp đối tượng chưa biết Mô hình được suy dẫn ra dựa trên sự phân tích một tập dữ liệu huấn luyện (training data) (đối tượng dữ liệu mà ta đã biết) Hình thức biểu diễn: cây quyết định (decision tree), luật phân loại (classification rule), mạng nơron (neural network)

Phân cụm (cluster analysis):

Khác với phân loại và dự đoán, phân cụm phân tích những đối tượng dữ liệu mà không cần xem xét những lớp đã biết phân cụm dựa trên phương pháp: cực đại hóa sựtương đồng của lớp bên trong và cực tiểu hóa sự tương đồng của lớp bên ngoài Tức là những cụm đối tượng được thành lập để những đối tượng trong một cụm thì rất giống nhau nhưng khác rất nhiều so với những đối tượng trong cụm khác

Phân tích tiến hóa:

Phân tích tiến hóa dữ liệu miêu tả và mô hình xu hướng về những sự thay đổi của đối tượng qua thời gian Điều này giúp dự đoán được tương lai

Trang 15

2.5 Các ứng dụng điển hình của khai phá dữ liệu

Dưới đây là bảng thống kê những xu thế phát triển của các lĩnh vực ứng dụng khai phá dữ liệu điển hình trong các năm 2003, 2004, 2006 và xu hướng phát triển của chúng

Hình 2.3 – Bảng thống kê xu thế phát triển khai phá dữ liệu [1]

2.6 Kết luận

Trong chương này tôi đã trình bày những nét cơ bản về khai phá dữ liệu và những ứng dụng của nó Có thể nói lĩnh vực khai phá dữ liệu là khá mới mẻ và có xu hướng tăng trưởng cao trong những năm tới Trong chương tới, tôi sẽ giới thiệu một kỹ thuật được sửdụng khá phổ biến trong khai phá dữ liệu đó là kỹ thuật sử dụng mạng noron

Trang 16

Chương 3 CƠ SỞ LÝ THUYẾT CỦA MẠNG

NORON CHO VẤN ĐỀ DỰ BÁO 3.1 Khái niệm về mạng noron.

Lý thuyết về mạng noron [3] [2] được xuất phát từ ý tưởng mô phỏng cấu trúc bộnão con người Thực tế có thể coi bộ não con người là một máy tính hay một hệ thống xử

lý thông tin song song, phi tuyến và cực kỳ phức tạp Nó có khả năng tự tổ chức các bộphận cấu thành nó như là các tế bào thần kinh (noron) hay các khớp nối thần kinh (synapse) Việc mô phỏng này dựa trên những nghiên cứu về thần kinh sinh học Bộ não con người có khả năng nhận dạng mẫu và điều khiển vận động rất tốt, do đó điểm mạnh của mạng noron cũng chính là những khả năng này

Định nghĩa mạng noron [6]: mạng nơ ron nhân tạo, artificial neural network, (thường được gọi ngắn gọn là mạng nơ ron, neural network) là mạng các phần tử (gọi là

nơ ron) kết nối với nhau thông qua các liên kết (gọi là trọng số liên kết) để thực hiện một

công việc nào đó Khả năng xử lý của mạng nơ ron được hình thành thông qua quá trình

hiệu chỉnh trọng số liên kết giữa các nơ ron, nói cách khác là học từ tập hợp các mẫu huấn

luyện

Như vậy một mạng noron được cấu thành từ các noron riêng biệt Cách thức kết hợp các noron này với nhau sẽ tạo ra một mạng có tính chất riêng Do đó để hiểu về mạng noron trước tiên chúng ta sẽ tìm hiểu về cấu trúc của một noron

3.2 Mô hình của một noron nhân tạo và hàm truyền

3.2.1 Mô hình của một noron

Một noron nhân tạo là một đơn vị tính toán hay đơn vị xử lý thông tin cơ sở cho hoạt động của một mạng Chúng có khả năng nhận đầu vào, xử lý đầu vào đó, đưa dữ liệu đã được xử lý ra output và liên lạc với các nơron khác để gửi output này đi Sơ đồ dưới đây chỉ ra mô hình của một noron nhân tạo [2]:

Trang 17

Hình 3.1 - Mô hình của một noron[2].

Trong mô hình trên bao gồm các thành phần sau:

x1, x2, ……, xm: các tín hiệu đầu vào Thường được biểu diễn dưới dạng vecto m chiều X=(x1, x2, … , xm) Các tín hiệu này có thể là đầu ra của các nơ ron trước nó hoặc đầu vào ban đầu của mạng

Các trọng số của liên kết Wkj (j = 1,m) Tín hiệu đầu vào xj liên kết với noron k sẽđược nhân với Wkj Trong đó k là chỉ số của noron trong mạng, j là chỉ số đầu vào của noron đang xét

Bộ tổ hợp tuyến tính ∑ để tính tổng các tín hiệu đầu vào, đã được nhân với các trọng

Trang 18

Hàm kích hoạt (activation function) hay còn gọi là hàm truyền để giới hạn biên độđầu ra của noron Hàm kích hoạt như là một hàm nén giới hạn phạm vi biên độ cho phép của đầu ra trong một khoảng giá trị hữu hạn nào đó, thường là trong đoạn [0, 1] hoặc [-1, 1] Hàm truyền là có tính chất quyết định đến mạng noron Vì vậy cần phải chọn lựa cho ứng dụng một hàm phù hợp.

Tín hiệu đầu ra yk của noron k chính là kết quả của quá trình xử lý tại noron này Hay nó chính là giá trị của hàm kích hoạt Mỗi noron chỉ có duy nhất một đầu ra Công thức chung của yk là:

= ( + )

Vì hệ số ngưỡng bk là tham số ngoài nên chúng ta có thể coi nó như một đầu vào x0

cố định có giá trị x0 = 1, và có trọng số của liên kết là Wk0 = bk Một cách tương ứng, chúng ta tổng hợp lại các công thức như sau:

Trang 21

Đồ thị hàm sigma với một vài tham số độ dốc

Hình 3.6 – Hàm sigma với các độ dốc khác nhau

Các hàm truyền ở trên đều bị giới hạn trong đoạn [-1, 1] hoặc [0, 1] Chúng ta cũng

có thể mở rộng giới hạn nếu muốn để phù hợp với ứng dụng

3.3 Mô hình của mạng noron

Mô hình của mạng noron chính là cách kết nối các noron lại với nhau Có hai mô hình chính là mạng tiến (feed forward network) và mạng hồi quy (recurrent network)

Trang 22

Mạng tiến đơn mức chỉ gồm các đầu vào (input) được truyền trực tiếp cho một lớp noron xử lý và đưa ra kết quả luôn.

Mô hình:

Trang 23

Hình 3.8 – Mô hình mạng tiến đa mức

3.3.2 Mạng hồi quy

Khác với mạng tiến, mạng hồi quy có sự kết nối phản hồi lại từ đầu ra quay ngược trở lại làm tham số đầu vào Việc này làm cho các thuộc tính của mạng là động tức là có khả năng thay đổi trong quá trình hoạt động Như vậy mạng sẽ có khả năng thích nghi cao hơn

Trang 24

Mô hình:

Hình 3.9 – Mô hình mạng tiến có sự phản hồi

3.4 Phương pháp học và thuật toán lan truyền ngược cho mạng

3.4.1 Cơ sở lý thuyết học của mạng

Trang 25

b Mô hình học

Trong phần (a), ta thấy việc học cần có sự tác động của môi trường Mô hình học chính cách thức quan hệ của mạng với môi trường Có hai mô hình phổ biến là học có

giám sát (supervised learning) và học không có giám sát (unsupervised learning).

Học có giám sát [3] : là phương pháp mà mạng được cung cấp những cặp mẫu đầu vào và đầu ra tương ứng Nhiệm vụ của quá trình học là từ đầu vào được đã cho sẽ xử lý tạo ra một đầu ra tương ứng sao cho gần nhất với đầu ra mong muốn thuật toán lan truyền ngược sẽ giới thiệu sau đây thuộc loại học có giám sát

Học không giám sát [3]: điểm khác biệt với học có giám sát ở chỗ là đầu ra đúng tương ứng cho mỗi đầu vào là không biết trước Trong học không có giám sát, một tập dữliệu đầu vào được thu thập Học không có giám sát thường đối xử với các đối tượng đầu vào như là một tập các biến ngẫu nhiên Sau đó, một mô hình mật độ kết hợp sẽ được xây dựng cho tập dữ liệu đó

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

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:

Trang 26

= (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ướcMụ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.9)

Trang 27

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

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:

Trang 28

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

Ngày đăng: 15/02/2014, 13:14

HÌNH ẢNH LIÊN QUAN

Hình 2.1 – Quá trình khai phá tri thức [1] - 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Ở
Hình 2.1 – Quá trình khai phá tri thức [1] (Trang 10)
2.3. Kiến trúc điển hình của một hệ khai phá dữ liệu - 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Ở
2.3. Kiến trúc điển hình của một hệ khai phá dữ liệu (Trang 12)
Hình 3.1 - Mơ hình của một noron[2]. - 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Ở
Hình 3.1 Mơ hình của một noron[2] (Trang 17)
Mơ hình được vẽ lại như sau: - 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Ở
h ình được vẽ lại như sau: (Trang 18)
Hình 3.3 – Hàm ngưỡng - 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Ở
Hình 3.3 – Hàm ngưỡng (Trang 19)
Hình 3.4 – Hàm vùng tuyến tính - 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Ở
Hình 3.4 – Hàm vùng tuyến tính (Trang 20)
Hình 3.5 – Hàm tuyến tính - 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Ở
Hình 3.5 – Hàm tuyến tính (Trang 20)
Hình 3.6 – Hàm sigma với các độ dốc khác nhau - 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Ở
Hình 3.6 – Hàm sigma với các độ dốc khác nhau (Trang 21)
Bảng số 11: Mẫu bìa mục lục văn bả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Ở
Bảng s ố 11: Mẫu bìa mục lục văn bản (Trang 22)
Mơ hình: - 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Ở
h ình: (Trang 22)
Hình 3.8 – Mơ hình mạng tiến đa mức - 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Ở
Hình 3.8 – Mơ hình mạng tiến đa mức (Trang 23)
Mơ hình: - 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Ở
h ình: (Trang 24)
4.1. Mơ hình mạng noron cho việc dự báo - 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Ở
4.1. Mơ hình mạng noron cho việc dự báo (Trang 30)
Hình 4.2 – Tỷ lệ kích thước giữa các tập huấn luyện [9] - 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Ở
Hình 4.2 – Tỷ lệ kích thước giữa các tập huấn luyện [9] (Trang 34)
Hình 4.3 – Độ hội tụ: 3 tầng, 20 nơron ẩn, 50 bước - 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Ở
Hình 4.3 – Độ hội tụ: 3 tầng, 20 nơron ẩn, 50 bước (Trang 36)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w