Tiểu luận môn Hệ hỗ trợ quyết định NEURAL NETWORK VÀ ỨNG DỤNG HỖ TRỢ RA QUYẾT ĐỊNH DỰ BÁO

27 571 0
Tiểu luận môn Hệ hỗ trợ quyết định NEURAL NETWORK VÀ ỨNG DỤNG HỖ TRỢ RA QUYẾT ĐỊNH DỰ BÁO

Đ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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÁO CÁO THU HOẠCH HỆ HỖ TRỢ RA QUYẾT ĐỊNH NEURAL NETWORK VÀ ỨNG DỤNG HỖ TRỢ RA QUYẾT ĐỊNH DỰ BÁO GVHD : PGS. TS. ĐỖ PHÚC HVTH : NGÔ VĂN LINH MSHV : CH1301021 TP.HCM - 2014 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS. TS. ĐỖ PHÚC MỤC LỤC HVTH: NGÔ VĂN LINH – CH1301021 Trang 2 / 27 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS. TS. ĐỖ PHÚC PHẦN MỞ ĐẦU  Mạng nơ-ron nhân tạo được thiết kế để mô hình một số tính chất của mạng nơ-ron sinh học, tuy nhiên, khác với các mô hình nhận thức, phần lớn các ứng dụng lại có bản chất kỹ thuật. Vào cuối những năm 1950, Frank Rosenblatt và một số nhà nghiên cứu khác đã phát triển một loại mạng neutron gọi là perceptron. Đóng góp quan trọng của Rosenblatt là giới thiệu một luật học để huấn luyện các mạng perceptron để giải quyết vấn đề nhận dạng mẫu. Nhờ các ưu điểm như có cấu trúc xử lý song song, khả năng học và ghi nhớ, khả năng tự tổ chức và tổng quát hóa, mạng nơ-ron nhân tạo ANN (Artificial Newal Networks) đã được nghiên cứu và ứng dụng thành công trong rất nhiều lĩnh vực như: xấp xỉ hàm nhận dạng mẫu, dự báo. Bài toán nhận dạng với sự trợ giúp của mạng nơ-ron ngày nay đã không còn dừng ở mức độ nghiên cứu nữa mà nó trở thành một lĩnh vực để áp dụng thực tế. Các bài toán nhận dạng được nghiên cứu nhiều nhất hiện nay tập trung vào nhận dạng mẫu hình học (vân tay, mặt người, hình khối, …), nhận dạng tiếng nói và nhận dạng chữ viết. Chúng được ứng dụng rất nhiều trong các lĩnh vực như y học, dự báo thời tiết, dự báo cháy rừng, các lĩnh vực tự động hóa như điều khiển robot, điều khiển thiết bị bằng giọng nói, Trong bài báo cáo này ứng dụng đơn giản mạng nơ-ron vào việc dự báo thời tiết, giúp người sử dụng có thể ra quyết định hợp lý cho công việc của mình. HVTH: NGÔ VĂN LINH – CH1301021 Trang 3 / 27 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS. TS. ĐỖ PHÚC PHẦN NỘI DUNG  CHƯƠNG 1 – GIỚI THIỆU CHUNG VỀ NEURAL NETWORK 1.1 – GIỚI THIỆU VỀ PERCEPTRON Định nghĩa: Mạng nơron nhân tạo, Artificial Neural Network (ANN) gọi tắt là mạng nơron, neural network, là một mô hình xử lý thông tin phỏng theo cách thức xử lý thông tin của các hệ nơron sinh học. Nó được tạo lên từ một số lượng lớn các phần tử (gọi là phần tử xử lý hay 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) làm việc như một thể thống nhất để giải quyết một vấn đề cụ thể nào đó. Một mạng nơron nhân tạo được cấu hình cho một ứng dụng cụ thể (nhận dạng mẫu, phân loại dữ liệu, ) thông qua một quá trình học từ tập 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 nơron. 1.1.1 – Lịch sử mạng neural nhân tạo Perceptron - Năm 1943 MC Cullock, Pitts đưa ra mô hình mạng nơ- ron đầu tiên. - Năm 1957 Rosenblatt đề xuất Perceptron và một thuật toán huấn luyện rất đơn giản. Đến năm 1962, Novikoff chứng minh rằng thuật toán huấn luyện này luôn dừng sau một số hữu hạn bước lặp nếu tập mẫu học phân tách tuyến tính được 1.1.2 – So sánh mạng neural nhân tạo với máy tính truyền thống Các mạng nơron có cách tiếp cận khác trong giải quyết vấn đề so với máy tính truyền thống. Các máy tính truyền thống sử dụng cách tiếp cận theo hướng giải thuật, tức là máy tính thực hiện một tập các chỉ lệnh để giải quyết một vấn đề. Vấn đề được giải quyết phải được biết và phát biểu dưới dạng một tập chỉ lệnh không nhập nhằng. Những chỉ lệnh này sau đó phải được chuyển sang một chương trình ngôn ngữ bậc cao và chuyển sang mã máy để máy tính có thể hiểu được. Trừ khi các bước cụ thể mà máy tính cần tuân theo được chỉ ra rõ ràng, máy tính sẽ không làm được gì cả. Điều đó giới hạn khả năng của các máy tính truyền thống ở phạm vi giải quyết các vấn đề mà chúng ta đã hiểu và biết chính xác cách thực hiện. Các máy tính sẽ trở lên hữu ích hơn nếu chúng có thể thực hiện được những việc mà bản thân con người không biết chính xác là phải làm như thế nào. Các mạng nơron xử lý thông tin theo cách thức giống như bộ não con người. Mạng được tạo nên từ một số lượng lớn các phần tử xử lý được kết nối với nhau làm việc song song để giải quyết một vấn đề cụ thể. Các mạng nơron học theo mô hình, chúng không thể được lập trình để thực hiện một nhiệm vụ cụ thể. Các mẫu phải được chọn lựa cẩn thận nếu không sẽ rất mất thời gian, thậm chí mạng sẽ hoạt động không đúng. Điều hạn chế này là bởi vì mạng tự tìm ra cách giải quyết vấn đề, thao tác của nó không thể dự đoán được. HVTH: NGÔ VĂN LINH – CH1301021 Trang 4 / 27 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS. TS. ĐỖ PHÚC Các mạng nơron và các máy tính truyền thống không cạnh tranh nhau mà bổ sung cho nhau. Có những nhiệm vụ thích hợp hơn với máy tính truyền thống, ngược lại có những nhiệm vụ lại thích hợp hơn với các mạng nơron. Thậm chí rất nhiều nhiệm vụ đòi hỏi các hệ thống sử dụng tổ hợp cả hai cách tiếp cận để thực hiện được hiệu quả cao nhất. (thông thường một máy tính truyền thống được sử dụng để giám sát mạng nơron). 1.1.3 – Neural sinh học và Neural nhân tạo a. Neural sinh học Qua quá trình nghiên cứu về bộ não, người ta thấy rằng: bộ não con người bao gồm khoảng 1011 nơron tham gia vào khoảng 1015 kết nối trên các đường truyền. Mỗi đường truyền này dài khoảng hơn một mét. Các nơron có nhiều đặc điểm chung với các tế bào khác trong cơ thể, ngoài ra chúng còn có những khả năng mà các tế bào khác không có được, đó là khả năng nhận, xử lý và truyền các tín hiệu điện hóa trên các đường mòn nơron, các con đường này tạo nên hệ thống giao tiếp của bộ não. Hình 1 – Neural sinh học Mỗi nơron sinh học có 3 thành phần cơ bản: • Các nhánh vào hình cây ( dendrites) • Thân tế bào (cell body) • Sợi trục ra (axon) Các nhánh hình cây truyền tín hiệu vào đến thân tế bào. Thân tế bào tổng hợp và xử lý cho tín hiệu đi ra. Sợi trục truyền tín hiệu ra từ thân tế bào này sang nơron khác. Điểm liên kết giữa sợi trục của nơron này với nhánh hình cây của nơron khác gọi là synapse. Liên kết giữa các nơron và độ nhạy của mỗi synapse được xác định bởi quá trình hóa học phức tạp. Một số cấu trúc của nơron được xác định trước lúc sinh ra. Một số cấu trúc được phát triển thông qua quá trình học. Trong cuộc đời cá thể, một số liên kết mới được hình thành, một số khác bị hủy bỏ. HVTH: NGÔ VĂN LINH – CH1301021 Trang 5 / 27 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS. TS. ĐỖ PHÚC Như vậy nơron sinh học hoạt động theo cách thức sau: nhận tín hiệu đầu vào, xử lý các tín hiệu này và cho ra một tín hiệu output. Tín hiệu output này sau đó được truyền đi làm tín hiệu đầu vào cho các nơron khác. Dựa trên những hiểu biết về nơron sinh học, con người xây dựng nơron nhân tạo với hy vọng tạo nên một mô hình có sức mạnh như bộ não. b. Neural nhân tạo Một nơron 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 nơron. Cấu trúc của một nơron được mô tả trên hình dưới. Hình 2 - Mạng Neural nhân tạo Các thành phần cơ bản của một nơron nhân tạo bao gồm: ♦ Tập các đầu vào: Là các tín hiệu vào (input signals) của nơron, các tín hiệu này thường được đưa vào dưới dạng một vector N chiều. ♦ Tập các liên kết: Mỗi liên kết được thể hiện bởi một trọng số (gọi là trọng số liên kết – Synaptic weight). Trọng số liên kết giữa tín hiệu vào thứ j với nơron k thường được kí hiệu là w kj . 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 học mạng. ♦ Bộ tổng (Summing function): 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 (còn gọi là một độ lệch - bias): Ngưỡng này thường được đưa vào như một thành phần của hàm truyền. ♦ Hàm truyền (Transfer function) : Hàm này được dùng để giới hạn phạm vi đầu ra của mỗi nơron. 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 nơron được giới hạn trong đoạn [0,1] hoặc [-1, 1]. Các hàm 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ọn hàm truyền nào là tuỳ thuộc vào từng bài toán và kinh nghiệm của người thiết kế mạng. Một số hàm truyền thường sử dụng trong các mô hình mạng nơron được đưa ra trong bảng 1 . ♦ Đầu ra: Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có tối đa là một đầu ra. HVTH: NGÔ VĂN LINH – CH1301021 Trang 6 / 27 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS. TS. ĐỖ PHÚC Xét về mặt toán học, cấu trúc của một nơron k, được mô tả bằng cặp biểu thức sau: (x1, wk1), (x2, wk2),…, (xp, wkp) trong đó: x1, x2, , xp: là các tín hiệu vào; (wk1, wk2, , wkp) là các trọng số liên kết của nơron thứ k; uk là hàm tổng; bk là một ngưỡng; f là hàm truyền và yk là tín hiệu đầu ra của nơron. Như vậy tương tự như nơron sinh học, nơron nhân tạo cũng nhận các tín hiệu đầu vào, xử lý ( nhân các tín hiệu này với trọng số liên kết, tính tổng các tích thu được rồi gửi kết quả tới hàm truyền), và cho một tín hiệu đầu ra ( là kết quả của hàm truyền). Hàm truyền Đồ thị Định nghĩa Symmetrical Hard Limit (hardlims) Linear (purelin) Saturating Linear (satlin) Log-Sigmoid (logsig) 1.1.4 – Giới thiệu về mạng Perceptron a. Giới thiệu • Perceptron là mô hình đơn giản nhất của mạng nơ- ron (chỉ có một tầng) HVTH: NGÔ VĂN LINH – CH1301021 Trang 7 / 27 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS. TS. ĐỖ PHÚC • Perceptron bằng một nơ- ron nhân tạo. • Perceptron nhận tín hiệu từ dữ liệu nhập , xử lý và truyền ký hiệu ra bên ngoài Thuật toán huấn luyện Perceptron: Thuật toán ở dạng trực tuyến (online), ta lần lượt cung cấp cho thuật toán các mẫu học trong P, có thể lặp lại nhiều lần. Mỗi lần có mẫu học mới, thuật toán sẽ chỉnh sửa (w, b)để cố gắng phân lớp được mẫu học này Mô hình toán của mạng perceptron f được gọi là hàm kích hoạt (activation action) hay hàm truyền có thể là: Tuyến tính Ngưỡng (Heaviside step) Logistic sigmoid g(x) = 1/(1+ e^(-x) ) Gauss …. b. Kiến trúc mạng Hình 3 - Kiến trúc mạng Perceptron đơn lớp HVTH: NGÔ VĂN LINH – CH1301021 Trang 8 / 27 Output Input DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS. TS. ĐỖ PHÚC Hình 4 - Kiến trúc mạng Perceptron đa lớp Trong đó: p= (p1, p2, p3, , pr) b =(b1, b2,b3, …, bs) n = w *p + b; a = hardlim(n). n ≥ 0 then a= 1; n <0 then a = 0; c. Qui tắc huấn luyện  Huấn luyện 1: Dữ liệu vào: (P1, t1) (P2, t2) , (P3, t3) …(Pq, tq) với t_i là mục tiêu. Nếu a_i = t_i với mọi i. thì w_new = w_old Nếu a= 0; t= 1 n = wp +b a= hardlim (n) Tăng trọng số: w_n = w_0 +p; Nếu a= 1, t=0; W_n = w_0 - p Ta đặt e = t- a HVTH: NGÔ VĂN LINH – CH1301021 Trang 9 / 27 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS. TS. ĐỖ PHÚC Nếu e= 1 thì : w_n = w_0 + e.p Nếu e = -1 : w_n = w_0 + e.p Nếu e = 0 : w_n = w_0 + e.p; Vậy: W_n = w_0 + ( t – a ) p b_n = b_0 + ( t – a ) * 1 Thuật giải: Vào: (P1, t1) (P2, t2) , (P3, t3) …(Pq, tq) Ra : a_i = t_i với mọi i Bước 1: Khởi tạo giá trị w (ngẫu nhiên) Bước 2: Với mọi tín hiệu vào p_i tính : a_i (đầu ra thực tế) Bước 3: So sánh : a_i và t_i If ( a_i = t_i) thì w_n = w_0 (giữ nguyên trọng số) If (a_i ≠ t_i) thì W_n = w_0 + ( t – a ) p B_n = b_0 + ( t – a ) * 1 Bước 4: Lặp lại bước 2, bước 3 cho đến khi a_i = t_i với mọi i. Ví dụ: Để nhận dạng hai loại quả táo và cam qua kích thước, vỏ và cân nặng HVTH: NGÔ VĂN LINH – CH1301021 Trang 10 / 27 [...]... PGS TS ĐỖ PHÚC Trang 21 / 27 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS TS ĐỖ PHÚC CHƯƠNG 3 – ỨNG DỤNG MẠNG NEURAL TRONG DỰ BÁO 3.1 – GIỚI THIỆU BÀI TOÁN Sản phẩm được xây dựng trên ngôn ngữ lập trình Visual C# 2012 Bằng việc áp dụng giải thuật huấn luyện Perceptron của Frank Rosenblatt, phần mềm sẽ đưa ra những câu tư vấn giúp bạn giải quyết những băn khoăn trong quyết định nên đi ra ngoài làm việc... và đưa ra trọng số tương ứng Ở phần Thông tin quyết định cho phép bạn chọn các thông số về tình hình thời tiết hiện tại rồi nhấn Kiểm tra, chương trình sẽ đưa ra quyết định tương ứng Một số kết quả kiểm tra: HVTH: NGÔ VĂN LINH – CH1301021 Trang 25 / 27 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS TS ĐỖ PHÚC PHẦN KẾT LUẬN  Trong bối cảnh hiện nay khi mà các nghiên cứu đang chuyển sang hướng xây dựng... tuyến tính cho các nơron tầng ra với sai số nhỏ tùy ý ♦ Mọi hàm bất kỳ đều có thể xấp xỉ bởi một mạng MLP 3 tầng sử dụng hàm truyền sigmoid cho các nơron tầng ẩn và hàm truyền tuyến tính cho các nơron tầng ra HVTH: NGÔ VĂN LINH – CH1301021 Trang 13 / 27 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS TS ĐỖ PHÚC CHƯƠNG 2 – HUẤN LUYỆN VÀ XÂY DỰNG MẠNG NƠRON 2.1 – HUẤN LUYỆN MẠNG NEURAL 2.1.1 – Các phương pháp... chốt của quy mô hệ thống là số lượng neural và số lượng các mức ẩn Khả năng này sẽ được cải thiện không ngừng trong tương lai cùng với sự phát triển của các mạch tích hợp phần cứng cỡ lớn và các bộ nhớ ngày càng lớn hơn cho các phần mềm máy vi tính Chính vì điều này mà mạng neural được coi là “kỹ thuật của thế kỷ 21” HVTH: NGÔ VĂN LINH – CH1301021 Trang 26 / 27 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN:...  [1] Bài giảng Hệ hỗ trợ ra quyết định, PGS TS Đỗ Phúc, Trường Đại học Công nghệ thông tin, Đại học quốc gia TP Hồ Chí Minh, 2014 [2] Daniel Graue, Principles of Artificial Neural Netwworks, World Scientific Publishing Company, 2 edition, 2007 [3] Paul D McNelis, Neural Networks in Finance: gaining predictive edge in the market”, Elsevier Academic Press, 2005 [4] Bài tập lớn “Sử dụng thuật toán huấn... và bằng 10 ♦ Mỗi nơron thuộc tầng sau liên kết với tất cả các nơron thuộc tầng liền trước nó HVTH: NGÔ VĂN LINH – CH1301021 Trang 12 / 27 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS TS ĐỖ PHÚC ♦ Đầu ra của nơron tầng trước là đầu vào của nơron thuộc tầng liền sau nó Hoạt động của mạng MLP như sau: tại tầng đầu vào các nơron nhận tín hiệu vào xử lý (tính tổng trọng số, gửi tới hàm truyền) rồi cho ra. .. lan truyền ngược Ta sử dụng một số kí hiệu sau: • j: nơron thứ j (hay nút thứ j) • Xj: vector đầu vào của nút thứ j • Wj: vector trọng số của nút thứ j • xji: đầu vào của nút thứ j từ nút thứ i HVTH: NGÔ VĂN LINH – CH1301021 Trang 15 / 27 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS TS ĐỖ PHÚC • wji: trọng số trên xji • bj: ngưỡng tại nút thứ j • oj: đầu ra của nút thứ j • tj: đầu ra mong muốn của nút... CH1301021 Trang 18 / 27 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS TS ĐỖ PHÚC Khi đó: tổng trọng số tại tầng thứ (i + 1) ni+1 = wi+1ai + bi+1 = wi+1[wf ni +bf] + bi+1 = wi+1 [wf(wiai-1 + bi) + bf] + bi+1 = Wai-1 + b Như vậy ni+1 = Wai-1 + b, và tầng i đã không còn giá trị nữa ♦ Chọn các hàm truyền sao cho kiến trúc mạng nơron là đối xứng (tức là với đầu vào ngẫu nhiên thì đầu ra có phân bố đối xứng) Nếu... lblKetQua.ForeColor = System.Drawing.Color.Blue; lblKetQua.Text = "Kết quả "+ ketquachon +": Bạn có thể ra ngoài!"; } else { lblKetQua.ForeColor = System.Drawing.Color.Red; lblKetQua.Text = "Kết quả "+ ketquachon +": Bạn không nên ra ngoài!"; } } 3.3 – KẾT QUẢ THỬ NGHIỆM Giao diện chính của chương trình: HVTH: NGÔ VĂN LINH – CH1301021 Trang 24 / 27 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS TS ĐỖ PHÚC... luyện, chỉ các noron có đóng góp vào giải quyết bài toán mới được giữ lại, chúng sẽ tạo nên bộ xương cho mô hình mạng nơron HVTH: NGÔ VĂN LINH – CH1301021 Trang 19 / 27 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS TS ĐỖ PHÚC c Khởi tạo trọng số Trọng thường được khởi tạo bằng phương pháp thử sai, nó mang tính chất kinh nghiệm và phụ thuộc vào từng bài toán Việc định nghĩ thế nào là một bộ trọng tốt cũng . THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN BÁO CÁO THU HOẠCH HỆ HỖ TRỢ RA QUYẾT ĐỊNH NEURAL NETWORK VÀ ỨNG DỤNG HỖ TRỢ RA QUYẾT ĐỊNH DỰ BÁO GVHD : PGS. TS. ĐỖ PHÚC HVTH : NGÔ VĂN. này ứng dụng đơn giản mạng nơ-ron vào việc dự báo thời tiết, giúp người sử dụng có thể ra quyết định hợp lý cho công việc của mình. HVTH: NGÔ VĂN LINH – CH1301021 Trang 3 / 27 DSS - HỆ HỖ TRỢ RA. : CH1301021 TP.HCM - 2014 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS. TS. ĐỖ PHÚC MỤC LỤC HVTH: NGÔ VĂN LINH – CH1301021 Trang 2 / 27 DSS - HỆ HỖ TRỢ RA QUYẾT ĐỊNH HƯỚNG DẪN: PGS. TS. ĐỖ PHÚC PHẦN

Ngày đăng: 20/05/2015, 22:57

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan