Mạng nơ ron truyền thẳng và ứng dụng trong dự báo lũ lụt

74 745 2
Mạng nơ ron truyền thẳng và ứng dụng trong dự báo lũ lụt

Đ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

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 1 ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN XUÂN HÒA MẠNG NƠ RON TRUYỀN THẲNG VÀ ỨNG DỤNG TRONG DỰ BÁO LŨ LỤT LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 2 MỤC LỤC ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN XUÂN HÒA MẠNG NƠ RON TRUYỀN THẲNG VÀ ỨNG DỤNG TRONG DỰ BÁO LŨ LỤT Chuyên Ngành: Khoa học máy tính Mã số : 60.48.01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH NGƢỜI HƢỚNG DẪN KHOA HỌC TS. Nguyễn Long Giang Thái Nguyên - 2014 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 3 LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC 1 DANH SÁCH BẢNG 5 DANH SÁCH HÌNH VẼ 6 MỞ ĐẦU 7 Chƣơng 1. CÁC KHÁI NIỆM CƠ BẢN VỀ MẠNG NƠRON 9 1.1. Lịch sử phát triển 9 1.2. Nơron sinh học và mạng nơron sinh học 10 1.3. Nơron nhân tạo 10 1.4. Mạng nơron nhân tạo 13 1.4.1. Khái niệm 13 1.4.2. Cấu trúc 13 1.4.3. Các đặc trƣng của mạng nơron 15 1.5. Thủ tục học của mạng nơron 15 1.5.1. Học tham số 15 1.5.2. Học cấu trúc 17 1.6. Một số ứng dụng của mạng nơron 17 Chƣơng 2. MẠNG NƠRON TRUYỀN THẲNG VÀ THUẬT TOÁN LAN TRUYỀN NGƢỢC 19 2.1. Kiến trúc cơ bản của mạng nơron truyền thẳng 19 2.2. Khả năng thể hiện của mạng nơron truyền thẳng 20 2.3. Cơ chế học của mạng nơron truyền thẳng 21 2.4. Thuật toán lan truyền ngƣợc của sai số (Back-Propagation) 22 2.4.1. Mô tả thuật toán BP 22 2.4.2. Sử dụng thuật toán BP 27 2.4.3. Một số cải tiến của thuật toán BP 32 2.4.4. Nhận xét chung về thuật toán BP 37 2.5. Một số thuật toán tối ƣu khác 39 2.5.1. Thuật toán giả luyện kim (Simulated annealing) 39 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 4 2.5.2. Thuật giải di truyền 40 Chƣơng 3. ỨNG DỤNG MẠNG NƠRON TRUYỀN THẲNG TRONG DỰ BÁO DỮ LIỆU 42 3.1. Sơ lƣợc về ứng dụng mạng nơron trong dự báo dữ liệu 42 3.2. Thu thập, phân tích và xử lý dữ liệu 42 3.2.1. Kiểu của các biến 43 3.2.2. Thu thập dữ liệu 44 3.2.3. Phân tích dữ liệu 45 3.2.4. Xử lý dữ liệu 45 3.2.5. Tổng hợp 47 3.3. Chƣơng trình dự báo dữ liệu 48 3.3.1. Các bƣớc chính trong quá trình thiết kế và xây dựng 48 3.3.2. Ứng dụng mạng nơron truyền thẳng nhiều lớp trong dự báo đỉnh lũ sông Trà Khúc trạm Sơn Giang 53 3.3.3. Chƣơng trình dự báo dữ liệu 56 3.4. Một số nhận xét 60 KẾT LUẬN 62 TÀI LIỆU THAM KHẢO 64 PHỤ LỤC 66 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 5 DANH SÁCH BẢNG Bảng 2.1. Thuật toán lan truyền ngƣợc của sai số (Thuật toán BP) 27 Bảng 2.2. Các hàm kích hoạt 29 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 6 DANH SÁCH HÌNH VẼ Hình 1.1. Đơn vị xử lý thứ j 11 Hình 1.2. Hàm tuyến tính (Identity Function) 12 Hình 1.3. Hàm bƣớc nhị phân (Binary Step Function) 12 Hình 1.4. Hàm Sigmoid 13 Hình 1.5 Mạng nơron truyền thẳng nhiều lớp (Feed-Forward Neural Network) 14 Hình 1.6. Mạng hồi quy (Recurrent Neural Network) 14 Hình 1.7. Sơ đồ học có thầy 16 Hình 2.1. Mạng nơron truyền thẳng 2 lớp 19 Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 7 MỞ ĐẦU Dự báo dữ liệu là một trong những bài toán quan trọng trong khai phá dữ liệu và học máy nhằm tìm ra các quy luật của dữ liệu. Dự báo dữ liệu mang lại nhiều lợi ích thiết thực phụ vụ con ngƣời, nó giúp con ngƣời nắm bắt đƣợc các quy luật vận động trong tự nhiên và trong đời sống kinh tế xã hội. Nguyên lý của dự báo dữ liệu là dựa vào dữ liệu lịch sử để xây dựng mô hình nhằm dự báo các dữ liệu trong tƣơng lai. Có rất nhiều các phƣơng pháp dự báo dữ liệu khác nhau tùy thuộc vào từng đặc thù của các bài toán cụ thể và các nhiệm vụ khai phá dữ liệu, điển hình là các phƣơng pháp thống kê và học máy, hệ chuyên gia, hệ hỗ trợ quyết định Ngày nay, các kho dữ liệu ngày càng lớn, ngày càng phức tạp và đa dạng. Để xây dựng các mô hình dự báo hiệu quả trên những dữ liệu khổng lồ và phức tạp này, các nhà khoa học đã và đang nỗ lực nghiên cứu các phƣơng pháp mô phỏng tƣ duy của bộ óc của con ngƣời nhằm xây dựng các mô hình dự báo hiệu quả nhất, đặc biệt là các phƣơng pháp “học có thầy”, trong đó mạng nơron nhân tạo là công cụ điển hình. Mạng nơ ron nhân tạo là một lớp các mô hình tính toán mô phỏng hoạt động bộ não con ngƣời. Các mô hình đó đều sử dụng một cấu trúc mạng trong đó các đỉnh đƣợc gọi là các nơ ron. Các nơ ron này xử lý tín hiệu số từ môi trƣờng bên ngoài hoặc các nơ ron khác trong mạng gửi tới qua các kết nối và sau đó gửi tín hiệu đến các nơ ron khác hoặc ra môi trƣờng. Mạng nơron truyền thẳng là một lớp các mạng nơron nhân tạo đƣợc thực tiễn chứng minh là khá mạnh và hiệu quả trong các bài toán dự báo, phân tích dữ liệu. Chúng có thể đƣợc huấn luyện và ánh xạ từ các dữ liệu vào tới các dữ liệu ra mà không yêu cầu các dữ liệu đó phải đầy đủ. Trong số các loại mạng tƣơng đối phổ biến thì các mạng nơron truyền thẳng nhiều lớp, đƣợc huấn luyện bằng thuật toán lan truyền ngƣợc đƣợc sử dụng nhiều nhất. Các mạng nơron này có khả năng biểu diễn các ánh xạ phi tuyến giữa đầu vào và đầu ra, chúng đƣợc coi nhƣ là các “bộ xấp xỉ đa năng”. Việc ứng dụng của loại mạng này chủ yếu là cho việc phân tích, dự báo, phân loại các số liệu thực tế. Đặc biệt đối với việc dự báo khuynh hƣớng thay đổi của các dữ liệu tác nghiệp trong các cơ quan, tổ chức kinh tế, xã hội, Nếu có thể dự báo đƣợc khuynh hƣớng thay đổi của dữ liệu với một độ tin cậy nhất định, các nhà lãnh đạo có thể đƣa ra đƣợc các quyết sách đúng đắn cho cơ quan, tổ chức của mình. Luận văn này đƣợc thực hiện với mục đích tìm hiểu và làm sáng tỏ một số khía cạnh về mạng nơron truyền thẳng nhiều lớp, thuật toán lan truyền ngƣợc và ứng dụng chúng để xây dựng mô hình dự báo dữ liệu và thử nghiệm mô hình với bài toán dự báo đỉnh lũ sông Trà Khúc tại trạm khí tƣợng Sơn Giang. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 8 Đối tượng nghiên cứu của luận văn là các tập (bảng) dữ liệu mẫu của lĩnh vực dự báo lũ lụt, bao gồm tập dữ liệu huấn luyện (training), tập dữ liệu kiểm tra (test) và tập dữ liệu xác nhận (validation). Mỗi bảng dữ liệu bao gồm các giá trị thuộc tính đầu vào (thuộc tính điều kiện) và giá trị thuộc tính mong muốn (thuộc tính quyết định) Phạm vi nghiên cứu lý thuyết là mạng nơron truyền thẳng ba lớp, phạm vi nghiên cứu thực nghiệm là xây dựng chƣơng trình dự báo đỉnh lũ sông Trà Khúc tại trạm khí tƣợng Sơn Giang bằng cách áp dụng mô hình mạng nơron truyền thẳng ba lớp. Phương pháp nghiên cứu của luận văn là nghiên cứu lý thuyết và nghiên cứu thực nghiệm. Về nghiên cứu lý thuyết: luận văn thực hiện tổng hợp các khái niệm và các kết quả nghiên cứu về mạng nơron truyền thẳng nhiều lớp và các vấn đề liên quan đến thuật toán lan truyền ngƣợc. Về nghiên cứu thực nghiệm: luận văn thực hiện xây dựng mô hình dự báo sử dụng mạng nơron truyền thẳng và thử nghiệm mô hình với bài toán cụ thể nhằm sáng tỏ các vấn đề về lý thuyết. Bố cục của luận văn gồm phần mở đầu và ba chƣơng nội dung, phần kết luận và danh mục các tài liệu tham khảo. Chƣơng 1 trình bày các khái niệm cơ bản về mạng nơron nhân tạo. Chƣơng 2 trình bày mô hình mạng nơron truyền thẳng nhiều lớp và thuật toán lan truyền ngƣợc của sai số (Back-Propagation), gọi tắt là thuật toán BP. Chƣơng 3 trình bày các vấn đề về mô hình mạng nơron dự báo và xây dựng chƣơng trình dự báo đỉnh lũ sông Trà Khúc tại trạm khí tƣợng Sơn Giang. Cuối cùng, phần kết luận nêu những đóng góp của luận văn, hƣớng phát triển tiếp theo. Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 9 Chƣơng 1. CÁC KHÁI NIỆM CƠ BẢN VỀ MẠNG NƠRON 1.1. Lịch sử phát triển Dƣới đây đƣa ra các mốc đáng chú ý trong lịch sử phát triển của mạng nơron nhân tạo. Cuối thế kỷ 19, sự phát triển chủ yếu là những công việc có sự tham gia của cả ba ngành: Vật lý học, Tâm lý học, Thần kinh học bởi các nhà khoa học nhƣ: Hermann von Hemholtz, Ernst Mach, Ivan Pavlov. Các công trình nghiên cứu này chủ yếu đi sâu vào các lý thuyết tổng quát về Học (Learning), Nhìn (vision) và Điều kiện (conditioning) và không đƣa ra những mô hình toán học cụ thể nào để mô tả hoạt động của các Nơron. Bắt đầu vào những năm 1940 với công trình của Warrem McCulloch và Walter Pitts. Họ chỉ ra rằng về nguyên tắc, mạng của các nơron nhân tạo có thể tính toán bất kỳ một hàm số học hay logic nào. Tiếp theo là Donald Hebb, ông đã phát biểu rằng việc thuyết phản xạ cổ điển (classical conditioning) là hiện thực bởi vì do các thuộc tính của từng nơron riêng biệt. Ông cũng nêu ra một phƣơng pháp học của các nơron nhân tạo. Ứng dụng thực nghiệm đầu tiên của các nơron nhân tạo có đƣợc vào cuối những năm 50 cùng với phát minh của mạng perceptron và luật học tƣơng ứng bởi Frank Rosenblatt. Mạng này có khả năng nhận dạng các mẫu. Điều này đã mở ra rất nhiều hy vọng cho việc nghiên cứu mạng nơron. Tuy nhiên nó chỉ có thể giải quyết một số lớp hữu hạn các bài toán. Cùng thời gian đó, Bernard Widrow và Ted Hoff đƣa ra một thuật toán học mới và sử dụng nó để dạy cho các mạng nơron tuyến tính thích nghi, mạng có cấu trúc và chức năng tƣơng tự nhƣ mạng của Rosenblatt. Luật học Widrow-Hoff vẫn còn đƣợc sử dụng cho đến nay. Tuy nhiên cả Rosenblatt và Widrow-Hoff đều cùng vấp phải một vấn đề do Marvin Minsky và Seymour Papert phát hiện ra. Họ cố gắng cải tiến luật học và mạng để có thể vƣợt qua đƣợc hạn chế này nhƣng họ đã không thành công trong việc cải tiến luật học để có thể dạy đƣợc các mạng có cấu trúc phức tạp hơn. Do những kết quả của Minsky-Papert nên việc nghiên cứu về mạng nơron Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 10 gần nhƣ bị đình lại trong suốt một thập kỷ do nguyên nhân là không có đƣợc các máy tính đủ mạnh để có thể thực nghiệm. Mặc dù vậy, cũng có một vài phát kiến quan trọng vào những năm 70. Năm 1972, Teuvo Kohonen và James Anderson độc lập cùng phát triển một loại mạng mới có thể hoạt động nhƣ một bộ nhớ. Stephen Grossberg cũng rất tích cực trong việc khảo sát các mạng tự tổ chức (Self_organizing networks). Vào những năm 80, việc nghiên cứu mạng nơron phát triển rất mạnh mẽ cùng với sự ra đời của PC. Hai khái niệm mới có liên quan đến sự hồi sinh này đó là: 1) Việc sử dụng các phƣơng pháp thống kê để giải thích hoạt động của một lớp các mạng hồi quy (recurrent networks) có thể đƣợc dùng nhƣ bộ nhớ liên hợp (associative memory) trong công trình của nhà vật lý học Johh Hopfield. 2) Sự ra đời của thuật toán lan truyền ngƣợc (back-propagation) để luyện các mạng nhiều lớp đƣợc tìm ra bởi một vài nhà nghiên cứu một cách độc lập nhƣ: David Rumelhart, James McCelland, Đó cũng là câu trả lời cho Minsky-Papert. 1.2. Nơron sinh học và mạng nơron sinh học Hệ thần kinh ở ngƣời có khoảng 10 10 tế bào thần kinh đƣợc gọi là các nơron. Mỗi nơron gồm có ba phần: thân nơron với nhân ở bên trong, một đầu thần kinh ra và một hệ thống hình cây các đầu thần kinh vào. Độ lớn của các tín hiệu vào có thể bị thay đổi khi đƣợc truyền qua các khớp thần kinh có trên các nhánh thần kinh vào. Tỷ lệ biến đổi tín hiệu ở khớp thần kinh đƣợc gọi là độ khuyếch đại khớp và đƣợc gọi là các trọng số trong các nơron. Theo các nghiên cứu về sinh học, chức năng của hệ thần kinh không phụ thuộc nhiều vào vai trò của từng nơron đơn lẻ mà phụ thuộc vào cách mà toàn bộ các nơ ron đƣợc nối với nhau, gọi là mạng nơron sinh học. 1.3. Nơron nhân tạo Nơ ron nhân tạo là mô hình toán học mô phỏng nơron sinh học. Mỗi nơron nhân tạo đƣợc gọi là một đơn vị xử lý với chức năng: nhận tín hiệu vào từ các đơn vị phía trƣớc (hay một nguồn bên ngoài), tính tín hiệu ra từ các tín hiệu vào và lan truyền tín hiệu ra sang các đơn vị khác[4]. [...]... 2 MẠNG N RON TRUYỀN THẲNG VÀ THUẬT TOÁN LAN TRUYỀN NGƢỢC 2.1 Kiến trúc cơ bản của mạng n ron truyền thẳng Để đơn giản và tránh hiểu nhầm, mạng truyền thẳng xét trong chƣơng này là các mạng truyền thẳng có nhiều lớp Kiến trúc mạng truyền thẳng nhiều lớp (Multilayer Feed Forward (MLFF)) là kiến trúc chủ đạo của các mạng n ron hiện tại Một mạng n ron truyền thẳng nhiều lớp gồm một lớp vào, một lớp ra và. .. quyết các bài toán trong thực tế Vấn đề thiết cấu trúc mạng quy về việc tìm ra số nơ ron trong lớp ẩn Số nơ ron trong lớp ẩn Mạng n ron truyền thẳng có khả năng tổng quát hóa từ những dữ liệu mà nó đã học, nói cách khác, mạng n ron truyền thẳng có khả năng dự báo tốt Khả năng dự báo phụ thuộc nhiều vào số n ron trong lớp ẩn, hay phụ thuộc nhiều vào số lƣợng các trọng số của mạng Một mạng có số lƣợng... thƣờng đƣợc xác định bởi số lớp mạng và số nơ ron trong mỗi lớp: Lớp vào: Các n ron trong lớp vào gọi là các n ron vào, chúng không xử lý thông tin mà chỉ mã hóa mẫu đƣa vào mạng để xử lý Thông thƣờng, số thuộc tính của mẫu đƣa vào mạng bằng số n ron vào, chính là số đầu vào của mạng Lớp ẩn: Các n ron trong lớp này gọi là các n ron ẩn vì chúng không thể quan sát trực tiếp đƣợc Mạng có thể có một hay nhiều... với số n ron là lớn, đặc biệt đối với các mạng cần phải học các hàm không liên tục Về tổng thể, ngƣời ta khuyên rằng nên xem xét khả năng sử dụng mạng có một lớp ẩn đầu tiên trong khi thiết kế các mạng truyền thẳng trong thực tế Nếu dùng một lớp ẩn với một số lƣợng lớn các n ron mà không có hiệu quả thì nên sử dụng thêm một lớp ẩn với một số ít các n ron Tóm lại, mạng n ron truyền thẳng thƣờng sử dụng. .. từ các nơ ron vào đến các nơ ron ra chỉ đƣợc truyền thẳng Không có các liên kết từ các nơ ron ra tới các nơ ron vào trong cùng một lớp hay của các lớp trƣớc đó bias bias x0 h0 x1 y1 h1 x2 y2 h2 … … xl Líp vµo w (1 ) ji hm Líp Èn … yn w (2) kj Líp ra Hình 1.5 Mạng n ron truyền thẳng nhiều lớp (Feed-Forward Neural Network) Mạng hồi quy: Có chứa các liên kết ngƣợc, nghĩa là các liên kết từ nơ ron lớp... lớp hiện tại là đầu vào của lớp kế tiếp Khi tất cả các n ron đã thực hiện tính toán thì các n ron đầu ra thể hiện kết quả của chúng a1 1 f1 W R1 x1 S1xR1 n1 a2 2 S1x1 S2xS1 S1x1 1 P S1x1 n2 S2x1 S2x1 1 b1 f2 W b2 S2x1 Hình 2.1 Mạng n ron truyền thẳng 2 lớp Hình 2.1 là sơ đồ mạng n ron truyền thẳng hai lớp, trong đó: P: Vector đầu vào (vector cột) W1: Ma trận trọng số của các nơ ron lớp thứ 1 có kích... Khái niệm Mạng nơ ron nhân tạo là hệ thống bao gồm nhiều nơ ron nhân tạo kết hợp với nhau Hệ thống này có khả năng học số liệu và tổng quát hóa từ các số liệu đƣợc học 1.4.2 Cấu trúc Mạng nơ ron nhân tạo đƣợc biểu diễn bằng một đồ thị gồm một tập các nút và các cung có hƣớng, mỗi nút tƣơng ứng với một nơ ron, các cung biểu diễn các liên kết giữa các nơ ron Cấu trúc mạng nơ ron gồm cơ cấu tổ chức và sơ... tâm là lựa chọn cấu trúc mạng Nhƣ đã trình bày ở Chƣơng 1, mạng n ron truyền thẳng nhiều lớp luôn có một lớp vào và một lớp ra, số lớp ẩn có thể từ 0 đến vài lớp Đối với một bài toán cụ thể, số n ron trên lớp vào cố định bằng số biến của véc tơ vào, số n ron trên lớp ra cố định bằng số biến của véc tơ đích Vì vậy, vấn đề thiết kế cấu trúc mạng là vấn đề chọn số lớp ẩn và số n ron trên mỗi lớp ẩn Số hóa... phi tuyến cho mạng Lớp ra: Các n ron ở lớp này gọi là các n ron ra, các n ron này mã hoá giá trị hay khái niệm của các mẫu đƣa vào mạng Ví dụ, trong bài toán phân lớp, mỗi đầu ra là đại diện cho một lớp các đối tƣợng Sơ đồ kết nối xác định bởi phƣơng thức kết nối giữa các nơ ron trong mạng [4]: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ 14 Mạng truyền thẳng: Luồng... nhiều các lớp ẩn Các n ron đầu vào thực chất không phải các n ron theo đúng nghĩa, bởi lẽ chúng không thực hiện bất kỳ một tính toán nào trên dữ liệu vào Các n ron ở lớp ẩn và lớp ra mới thực sự thực hiện các tính toán Cụm từ truyền thẳng có nghĩa là tất cả các n ron chỉ có thể đƣợc kết nối với nhau theo một hƣớng tới một hay nhiều các n ron khác trong lớp kế tiếp (loại trừ các nơ ron ở lớp ra) Mỗi . Thuật giải di truyền 40 Chƣơng 3. ỨNG DỤNG MẠNG N RON TRUYỀN THẲNG TRONG DỰ BÁO DỮ LIỆU 42 3.1. Sơ lƣợc về ứng dụng mạng n ron trong dự báo dữ liệu 42 3.2. Thu thập, phân tích và xử lý dữ liệu. 2. MẠNG N RON TRUYỀN THẲNG VÀ THUẬT TOÁN LAN TRUYỀN NGƢỢC 2.1. Kiến trúc cơ bản của mạng n ron truyền thẳng Để đơn giản và tránh hiểu nhầm, mạng truyền thẳng xét trong chƣơng này là các mạng. 47 3.3. Chƣơng trình dự báo dữ liệu 48 3.3.1. Các bƣớc chính trong quá trình thiết kế và xây dựng 48 3.3.2. Ứng dụng mạng n ron truyền thẳng nhiều lớp trong dự báo đỉnh lũ sông Trà Khúc trạm

Ngày đăng: 18/11/2014, 19:52

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan