MỤC TIÊU VÀ NHIỆM VỤ CỦA LUẬN VĂN Luận văn tập trung nghiên cứu , lựa chọn các mô hình mạng nơron , áp dụng phương pháp học máy mạng nơron và ứng dụng vào bài toán dự báo nhiệt độ của
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
VŨ VĂN HẢI
DỰ BÁO NHIỆT ĐỘ THỦ ĐÔ HÀ NỘI
SỬ DỤNG MẠNG NƠRON NHÂN TẠO
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội – 2013
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
VŨ VĂN HẢI
DỰ BÁO NHIỆT ĐỘ THỦ ĐÔ HÀ NỘI
SỬ DỤNG MẠNG NƠRON NHÂN TẠO
Chuyên nghành: Hệ thống Thông tin
Mã số: 60 48 05
LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN QUANG HOAN
Hà Nội - 2013
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan: Bản luận văn tốt nghiệp này là công trình nghiên cứu thực sự của cá nhân , được thực hiện trên cơ sở nghiên cứu lý thuyết , thực nghiệm thông qua các ứng du ̣ng mã nguồn mở , các kiến thức học được ở cấp cao học và dưới sự hướng dẫn khoa học của PGS.TS Nguyễn Quang Hoan Các số liệu và kết quả trong luận văn
là trung thực, chưa được sử dụng hay công bố ở bất cứ hình thức nào Dữ liệu để thực nghiệm có nguồn gốc rõ ràng và không mang tính chất thương mại
Hà Nội, tháng 12 năm 2013
HỌC VIÊN
Vũ Văn Hải
Trang 4LỜI CẢM ƠN
Trước tiên, tôi xin bày tỏ lòng biết ơn sâu sắc tới PGS.TS Nguyễn Quang Hoan, người thầy đã hướng dẫn, chỉ bảo tận tình để tôi có thể hoàn thành luận văn này Tôi cũng chân thành gửi lời cảm ơn tới các thầy, cô giáo Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã truyền thụ kiến thức, hỗ trợ tôi trong suốt quá trình học tập vừa qua
Tôi cũng xin cảm ơn cơ quan, bạn bè đồng nghiệp, gia đình và những người thân đã cùng chia sẻ, giúp đỡ, động viên, tạo mọi điều kiện thuận lợi để tôi hoàn thành nhiệm vụ học tập và cuốn luận văn này
Hà Nội, tháng 12 năm 2013
HỌC VIÊN
Vũ Văn Hải
Trang 5MỤC LỤC
LỜI CẢM ƠN 4
MỤC LỤC 5
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 7
DANH MỤC CÁC BẢNG BIỂU 8
DANH MỤC HÌNH VẼ, ĐỒ THỊ 9
MỞ ĐẦU 10
1 LÝ DO CHỌN ĐỀ TÀI 10
2 MỤC TIÊU VÀ NHIỆM VỤ CỦA LUẬN VĂN 10
3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 10
4 PHƯƠNG PHÁP NGHIÊN CỨU 10
5 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI 10
6 BỐ CỤC CỦA LUẬN VĂN 11
Chương 1 TỔNG QUAN VỀ BÀI TOÁN DỰ BÁO 12
1.1 MỞ ĐẦU 12
1.2 QUY TRÌNH THỰC HIỆN DỰ BÁO 13
1.3 PHƯƠNG PHÁP DỰ BÁO 14
1.3.1 Phương pháp dự báo định tính 14
1.3.2 Phương pháp dự báo định lượng 15
1.3.3 Một số mô hình dự báo thời tiết 15
1.3.4 Phương pháp dự báo sử dụng mạng nơron nhân tạo 17
1.3.5 Mô ̣t số phương pháp dự báo khác 17
1.4 ĐÁNH GIÁ KẾT QUẢ DỰ BÁO 19
1.5 KẾT LUẬN CHƯƠNG 1 20
Chương 2 NGHIÊN CỨU MẠNG NƠRON NHÂN TẠO 21
2.1 GIỚI THIỆU MẠNG NƠRON NHÂN TẠO 21
2.1.1 Mạng nơron nhân tạo là gì? 21
2.1.2 Lịch sử phát triển mạng nơron 21
2.1.3 So sánh mạng nơron với máy tính truyền thống 23
2.2 NƠRON SINH HỌC VÀ NƠRON NHÂN TẠO 24
2.2.1 Nơron sinh học 24
2.2.2 Nơron nhân tạo 25
2.3 MẠNG NƠRON NHÂN TẠO 28
2.3.1 Mô hình mạng nơron nhân tạo 28
2.3.2 Phân loa ̣i ma ̣ng nơron nhân ta ̣o 29
2.3.3 Thuật học trong mạng nơron 30
2.4 MẠNG NƠRON NHÂN TẠO TRUYỀN THẲNG 33
2.4.1 Mạng Perceptron một lớp 33
2.4.2 Mạng Perceptron nhiều lớp 35
2.4.3 Thuật toán học theo phương pháp lan truyền ngược sai số 36
2.4.4 Một số yếu tố ảnh hưởng đến quá trình học theoBPA 40
2.4.5 Một số vấn đề cần chú ý khi sử dụng mạng MLP 41
2.5 KẾT LUẬN CHƯƠNG 2 44
Trang 6Chương 3 DỰ BÁO NHIỆT ĐỘ THỦ ĐÔ HÀ NỘI SỬ DỤNG MẠNG NƠRON
NHÂN TẠO 45
3.1 BÀI TOÁN 45
3.2 ĐIỀU KIỆN NHIỆT ĐỘ Ở THỦ ĐÔ HÀ NỘI 45
3.3 THỐNG KÊ VÀ LÀM SẠCH DỮ LIỆU 46
3.1.1 Thống kê dữ liệu 46
3.1.2 Làm sạch dữ liệu 47
3.4 DỰ BÁO NHIỆT ĐỘ SỬ DỤNG MẠNG NƠRON NHÂN TẠO 48
3.4.1 Các bước xây dựng bài toán 48
3.4.2 Xác định cấu trúc mạng 49
3.4.3 Chương trình dự báo sử dụng mạng nơron nhân ta ̣o 52
3.4.4 Kết quả dự báo bằng phương pháp ANN 54
3.4.5 Dự báo nhiệt độ kết hợp ma ̣ng nơron nhân ta ̣o và phương pháp hồi quy 55 3.5 DỰ BÁO NHIỆT ĐỘ SỬ DỤNG MỘT SỐ PHƯƠNG PHÁP KHÁC 58
3.5.1 Dự báo nhiệt độ sử dụng phương pháp K-NN 58
3.5.2 Dự báo nhiệt độ sử dụng phương pháp hồi quy tuyến tính 61
3.6 KẾT LUẬN CHƯƠNG 3 64
KẾT LUẬN 65
1 KẾT QUẢ ĐA ̣T ĐƯỢC 65
2 HƯỚNG PHÁT TRIỂN 65
TÀI LIỆU THAM KHẢO 66
PHỤ LỤC 1: MỘT SỐ KẾT QUẢ DỰ BÁO KHÁC 68
PHỤ LỤC 2: DỮ LIỆU THỜI TIẾT THỦ ĐÔ HÀ NỘI 70
Trang 7DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
TT TÊN VIẾT
TẮT TÊN ĐẦY ĐỦ DIỄN GIẢI
1 ANN Artificial Neural Network Mạngnơron nhân tạo
6 MAE Mean Absolute Error Sai số tuyệt đối
State/NCAR Mesoscale Model
Mô hình Penn State /NCAR Mesoscale thế hê ̣ thứ 5
Modelling System
Mô hình hê ̣ thống khí quyển khu vực
12 RMSE Root Mean Square Error Sai số căn quân phương
Trang 8DANH MỤC CÁC BẢNG BIỂU
Bảng 1.1 Tổng hợp một số phương pháp dự báo trên thế giới 14
Bảng 2.1 Một số hàm kích hoạt được sử dụng trong các mô hình nơron nhân tạo 27
Bảng 3.1 Dữ liệu nhiệt độ năm 2011 ở thủ đô Hà Nội 46
Bảng 3.2 Dữ liệu được tổng hợp làm đầu vào cho bài toán dự báo 47
Bảng 3.3 Kết quả dự báo nhiê ̣t đô ̣ Hà Nô ̣i năm 2010 ứng với một số nơron lớp ẩn 49
Bảng 3.4 Kết quả dự báo nhiệt độ Hà Nội năm 2011 ứng với một số nơron lớp ẩn 50
Bảng 3.5 Kết quả dự báo nhiê ̣t đô ̣ thủ đô Hà Nô ̣i bằng phương pháp ANN 54
Bảng 3.6 Kết quả dự báo nhiê ̣t đô ̣ năm 2010 của Hà Nội phương pháp lai ghép 57
Bảng 3.7 Kết quả dự báo nhiê ̣t đô ̣ thủ đô Hà Nô ̣i bằng phương pháp K-NN 60
Bảng 3.8 Kết quả dự báo nhiê ̣t đô ̣ thủ đô Hà Nô ̣i bằng phương pháp hồi quy 63
Trang 9DANH MỤC HÌNH VẼ, ĐỒ THỊ
Hình 1.1 Phân lớp trong thuật toán K-NN 17
Hình 2.1 Cấu trúc của một nơron sinh học điển hình 25
Hình 2.2 Cấu trúc nơron nhân tạo 26
Hình 2.3 Mô hình mạng nơron nhân tạo 29
Hình 2.4 Phân loa ̣i ma ̣ng nơron 30
Hình 2.5 Các dạng học tham số 31
Hình 2.6 Mạng Perceptron một lớp 34
Hình 2.7 Mạng MLP tổng quát 35
Hình 2.8 Lan truyền tín hiệu theo phương pháp lan truyền ngược sai số 37
Hình 2.9 Minh họa về ý nghĩa của quán tính trong thực tế 41
Hình 3.1 Dữ liệu thiếu 47
Hình 3.2 Sơ đồ huấn luyê ̣n dữ liê ̣u dự báo 52
Hình 3.3 Sơ đồ dự báo 52
Hình 3.4 Giao diện chương trình dự báo 53
Hình 3.5 Huấn luyện mạng 53
Hình 3.6 Dự báo nhiệt độ sử dụng mạng nơron nhân tạo 54
Hình 3.7 Biểu đồ dự báo nhiê ̣t đô ̣ thủ đô Hà Nô ̣i năm 2010 bằng phương pháp ANN 55
Hình 3.8 Biểu đồ dự báo nhiê ̣t đô ̣ thủ đô Hà Nô ̣i năm 2011 bằng phương pháp ANN 55
Hình 3.9 Khoảng cách giữa các Query Point với tất cả các mẫu học 59
Hình 3.10 Dữ liệu biến phụ thuộc 60
Hình 3.11 Kết quả dự báo bằng phương pháp K-NN 60
Hình 3.12 Hô ̣p thoa ̣i chứa các công cu ̣ phân tích dữ liê ̣u 61
Hình 3.13 Hô ̣p thoa ̣i khai báo các thông số của mô hình hồi quy 62
Hình 3.14 Kết quả phân tích hồi quy 63
Trang 10MỞ ĐẦU
1 LÝ DO CHỌN ĐỀ TÀI
Công tác dự báo có nhiệm vụ đoán trước sự thay đổi của đối tượng dự báo t rên
cơ sở nghiên cứu các quy luật của chúng Hiện nay có rất nhiều bài toán dự báo được đặt ra như dự báo tuyển sinh, dự báo các chỉ số kinh tế vĩ mô v.v Dự báo nhiệt độ có
ý nghĩa quan trọng đối với sản xuất và đời sống, nhằm phòng chống và hạn chế thiên tai, thiết lập kế hoạch sản xuất, khai thác tiềm năng khí hậu Luận văn sử dụng công cụ tiến tiến là mạng nơron nhân tạo với mong muốn thử nghiê ̣m dự báo nhiệt độ của thủ
đô Hà Nội
2 MỤC TIÊU VÀ NHIỆM VỤ CỦA LUẬN VĂN
Luận văn tập trung nghiên cứu , lựa chọn các mô hình mạng nơron , áp dụng phương pháp học máy mạng nơron và ứng dụng vào bài toán dự báo nhiệt độ của thủ
đô Hà Nội Luận văn phát triển công cụ thử nghiệm riêng và tiến hành thử nghiệm trên
bộ số liệu được thu thập
3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
Luận văn nghiên cứu lý thuyết mạng nơron nhân tạo , mạng nơron lan truyền thẳng và thuật toán lan truyền ngược , áp dụng vào bài toán dự báo nói chung và dự báo nhiệt độ của thủ đô Hà Nội nói riêng Luâ ̣n văn nghiên cứu thuâ ̣t toán K -NN trong dự báo và phương pháp hồi quy để đối sánh kết quả dự báo với phương pháp ma ̣ng nơron nhân ta ̣o Đồng thời luận văn cũng lai ghép phương pháp mạng nơron và hồi quy tuyến tính để dự báo
Do nguồn dữ liê ̣u thu thâ ̣p được chưa đầy đủ , luâ ̣n văn mới thử nghiê ̣m cho dữ liê ̣u tháng, từ năm 2002 đến năm 2011
4 PHƯƠNG PHÁP NGHIÊN CỨU
Nghiên cứu về lý thuyết để nắm rõ các mô hình mạng nơron, các phương pháp
dự báo, lý thuyết về mạng nơron nhân tạo, mạng nơron lan truyền thẳng và thuật toán lan truyền ngược Trên cở sở đó học viên lựa chọn mô hình phù hợp và thử nghiệm để hiệu chỉnh tối ưu mô hình đã lựa chọn
5 Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI
Luâ ̣n văn thử nghiê ̣m phương pháp ho ̣c của ma ̣ng nơron cho dự báo thời tiết Các đầu vào dữ liê ̣u mẫu có thể sử du ̣ng phương pháp hồi quy để dự báo từng tham số Toàn bộ bài toán có thể sử dụng phương pháp lai giữa mạng nơron và phương pháp hồi quy
Trang 11Kết quả dự báo của mạng nơron lan truyền ngược cho độ chính xác nhất đi ̣nh Tuy nhiên, luận văn chỉ dừng lại ở mức dự báo nhiệt độ theo tháng do ho ̣c viên không xin đươ ̣c dữ liê ̣u từng ngày của Trung tâm Khí tượng Thủy văn quốc gia Về nguyên tắc: nếu có bô ̣ dữ liê ̣u vào đầy đủ thì ma ̣ng hoàn t oàn xử lý bình thường (tốc đô ̣ có thể châ ̣m hơn do nhiều bản ghi) theo ngày Nếu có bộ dữ liệu của từng ngày và dữ liệu với nhiều yếu tố đầu vào hơn nữa như: hướng gió, áp suất thì mức độ dự báo sẽ càng chính xác hơn
6 BỐ CỤC CỦA LUẬN VĂN
Nội dung của luận văn được tổ chức thành ba chương có nội dung như sau:
- Chương 1: Nghiên cứu về bài toán dự báo , các phương pháp dự báo nói chung và phương
pháp dự báo áp dụng cho bài toán dự báo nhiệt độ nói riêng
- Chương 2: Nghiên cứu về mạng nơron nhân tạo, tập trung vào mạng nơron truyền thẳng
nhiều lớp, chương này cung cấp chi tiết các vấn đề về quá trình huấn luyện và thuật toán học của mạng, với trọng tâm là thuật toán lan truyền ngược sai số
- Chương 3: Xây dựng ứng dụng mạng nơron nhân tạo vào giải quyết bài toán dự báo nhiệt
độ của thủ đô Hà Nội đồng thời sử dụng thuật toán K -NN, phương pháp hồi quy để dự báo nhiệt độ thủ đô Hà Nội trên bộ dự liệu đã thu thập được Ngoài ra , chương 3 còn đối sánh kết quả dự bá o của các phương pháp trên và thử nghiệm lai ghép giữa mạng nơron
và phương pháp hồi quy để dự báo
Kết luận: Tổng kết các kết quả đã đạt được của luận văn và hướng nghiên cứu
tiếp theo Phần phụ lục giới thiệu về mã nguồn và dữ liê ̣u sử dụng trong ứng dụng dự báo nhiệt độ thủ đô Hà Nội sử dụng mạng nơron nhân tạo
Trang 12Chương 1 TỔNG QUAN VỀ BÀI TOÁN DỰ BÁO
1.1 MỞ ĐẦU
Dự báo là tiên đoán, ước lượng, đánh giá các sự kiện xảy ra trong tương lai, các
sự kiện này thường là bất định Mục đích dự báo là sử dụng thông tin hiện có một cách tốt nhất để định hướng các họat động tương lai nhằm đạt được mục đích tổ chức Nếu
dự báo tốt thì hoạt động của tổ chức trong tương lai sẽ có hiệu quả
Dự báo giúp các nhà lãnh đạo ra các quyết định về chính sách, sản phẩm , quy trình công nghệ , quyết định về nguồn lực như máy móc thiết bị cũng như quyết định
về vận hành hệ thống Dự báo giúp các nhà quản lý hoa ̣ch định các kế hoa ̣ch như kế hoạch tài chính , kế hoa ̣ch tiếp thị , kế hoa ̣ch sản xuất Có nhiều loại quyết định , nhiều loại kế hoa ̣ch, nên có nhiều loa ̣i mô hình dự báo
Trong một tổ chức sản xuất, dự báo thường dùng để dự đoán doanh thu, chi phí, lợi nhuận, giá cả, thay đổi công nghệ, và đặc biệt là nhu cầu Hầu hết các công ty không bao giờ chờ cho đến khi nhận được đơn đặt hàng rồi mới bắt đầu hoa ̣ch định sản xuất, thu mua nguyên vật liệu Khách hàng thường ít khi chịu chờ các nhà sản xuất đáp ứng yêu cầu, nên để tăng thế cạnh tranh, nhà sản xuất phải làm đáp ứng nhu cầu của khách hàng nhanh chóng Để thực hiện được điều này, nhà sản xuất phải dự báo nhu cầu tốt
Dự báo đã có nhiều manh nha từ trước, song nó chỉ thực sự phát triển vào cuối thế kỷ 19 trong một số ngành như hàng hải, nông nghiệp Nhiều kỹ thuật dự báo ngày nay đã bắt đầu phát triển vào thế kỷ 19
Dự báo thường gồm các vấn đề sau:
- Đối tượng và đơn vị dự báo;
- Chiều dự báo;
- Phương pháp dự báo;
- Thời gian và chu kz dự báo;
- Độ chính xác dự báo;
- Báo cáo đặc biệt;
- Mô hình và điều chỉnh mô hình dự báo
Đối tượng dự báo có thể là thời tiết, chỉ số chứng khoán, một vật tư, hay sức tiêu thụ một sản phẩm v.v…
Chiều dự báo là trên xuống hay dưới lên Dự báo từ trên xuống bắt đầu từ dự báo các chỉ số kinh tế như tổng sản phẩm quốc gia, thu nhập đầu người, sau đó là dự báo cho một ngành công nghiệp mà tổ chức đang tham gia, dự báo cho thị phần của tổ
Trang 13chức, tiếp theo là dự báo cho một dòng sản phẩm và cuối cùng là dự báo cho từng sản phẩm Dự báo từ dưới lên là dự báo theo chiều ngược lại
Phương pháp dự báo dựa vào dữ kiện chia thành phương pháp định tính và phương pháp định lượng Phương pháp định lượng bao gồm phương pháp phân tích theo chuỗi thời gian và phương pháp nguyên nhân
Thời gian dự báo bao gồm nhiều chu kỳ dự báo Chu kỳ dự báo có thể là tuần, tháng, hay quí Thời gian dự báo có thể là ngắn hạn, trung hạn hay dài hạn Dự báo ngắn hạn có thời gian thường không quá 3 tháng, dùng cho nhà quản lý cấp thấp trong hoạch định mua sắm , lên lịch sản xuất, điều độ công việc, phân công nhiệm vụ… Dự báo ngắn hạn thường sử dụng phương pháp chuỗi thời gian, hoặc đôi khi dùng phương pháp nguyên nhân Dự báo trung hạn có thời gian thường từ 3 tháng đến 2 năm, dùng cho nhà quản lý cấp trung trong hoạch định sản xuất và phân phối hoặc đánh giá mức
độ tồn kho cần thiết Dự báo trung hạn có thể sử dụng phương pháp chuỗi thời gian , phương pháp nguyên nhân và cả phương pháp định tính Dự báo dài hạn thường có thời gian trên 2 năm, dùng cho nhà quản lý cấp cao trong hoa ̣ch định chiến lược cũng như đánh giá các mục tiêu dài hạn, tham gia vào thị trường mới, phát triển kỹ thuật mới hoặc các điều kiện mới, thiết kế mạng lưới sản xuất kinh doanh Dự báo dài hạn thường sử dụng phương pháp nguyên nhân và phương pháp định tính
1.2 QUY TRÌNH THỰC HIỆN DỰ BÁO
Dự báo là một quá trình phức tạp nhưng về cơ bản qui trình có thể thực hiện theo các bước sau:
Trang 141.3 PHƯƠNG PHÁP DỰ BÁO
Có nhiều học giả có cách phân loại phương pháp dự báo khác nhau Tuy nhiên theo học giả Gordon [16], trong 2 thập kỷ gần đây, có 8 phương pháp dự báo được áp dụng rộng rãi trên thế giới bao gồm:
Bảng 1.1 Tổng hợp một số phương pháp dự báo trên thế giới
TT Tên phương pháp dự báo
1 Tiên đoán/Genius Forecasting
2 Ngoại suy xu hướng/Trend Extrapolation
3 Phương pháp chuyên gia/Consensus Methods
4 Phương pháp mô hình (mô hình hóa)/Stimulation
5 Phương pháp ma trận tác động qua lại/Cross-Impact Matrix Method
6 Phương pháp kịch bản/Scenario
7 Phương pháp cây quyết định/Decision Trees
8 Phương pháp dự báo tổng hợp/Combining Methods
Bảng 1.1 đề cập 8 phương pháp thường được sử dụng trên thế giới trong dự báo Tuy nhiên, theo cách phân loại tại Việt Nam, các phương pháp dự báo thường chia thành 2 nhóm chính là phương pháp định tính và phương pháp định lượng
1.3.1 Phương pháp dự báo định tính
Phương pháp dự báo định tính dựa trên các dữ kiện định tính như ý kiến , phán đoán, kinh nghiệm, chuyên môn của các chuyên gia hay là những người liên quan để dự báo sự thay đổi của mô ̣t sự vâ ̣t, hiê ̣n tượng
Trong báo thời tiết , dự báo của dân gian là phương pháp tiêu biểu nhất của phương pháp dự báo đi ̣nh tính Phương pháp này có độ chính xác tương đối cao Đây
là phương pháp được chắt lọc qua hàng ngàn năm và đến nay vẫn còn nguyên giá trị
Ví dụ, trong văn ho ̣c dân gian Viê ̣t Nam có câu:
“Chuồn chuồn bay thấp thì mưa, bay cao thì nắng, bay vừa thì râm”
Ông cha ta đã quan sát chuồn chuồn bay để dự báo trời có mưa hay không Nhưng sau này hiện tượng này lại được giải thích hết sức khoa học Về mặt vật lý, cánh chuồn chuồn được cấu tạo rất mỏng, còn khi trời sắp mưa độ ẩm trong không khí
là rất cao Hơi nước ngưng tụ thành những hạt li ti, đậu trên cánh của chuồn chuồn khiến chúng không thể bay cao được Ngoài ra, tập tính sinh sản của chuồn chuồn cũng có thể dùng để giải thích hiện tượng này Chuồn chuồn thường đẻ trứng vào mùa
Trang 15mưa và đẻ trên mặt nước Chính vì vậy, ta thường thấy chúng lượn lờ trên mặt nước mỗi khi mưa sắp đến
1.3.2 Phương pháp dự báo định lượng
Trong khi phương pháp định tính dựa trên cơ sở nhận xét của những yếu tố liên quan, những ý kiến về các khả năng có liên hệ của những yếu tố liên quan này trong tương lai thì phương pháp định lượng ngược lại dựa trên các dữ kiện định lượng
Mô hình dự báo định lượng dựa trên số liệu quá khứ, những số liệu này giả sử có liên quan đến tương lai và có thể tìm thấy được Tất cả các mô hình dự báo theo định lượng có thể sử dụng thông qua chuỗi thời gian và các giá trị này được quan sát đo lường các giai đoạn theo từng chuỗi
Phương pháp định lượng chia làm 2 loại:
- Phương pháp phân tích theo chuỗi thời gian;
- Phương pháp nguyên nhân
Phương pháp phân tích theo chuỗi thời gian dựa trên số liệu quá khứ theo thời gian của đại lượng cần dự báo Phương pháp nguyên nhân dựa trên quan hệ giữa đại lượng cần dự báo và các đại lượng khác có thể đo lường được
Hiện nay, khi dự báo người ta thường kết hợp cả phương pháp định tính và định lượng để nâng cao độ chính xác Bên cạnh đó, vấn đề cần dự báo đôi khi không thể thực hiện được thông qua một phương pháp dự báo đơn lẻ mà đòi hỏi kết hợp nhiều hơn một phương pháp nhằm mô tả đúng bản chất sự việc cần dự báo
Trong luận văn này, học viên sử dụng phương pháp dự báo định lượng và cụ thể
là mạng nơron lan truyền ngược để dự báo nhiệt độ của thủ đô Hà Nội Đây là phương pháp kết hợp cả hai loại phương pháp phân tích theo chuỗi thời gian và phương pháp nguyên nhân
1.3.3 Một số mô hình dự báo thời tiết
Hiê ̣n nay , công tác dự báo thời tiết trên thế giới nói chung và ở Việt Nam nói riêng rất hiện đại và phổ biến Có rất nhiều mô hình dự báo khác nhau như:
Mô hình dự báo số trị[11]: Dự báo số trị là phương pháp dự báo thời tiết dựa
trên cơ sở tích phân số trị hệ phương trình thuỷ động lực học của khí quyển Ngày nay,
ở nhiều nước, phương pháp này đã được sử dụng để dự báo thời tiết trong điều kiện nghiệp vụ Lý thuyết của dự báo số trị là một phần của khí tượng động lực, được tách
ra thành một giáo trình độc lập vì có ý nghĩa thực tiễn lớn và cần được nghiên cứu kỹ hơn so với các phần khác
Mô hình HRM (High Resolution Regional Model) [7]: Mô hình HRM được tiếp
nhận từ Cơ quan Khí tượng Đức (DWD) từ năm 2000 thông qua đề tài Khoa học Công
Trang 16nghệ cấp Nhà nước DBB-2000/02 do PGS TSKH Kiều Thị Xin làm chủ nhiệm và chạy ở chế độ nghiệp vụ tại Bộ môn Khí tượng từ đó đến nay
Mô hình RAMS (Regional Atmospheric Modelling System) [7]: RAMS là một
mô hình khu vực hạn chế được xây dựng và phát triển tại trường Đại học tổng hợp Colorado – Mỹ Mô hình RAMS có khả năng ứng dụng rộng rãi cho các mục đích khác nhau Mô hình được thiết kế chạy được nhiều lưới lồng với nhiều miền tính khác nhau mà độ phân giải có thể biến thiên từ vài chục km tới vài trăm mét Vì vậy, nó có thể mô phỏng chi tiết được các hệ thống khí quyển quy mô nhỏ như là dòng chuyển động trên các địa hình phức tạp, các hoàn lưu nhiệt bề mặt Lưới thô hơn bên ngoài
sử dụng để mô phỏng các quá trình quy mô lớn và cung cấp điều kiện biên phụ thuộc thời gian cho các lưới tính bên trong
Mô hình RAMS được tiếp thu về Việt Nam thông qua đề tài KHCN KC09-04 do GS.TS Trần Tân Tiến làm chủ nhiệm, và đã từng chạy theo chế độ nghiệp vụ tại Khoa Khí tượng Thủy văn và Hải dương học trong giai đoạn đề tài đang triển khai Theo các tác giả đề tài, RAMS đã chứng tỏ khả năng dự báo tốt trong nhiều trường hợp mưa lớn, bão, và các hiện tượng thời tiết nguy hiểm như giông
Mô hình WRF (The Weather Research And Forcast) [21]:WRF là mô hình khí
quyển quy mô vừa được thiết kế linh động, có độ tùy biến cao và có thể sử dụng trong nghiên cứu và dự báo nghiệp vụ WRF là kết quả của sự hợp tác, phát triển của nhiều trường đại học , trung tâm nghiên cứu và dự báo khí tượng ở Hoa Kỳ Mô hình WRF
có khả năng mô phỏng được các quá trình khí quyển trên nhiều quy mô khác nhau WRF sử dụng hệ tọa độ áp suất cho phương thẳng đứng và lưới ngang xen kẽ Arakawa-C với sơ đồ tích phân thời gian Runge – Kutta bậc ba Mô hình có thể sử dụng số liệu thực hoặc mô phỏng lý tưởng với điều kiện biên xung quanh là biên tuần hoàn, mở, đối xứng, biên cấu hình với điều kiện biên trên là lớp hấp thụ sóng dài của trái đất (suy giảm hoặc tán xạ Rayleigh) và điều kiện biên dưới là biên cứng hoặc bề mặt trượt tự do
Ở Việt Nam mô hình WRF chưa được sử dụng vào nghiệp vụ dự báo thời tiết song các nghiên cứu về mô hình này nhìn chung rất đa dạng và phong phú với nhiều hướng tiếp cận khác nhau Mô hình WRF đang được nghiên cứu và áp dụng thử nghiệm dự báo ở Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội, Viện Khoa học Khí tượng Thủy văn và Môi trường, Trung tâm Dự báo Khí tượng Thủy văn Trung ương
Mô hình MM5[7]: Mô hình MM5 đã được hình thành bởi Trung tâm Nghiên
cứu Khí tượng Hoa Kỳvà là mô hình khí tượng tối tân và chính xác nhất hiện nay
Mô hình MM5 đang được nhiều cơ quan chính phủ cũng như nhiều đại học danh tiếng ở Hoa Kỳ và các quốc gia khác trên thế giới như tại Âu Châu, Hồng Kông và Đài Loan dùng để làm dự báo thời tiết Mô hình MM5 thường đòi hỏi phải sử dụng
Trang 17máy vi tính cao cấp và đắt tiền Hiện nay, Viện Khí tượng Thuỷ văn cũng đã áp dụng thành công MM5 để dự báo thời tiết ở Việt Nam MM5 là mô hình có khả năng dự báo thời tiết trong vòng 16 ngày, nhưng điều kiện kỹ thuật ở Việt Nam chỉ cho kết quả 3 ngày và 7 ngày
1.3.4 Phương pháp dự báo sử dụng mạng nơron nhân tạo
Phương pháp dự báo sử dụng mạng nơron nhân tạo là phương pháp dự báo sử dụng mô hình có khả năng “học” từ các dữ liệu quá khứ, có thể cập nhật các tham số Nếu lựa chọn được các tham số tối ưu thì đó là mô hình xấp xỉ rất tốt đường cong dịch chuyển của đối tượng cần dự báo Kết quả dự báo cũng có độ chính xác cao Đây là
mô hình được lựa chọn cho bài toán dự báo nhiệt độ của luận văn, cụ thể các vấn đề liên quan đến mạng nơron sẽ được trình bày trong chương 2
1.3.5 Mô ̣t số phương pháp dự báo khác
1.3.5.1 Phương pháp dự báo K-NN
Thuâ ̣t toán K-Nearest Neighbors (K-NN) là phương pháp truyền thống khá nổi
tiếng được sử dụng rất phổ biến trong lĩnh vực khai phá dữ liê ̣u Phương pháp K -NN đươ ̣c ứng du ̣ng thành công trong hầu hết các lĩnh vực tìm kiếm thông tin, nhâ ̣n da ̣ng và phân tích dữ liê ̣u… K-NN ứng du ̣ng ma ̣nh trong phân lớp, viê ̣c phân lớp các đối tượng dựa vào khoảng cách gần nhất giữa đối tượng cần xếp lớp (Query Point) và tất cả các đối tượng trong bô ̣dữ liê ̣u huấn luyê ̣n [24]
Một đối tượng được phân lớp dựa vào láng giềng của nó là số nguyên dương được xác định trước khi thực hiện thuật toán Người ta thường dùng khoảng cách Euclidean để tính khoảng cách giữa các đối tượng
Trong hình 1.1, dữ liê ̣u huấn luyê ̣n (láng giềng ) được mô tả bởi dấu + và dấu -, đối tượng cần được xác định lớp cho nó (Query Point) là hình tròn Nhiệm vụ của chúng ta là ước lượng (hay dự đoán) lớp của Query Point dựa vào việc lựa chọn số láng giềng gần nhất với nó Nói cách khác, chúng ta muốn biết liệu Query Point sẽ được phân vào lớp + hay lớp -
Hình 1.1Phân lớp trong thuật toán K-NN
Trang 18Ta thấy rằnghình chấm trong hình 1.1 là Query Point khi xét số lượng các láng giềng gần nhất thì nếu:
- Xét 1 láng giềng gần nhất thì Query Point được xếp vào lớp dấu + do đối tượng gần với Query Point nhất là dấu +
- Xét 2 láng giềng gần nhất thì không xác định lớp cho Query Point vì số láng giềng gần nhất với
nó là hai trong đó một là lớp + và một là lớp, không có lớp nào có số đối tượng nhiều hơn lớp kia
- Xét 5 láng giềng gần nhất thì Query Point được xếp vào lớp dấu – vì trong 5 láng giềng gần nhất với nó thì có 3 đối tượng thuộc lớp, nhiều hơn lớp + chỉ có 2 đối tượng
Trong bài toán dự báo , tư tưởng chính của thuật toán K-NN vẫn không đổi, chỉ
mở rộng thêm để dự đoán với các dữ liệu định lượng Trong bài toán phân lớp, biến phụ thuộc là biến phân loại còn trong phần dự đoán này, biến phụ thuộc có giá trị định lượng
1.3.5.2 Phương pháp dự báo bằng hồi quy
Phương pháp phân tích hồi quy là phương pháp thường được sử dụng trong thống
kê để nghiên cứu mối liên hê ̣ giữa các hiê ̣n tượng , như mối liên hê ̣ giữa các yếu tố đầu vào của quá trình sản xuất với kết quả sản xuất , mối liên hê ̣ giữa thu nhâ ̣p và tiêu dùng, mối liên hê ̣ giữa kinh tế và xã hô ̣i… Phương pháp phân tích hồi quy còn được
vâ ̣n du ̣ng trong mô ̣t số phương pháp nghiên cứu thống kê khác như phân tích dãy số thời gian, dự đoán thống kê…
Phân tích hồi quy nghiên cứu mối phu ̣ thuô ̣c của mô ̣t biến (gọi là biến phụ thuộc hay biến đươ ̣c giải thích ) với mô ̣t hay nhiều biến khác (được go ̣i là các biến đô ̣c lâ ̣p hay biến giải thích có giá tri ̣ đã biết ) nhằm ước lượng và dự báo giá tri ̣ trung bình của biến phu ̣ thuô ̣c với các giá tri ̣ đã biết của các biến đô ̣c lâ ̣p [9]
Mô hình hồi quy tuyến tính (mô hình hồi quy đường thẳng): là mô hình hồi
quy nói lên mức phụ thuộc tuyến tính của một biến phụ thuộc với một hay nhiều biến độc lập mà phương trình của mô hình hồi quy có dạng tuyến tính đối với các hệ số
Mô hình hồi quy tổng thể gồm biến:
(1.1)
trong đó là sai số ngẫu nhiên
Trong mô hình này ta chấp nhận giả thuyết các biến độc lập, không tương tác và
có phương sai không thay đổi Trên thực tế, khi nghiên cứu các trường hợp cụ thể người ta tiến hành phân tích phương sai và tương quan trước để thăm dò dạng của mối quan hệ phụ thuộc đồng thời kiểm tra xem có hiện tượng tự tương quan, đa cộng tuyến hay phương saithay đổi không (thường dùng thủ tục kiểm định Dolbin Watsern)
Trang 19Mô hình quan hệ tuyến tính trên được xây dựng trên cơ sở mối liên hệ giữa một biến phụ thuộc và nhiều biến độc lập được gọi là mô hình hồi quy tuyến tính bội Khi mô hình quan hệ tuyến tính được xây dựng trên cơ sở mối liên hệ giữa hai biến (biến phụ thuộc và biến độc lập ) thì được gọi là mô hình hồi quy tuyến tính đơn Trên cơ sở thông tin thu được trong mẫu thống kê ta sử dụng phương pháp bình phương nhỏ nhất để ước lượng các hệ số của mô hình hồi quy Tức là dựa trên quan điểm ước lượng không chệch giá trị quan sát của biến giải thích càng gần với giá trị thực của nó hay phần dư của chúng càng nhỏ càng tốt
Mô hình hồi quy phi tuyến: là các dạng mô hình hồi quy phi tuyến nói lên mức
phụ thuộc của một biến phụ thuộc với một hay nhiều biến độc lập mà phương trình của
mô hình hồi quy có dạng phi tính đối với các hệ số, chẳng hạn, như hàm sản xuất Cobb Douglas, hồi quy Parabol, hồi quy Hyperbol…
Như vậy, dựa vào các quan sát được thuthập theo thời gian trong các kỳ trước đó
ta sẽ xây dựng được mô hình hồi quy Thay số liệu của các biến đã cho trong kỳ dự báo vào mô hình hồi quy ta sẽ cho ta kết quả cần dựa báo
1.4 ĐÁNH GIÁ KẾT QUẢ DỰ BÁO
Trong bài toán dự báo, đánh giá kết quả dự báo là vấn đề quan tro ̣ng Hầu hết các nhà dự báo đánh giá các mô hình của họ theo năng lực dự báo của mô hình Để đánh giá chất lượng của một phương pháp dự báo người ta thường dựa vào sai số dự báo của phương pháp đó Sai số dự báo là sai lệch giữa giá trị thực và giá trị dự báo nhằm đánh giá chất lượng hay sự phù hợp của mô hình dự báo Sai số dự báo cũng nhằm giúp điều chỉnh các thông số của mô hình dự báo Để đánh giá sai số của phương pháp dự báo có thể dùng mô ̣t trong số các sai số sau [18]:
- Sai số quân phương MSE(Mean Square Error)
Trang 20 : Giá trị tính toán tại thời điểm ;
:Giá trị thực đo tại thời điểm ;
: Số lượng thời điểm
Tuy các chỉ số trong các công thức từ (1.2) đến (1.4) là trực quan và dễ dàng tính toán song trong nhiều trường hợp khi dung lượng dữ liệu lớn hay dữ liệu có độ biến động cao thì các chỉ số này trở nên quá thô sơ D.R Legates và G.J McCabe Jr trình bày về chỉ số hiệu quả - (Coefficient of Efficiency) và chỉ số xác định - (Coefficient of Determination ) tuy có độ phức tạp tính toán cao hơn song khắc phục được các hạn chế của các chỉ số Giá trị của và lần lươ ̣t được tính bởi công thứ (1.5) và (1.6) [26]:
(1.5)
(1.6)
Các chỉ số và có thể được dùng theo cách kết hợp hoặc riêng rẽ Phương pháp tốt là phương pháp nhận được giá trị của các chỉ số này lớn Trong luâ ̣n văn này , học viên sử dụng ba công thức tính sai số gồm : sai số quân phương , sai số căn quân phương và sai số tuyê ̣t đối để đánh giá độ chính xác của dự báo
1.5 KẾT LUẬN CHƯƠNG 1
Bài toán dự báo là bài toán rất quan trọng trong việc xây dựng chiến lược phát triển cho mỗi cấp, mỗi ngành, mỗi tổ chức, mỗi cá nhân … Có nhiều phương pháp dự báo khác nhau, mỗi phương pháp đều có ưu điểm và nhược điểm về độ phức tạp tính toán, về mức đô chính xác, về tính khách quan Việc ứng dụng mạng nơron trong giải bài toán dự báo tỏ ra có nhiều ưu điểm vì mạng nơron là một mô hình tính toán mềm dẻo, chấp nhận sai sót, dễ thích nghi
Sau khi xây dựng mô hình dự báo, cần đánh giá mô hình ngay mà không đợi đến khi có thể so sánh kết quả dự báo với những gì đã xảy ra trong thực tế Không có phương pháp chung để đánh giá kết quả dự báo mà tuỳ theo mô hình dự báo , tùy theo lĩnh vực ứng dụng của mô hình mà chọn chỉ số hoặc nhóm chỉ số để đánh giá
Trang 21Chương 2 NGHIÊN CỨU MẠNG NƠRON NHÂN TẠO
2.1 GIỚI THIỆU MẠNG NƠRON NHÂN TẠO
2.1.1 Mạng nơron nhân tạo là gì?
Định nghĩa: Mạng nơron nhân tạo, Artificial NơronNetwork (ANN) gọi tắt là
mạng nơron (Nơron 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 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ọctừ 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
2.1.2 Lịch sử phát triển mạng nơron
Các nghiên cứu về bộ não con người đã được tiến hành từ hàng nghìn năm nay Cùng với sự phát triển của khoa học kĩ thuật đặc biệt là những tiến bộ trong ngành điện tử hiện đại, việc con người bắt đầu nghiên cứu các nơron nhân tạo là hoàn toàn tự nhiên Sự kiện đầu tiên đánh dấu sự ra đời của mạng nơron nhân tạo diễn ra vào năm
1943 khi nhà thần kinh học Warren McCulloch và nhà toán học Walter Pitts viết bài báo mô tả cách thức các nơron hoạt động Họ cũng đã tiến hành xây dựng một mạng nơron đơn giản bằng các mạch điện Các nơron của họ được xem như là các thiết bị nhị phân với ngưỡng cố định Kết quả của các mô hình này là các hàm logic đơn giản chẳng hạn như “ a OR b” hay “a AND b”
Tiếp bước các nghiên cứu này, năm 1949 Donald Hebb cho xuất bản cuốn sách Organization of Behavior Cuốn sách đã chỉ ra rằng các nơron nhân tạo sẽ trở lên hiệu quả hơn sau mỗi lần chúng được sử dụng
Những tiến bộ của máy tính đầu những năm 1950 giúp cho việc mô hình hóa các nguyên lý của những lý thuyết liên quan tới cách thức con người suy nghĩ đã trở thành hiện thực Nathanial Rochester sau nhiều năm làm việc tại các phòng thí nghiệm nghiên cứu của IBM đã có những nỗ lực đầu tiên để mô phỏng một mạng nơron Trong thời kì này tính toán truyền thống đã đạt được những thành công rực rỡ trong khi đó những nghiên cứu về nơron còn ở giai đoạn sơ khai Mặc dù vậy những người ủng hộ triết lý “Thinking Machines” (các máy biết suy nghĩ) vẫn tiếp tục bảo vệ cho lập trường của mình
Năm 1956 dự án Dartmouth nghiên cứu về trí tuệ nhân tạo (Artificial Intelligence) đã mở ra thời kỳ phát triển mới cả trong lĩnh vực trí tuệ nhân tạo lẫn mạng nơron Tác động tích cực của nó là thúc đẩy hơn nữa sự quan tâm của các nhà
Trang 22khoa học về trí tuệ nhân tạo và quá trình xử lý ở mức đơn giản của mạng nơron trong
bộ não con người
Những năm tiếp theo của dự án Dartmouth, John von Neumann đã đề xuất việc
mô phỏng các nơron đơn giản bằng cách sử dụng rơle điện áp hoặc đèn chân không Nhà sinh học chuyên nghiên cứu về nơron Frank Rosenblatt cũng bắt đầu nghiên cứu
về Perceptron Sau thời gian nghiên cứu này Perceptron đã được cài đặt trong phần cứng máy tính và được xem như là mạng nơron lâu đời nhất còn được sử dụng đến ngày nay Perceptron một tầng rất hữu ích trong việc phân loại một tập các đầu vào có giá trị liên tục vào một trong hai lớp Perceptron tính tổng có trọng số các đầu vào, rồi trừ tổng này cho một ngưỡng và cho ra một trong hai giá trị mong muốn có thể Tuy nhiên Perceptron còn rất nhiều hạn chế, những hạn chế này đã được chỉ ra trong cuốn sách về Perceptron của Marvin Minsky và Seymour Papert viết năm 1969
Năm 1974 Paul Werbos đã phát triển và ứng dụng phương pháp học lan truyền ngược (Back-Propagation) Tuy nhiên phải mất một vài năm thì phương pháp này mới trở lên phổ biến Các mạng lan truyền ngược được biết đến nhiều nhất và được áp dụng rộng rãi nhất nhất cho đến ngày nay
Những thành công ban đầu này khiến cho con người nghĩ quá lên về khả năng của các mạng nơron Chính sự cường điệu quá mức đã có những tác động không tốt đến sự phát triển của khoa học và kỹ thuật thời bấy giờ khi người ta lo sợ rằng đã đến lúc máy móc có thể làm mọi việc của con người Những lo lắng này khiến người ta bắt đầu phản đối các nghiên cứu về mạng nơron Thời kì tạm lắng này kéo dài đến năm 1981
Năm 1982 trong bài báo gửi tới viện khoa học quốc gia, John Hopfield bằng sự phân tích toán học rõ ràng, mạch lạc, ông đã chỉ ra cách thức các mạng nơron làm việc
và những công việc chúng có thể thực hiện được Cống hiến của Hopfield không chỉ ở giá trị của những nghiên cứu khoa học mà còn ở sự thúc đẩy trở lại các nghiên cứu về mạng nơron
Cũng trong thời gian này, một hội nghị với sự tham gia của Hoa Kỳ và Nhật Bản bàn về việc hợp tác cạnh tranh trong lĩnh vực mạng nơron đã được tổ chức tại Kyoto, Nhật Bản Sau hội nghị, Nhật Bản đã công bố những nỗ lực của họ trong việc tạo ra máy tính thế hệ thứ 5 Tiếp nhận điều đó, các tạp chí định kỳ của Hoa Kỳ bày tỏ sự lo lắng rằng nước nhà có thể bị tụt hậu trong lĩnh vực này Vì thế, ngay sau đó, Hoa Kỳ nhanh chóng huy động quĩ tài trợ cho các nghiên cứu và ứng dụng mạng nơron
Năm 1985, viện Vật lý Hoa Kỳ bắt đầu tổ chức các cuộc họp hàng năm về mạng
nơron ứng dụng trong tin học (Nơron Networks for Computing)
Năm 1987, hội thảo quốc tế đầu tiên về mạng nơron của Viện các kỹ sư điện và điện tử IEEE (Institute of Electrical and Electronic Engineer) đã thu hút hơn 1800 người tham gia
Ngày nay, không chỉ dừng lại ở mức nghiên cứu lý thuyết, các nghiên cứu ứng dụng mạng nơron để giải quyết các bài toán thực tế được diễn ra ở khắp mọi nơi Các ứng dụng mạng nơron ra đời ngày càng nhiều và ngày càng hoàn thiện hơn Điển hình
Trang 23là các ứng dụng: xử lý ngôn ngữ (Language Processing), nhận dạng kí tự (Character Recognition), nhận dạng tiếng nói (Voice Recognition), nhận dạng mẫu (Pattern Recognition), xử lý tín hiệu (Signal Processing), Lọc dữ liệu (Data Filtering)… [26]
2.1.3 So sánh mạng nơron 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
Nếu các bước cụ thể mà máy tính cần tuân theo không đượ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
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)[14]
Trang 242.2 NƠRON SINH HỌC VÀ NƠRON NHÂN TẠO
2.2.1 Nơron 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 Nơron sinh ho ̣c có nhiều da ̣ng khác nhau như da ̣ng hình tháp , dạng tổ ong, dạng rễ cây Tuy nhiên, chúng có cấu trúc và nguyên lý hoa ̣t đô ̣ng chung Mô ̣t tế bào nơron gồm 4 thành phần cơ bản:
- Các nhánh và rễ: là các bộ phận nhận thông tin , các đầu nhận hoặc các đầu ra của các
nơron khác bám vào rễ hoặc nhánh của một nơron Khi các đầu vào từ ngoài này có sự chênh lệch về nồng độ K + , Na + hay Cl - so với nồng độ bên trong của nó thì xẩy ra hiện tượng thấm từ ngoài vào trong thông qua một cơ chế màng thấm đặc biệt Hiện tượng thẩm thấu như vậy tạo nên cơ chế truyền đạt thông tin với hàng ngàn, hàng vạn lối vào trên một nơron sinh vật , ứng với hàng nghìn , hàng vạn liên kết khác nhau Mức độ thẩm thấu được đặc trưng bởi cơ chế màng tượng trưng bằng một tỷ lệ Tỷ lệ đó được gọi là tỷ trọng hay đơn giản gọi là trọng số (Weight)
- Thân thần kinh (Soma): chứa các nhân và cơ quan tổng hợp protein Các ion vào được
tổng hợp và biến đổi Khi nồng độ các ion đạt đến một giá tri ̣ nhất đ ịnh, xảy ra quá trình phát xung (hay ki ́ch thi ́ch) Xung đó được phát ở đầu ra của nơron Dây dẫn đầu
ra xung được gọi là dây thần kinh
- Dây thần kinh (Axon): là đầu ra Đó là phương tiện truyền dẫn tín hiệu Dây thần kinh
được cấu tạo gồm các đốt và có thể dài từ một micro mét đến vài mét tùy từng kết cấu
cụ thể Đầu ra này có thể truyền tín hiệu đến các nơron khác
- Khớp thần kinh (Synape): là bộ phận tiếp xúc của đầu ra nơron với rễ , nhánh của các
nơron khác Chúng có cấu trúc màng đặc biệt để tiếp nhận các tín hiệu (hình 2.1) khi có sự chênh lệch nồng độ càng lớn thì vệc truyền các ion càng nhiều và ngược lại Mức độ thẩm thấu của các ion có thể được coi là một đại lượng thay đổi tùy thuộc vào nồng độ như một giá tri ̣ đo thay đổi được gọi là trọng số
Trang 25Hình 2.1 Cấu trúc của một nơron sinh học điển hình
Mạng nơron sinh học là một tập hợp các nơron sinh ho ̣c với nhau Mạng này tổ chức thành từng lớp (Layer) Ta có:
- Mạng một lớp: là tập hợp các phần tử nơron có đầu vào và đầu ra trên mỗi một phần
tử Nếu mạng nối đầu ra của các phần tử này với đầu vào của phần tử kia gọi là mạng tự liên kết (Auto Associative)
- Mạng hai lớp: gồm một lớp đầu vào và một lớp đầu ra riêng biệt
- Mạng nhiều lớp: gồm một lớp đầu vào và một lớp đầu ra riêng biệt Các lớp năng giữa
các lớp đầu và và lớp đầu ra gọi là lớp ẩn (Hidden Layers)
- Mạng truyền thằng: là mạng hai hay nhiều lớp mà quá trình truyền tín hiệu từ đầu ra
lớp này đến đầu vào lớp kia theo một hướng
- Mạng truyền ngược: là mạng mà trong đó một hoặc nhiều đầu ra của các phần tử lớp
sau truyền ngược tới đầu vào của lớp trước
- Mạng tự tổ chức : là mạng có khả năng sử dụng những kinh nghiệm của quá khứ để
thích ứng với những biến đổi của môi trường (không dự báo trước ) Loại mạng này thuộc nhóm hệ học, thích nghi không cần có tín hiệu chỉ đạo từ bên ngoài [14]
2.2.2 Nơron nhân tạo
Có khá nhiều mô hình toán học cho nơron Trong luâ ̣n văn này , học viên trình bày mô hình thông dụng nhất, dùng một hàm truyền kết nối các đầu vào để tạo ra đầu ra
Trang 26Hình 2.2 Cấu trúc nơron nhân tạo
Công việc cơ bản của một nơ ron nhân tạo là cộng các mức kích hoạt ở đầu vào rồi tạo một mức tác động ở đầu ra nếu tổng các mức kích hoạt ở đầu vào lớn hơn một giá trị ngưỡng nào đó Toàn bộ công việc này được được thực hiện qua các thành phần của nơron bao gồm:
- Tập các đầu vào: Là các tín hiệu vào 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 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)
Trọng số liên kết giữa tín hiệu vào thứ với nơron thường được kí hiệu là 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: 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ó Bộ tổng
hợp các liên kết đầu vào của một phần tử nơron có thể mô tả như sau:
(2.1)
trong đó:
: tổng tất cả các đầu vào mô tả toàn bộ thế năng tác động ở thân nơron
: tập các đầu vào , mô tả tín hiệu vào từ các đầu nhạy thần kinh hoặc từ các
nơron khác đưa vào
: giá trị trọng số liên kết giữa nơron truyền tín hiệu vào nơron đang xét , là hệ số
mô tả mức độ liên kết giữa các đầu vào ngoài tới nơron hiện tại; là số đầu vào
: ngưỡng, xác định ngưỡng kích thích hay ức chế Giá trị của là một hằng số được đưa vào như một thành phần của hàm truyền
- Hàm truyền: 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
f(.) Hàm truyền
Ngưỡng Trọng số liên kết
Đầu vào
Đầu ra Hàm tổng
Trang 27nơron được giới hạn trong đoạn hoặc 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à tuz 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 2.1 *14+
Bảng 2.1 Một số hàm kích hoạt được sử dụng trong các mô hình nơron nhân ta ̣o
TT Tên hàm Công thức tương ứng Đặc tính
Trang 28(2.2)
với ở công thức (2.1) và là đầu ra nơron mô tả tín hiệu đưa ra Hàm ở đây được chia thành hai nhóm: nhóm hàm bước nhảy và nhóm hàm liên tục Đặc điểm chung của các hàm này thường tiến tới một giá trị cố định với các giá trị được gán hoặc Những dạng hàm kích hoạt hay dùng được cung cấp
ở bảng 2.1 Một số dạng hàm khác cũng được sử dụng như: dạng hàm Gauss, hàm logarit, hàm mũ, hàm arctg
- Đầ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
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)
2.3 MẠNG NƠRON NHÂN TẠO
2.3.1 Mô hình mạng nơron nhân tạo
Mạng nơron nhân tạo hay thường gọi ngắn gọn là mạng nơron là một mô hình toán học hay mô hình tính toán được xây dựng dựa trên các mạng nơron sinh học Nó gồm có một nhóm các nơron nhân tạo (nút) nối với nhau, và xử lý thông tin bằng cách truyền theo các kết nối và tính giá trị mới tại các nút (cách tiếp cận Connectionism đối với tính toán)
Trang 29Hình 2.3 Mô hình mạng nơron nhân tạo
Trong nhiều trường hợp, mạng nơron nhân tạo là một hệ thống thích ứng (Adaptive System) tự thay đổi cấu trúc của mình dựa trên các thông tin bên ngoài hay bên trong chảy qua mạng trong quá trình học
Trong thực tế sử dụng, nhiều mạng nơron là các công cụ mô hình hóa dữ liệu thống kê phi tuyến Chúng có thể được dùng để mô hình hóa các mối quan hệ phức tạp giữa dữ liệu vào và kết quả hoặc để tìm kiếm các dạng mẫu trong dữ liệu
2.3.2 Phân loa ̣i ma ̣ng nơron nhân ta ̣o
Có nhiều cách để phân loa ̣i ma ̣ng nơron nhân ta ̣o
- Dựa vào số lượng lớp trong mạng ta phân thành
Trang 30Hình 2.4 Phân loa ̣i ma ̣ng nơron 2.3.3 Thuật học trong mạng nơron
Thuật toán học là phần trí tuệ thông minh của mạng nơron mà các công trình nghiên cứu chiếm số lượng lớn trong mấy chục thập kỷ qua Thuật toán học được chia làm hai loại: học theo tham số và học theo cấu trúc
2.2.1.1 Học tham số
Tư tưởng của việc học theo tham số là thay đổi, cập nhật các trọng liên kết Hầu hết các luật học tồn tại thuộc kiểu học theo tham số Trong chương này, các kiến trúc mạng điển hình đưa ra cũng thuộc dạng học theo tham số Thông thường, thuật toán học theo tham số được chia thành 3 dạng chính: học có giám sát, học không giám sát
và học củng cố [14]
MẠNG NƠRON NHÂN TẠO
Truyền thẳng Phản hồi Tƣ̣ tổ chƣ́c
Tuyến
tính
Phi tuyến
Brain State-
in
Máy Boltz- mann
Hop- field
Ánh xạ
đă ̣c trưng
ART
Mạng Gabor
Mạng Furie
Mạng Gross-berg
Mc Culloch Pitts
Trang 31Hình 2.5 Các dạng học tham số
(a): Học giám sát; (b): Học củng cố; (c): Học không giám sát
- Học có giám sát
Trong học có giám sát, tại mỗi thời điểm có đầu vào mạng nơron thì đầu ra mong muốn của hệ sẽ được cho sẵn Nói một cách rõ ràng hơn: mạng được cung cấp
muốn Khi một đầu vào được đưa vào mạng, đầu ra mong muốn cũng được
đ-ưa vào mạng Như hình 2.5(a), sai khác giữa giá trị đầu ra thực sự và đầu ra mong muốn sẽ là cơ sở tạo tín hiệu lỗi để mạng sửa đổi trọng số sao cho đầu ra thực sự gần với đầu ra mong muốn hơn
- Học không giám sát
Trong dạng học này không có bất kì một thông tin phản hồi nào từ môi trường Mạng phải tự tìm ra các mẫu, đặc tính, tính qui tắc, sự tương quan trong dữ liệu đầu vào và tập hợp lại để tạo đầu ra Khi tự tìm ra các đặc điểm này, mạng đã trải qua các thay đổi về tham số của nó Quá trình này được gọi là tự tổ chức
Các thuật toán học theo tham số có thể được khái quát thành dạng chung với lượng điều chỉnh trọng số như sau:
X
Đầu vào
Đầu ra mong muốn
Mạng nơron
W
Tạo tín hiệu lỗi
Y Đầu ra thực
Tín hiệu lỗi
Y Đầu ra thực
(b)
Tín hiệu củng cố
Mạng nơron
X Đầu vào
Y Đầu ra thực
(c)
Trang 32(2 3)
trong đó: : nơron thứ ;
: là đầu vào thứ ;
: là hằng số học (dương) xác định tốc độ học và được xác định bằng thực nghiệm;
: tín hiệu học Tín hiệu học tổng quát là một hàm của và tức là
Đối với các trọng biến đổi liên tục, có thể sử dụng dạng sau:
(2.4)
- Học củng cố
Trong thuật toán học có giám sát, các giá trị đầu ra đích được biết chính xác đối với mỗi đầu vào Tuy nhiên, trong một số trường hợp, chỉ biết được ít thông tin chi tiết, chẳng hạn: mạng chỉ biết rằng giá trị đầu ra thực sự "quá cao" hay "chính xác 50%", hay có thể mạng chỉ có được thông tin phản hồi chỉ ra rằng đầu ra đúng hay sai Luật học dựa trên thông tin đánh giá này được gọi là luật học củng cố, và thông tin phản hồi được gọi là thông tin củng cố Như hình 2.5(b), luật học củng cố là một dạng của luật học có giám sát vì mạng vẫn có được vài thông tin phản hồi từ môi trường Tuy nhiên thông tin phản hồi này chỉ mang tính đánh giá chứ không phải mang tính chất dạy Tín hiệu củng cố này được mạng sử dụng để điều chỉnh trọng số với hy vọng
là có được đánh giá phản hồi tốt hơn trong lần học tiếp theo
Trang 332.2.1.2 Học cấu trúc
Tư tưởng của học theo cấu trúc là thay đổi số lớp, số nơron trong từng lớp, kiểu liên kết để làm cấu trúc mạng thay đổi Đối với học theo tham số, chúng ta giả sử cấu trúc mạng đã có, sau đó đưa ra các thuật toán học cho các tham số mạng (hay các trọng liên kết) để huấn luyện mạng thực hiện được nhiệm vụ như mong muốn Còn việc học theo cấu trúc có thể sử dụng các kỹ thuật liên quan đến thuật toán gen và lập trình tiến hoá Các cách tìm kiếm trong lập trình tiến hóa là khá tiêu tốn thời gian ngay cả đối với mạng có kích thước trung bình Do đó, còn có thể sử dụng các kỹ thuật sửa đổi hay xây dựng mạng dần dần từ một cấu trúc mạng ban đầu Các kỹ thuật này bao gồm cắt xén bớt mạng nơron, phát triển mạng và kết hợp cả hai cách cắt xén và phát triển mạng nơron
2.4 MẠNG NƠRON NHÂN TẠO TRUYỀN THẲNG
2.4.1 Mạng Perceptron một lớp
Mạng perceptron một lớp do F.Rosenblatt đề xuất năm 1960 là mạng truyền thẳng chỉ một lớp vào và một lớp ra, không có lớp ẩn Trên mỗi lớp này có thể có một hoặc nhiều nơron Mô hình mạng nơron của Rosenblatt sử dụng hàm ngưỡng đóng vai trò là hàm chuyển Do đó, tổng của các tín hiệu vào lớn hơn giá trị ngưỡng thì giá trị đầu ra của nơron sẽ là 1, còn trái lại sẽ là 0
với
(2.5)
Ngay từ khi mạng Perceptron một lớp được đề xuất nó đã được sử dụng để giải quyết bài toán phân lớp Một đối tượng sẽ được nơron phân vào mô ̣t lớp nếu tổng thông tin đầu vào:
trong đó: là trọng số liên kết từ nơron tới nơron ;
: là đầu vào từ nơron ;
là ngưỡng của nơron
Trong trường hợp trái lại đối tượng sẽ được phân vào lớp B
Việc huấn luyện mạng dựa trên phương pháp học có giám sát với tập mẫu học là
là cặp mẫu đầu vào - đầu ra dùng cho việc học, ở đây được hiểu là ma trận ) Như vậy, chúng ta mong rằng sau quá trình học, đầu ra tính toán
Trang 34(2.6)
Hình 2.6 Mạng Perceptron một lớp
Để bắt đầu quá trình luyện mạng, các trọng số được gán giá trị ngẫu nhiên trong khoảng Sau đó hiệu chỉnh các trọng số cho phù hợp với mẫu học để làm giảm sai số giữa và
Các bước tiến hành
Xác định ngẫu nhiên bộ trọng số
Tính giá trị theo công thức
Xác định sai số tại nơron : , trong đó là giá trị đầu raquan sát được và là
giá trị đầu ra tính toán tại nơron thứ
Tính là số gia của trọng số (trọng số liên kết giữa đầu vào tới nơron ) theo công thức: trong đó là tốc độ học (0<η<1)
chỉnh ở lần học tại thời điểm
Rosenblatt đã chứng minh rằng quá trình học của mạng Perceptron sẽ hội tụ tới
bộ trọng số , biểu diễn đúng các mẫu học với điều kiện là các mẫu này biểu thị các điểm rời rạc của một hàm khả tách tuyến tính nào đó ( được gọi là khả tách
Đầu ra tính toán Đầu ra mong muốn
Trang 35tuyến tính nếu các tập , với thuộc miền trị của , có thể tách được với nhau bởi các siêu phẳng trong không gian )
Năm 1969, Minsky và Papert đã chứng minh một cách chặt chẽ rằng lớp hàm thể hiện sự phụ thuộc giữa đầu vào và đầu ra có thể học bởi mạng Perceptron một lớp là lớp hàm khả tách tuyến tính Khả tách tuyến tính là trường hợp tồn tại một mặt siêu phẳng để phân cách tất cả các đối tượng của một lớp này với một lớp khác, ví dụ một mặt phẳng sẽ phân chia không gian ba chiều thành hai vùng riêng biệt Mở rộng ra, nếu có n đầu vào, thì công thức
(2.7)
tạo nên một siêu phẳng có chiều trong không gian n chiều, nó chia không gian đó thành hai nửa Trong nhiều bài toán thực tế đòi hỏi chia các vùng của các điểm trong một siêu không gian thành các lớp riêng biệt Loại bài toán này gọi là bài toán phân lớp Bài toán phân lớp có thể giải quyết bằng cách tìm các tham số thích hợp cho một siêu phẳng để nó có thể chia không gian chiều thành các vùng riêng biệt
Với tính chất của như đã nêu trên, mạng Perceptron một lớp có thể mô tả các hàm logic như , và Tuy nhiên, nó không thể hiện được hàm Như vậy chứng tỏ mô hình Perceptron một lớp không thể giải quyết bài toán này Vấn đề này sẽ được giải quyết bằng mô hình mạng nơron Perceptron nhiều lớp (Multilayer Perceptron - MLP) [14]
Trang 36
Kiến trúc của một mạng MLP tổng quát có thể mô tả như sau:
- Đầu vào là các vector trong không gian chiều, đầu ra là các vector
trong không gian chiều Đối với các bài toán phân loại, chính là kích thước của mẫu đầu vào, chính là số lớp cần phân loại;
- 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ó;
- Đầ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 kết quả (là kết quả của hàm truyền); kết quả này sẽ được truyền tới các nơron thuộc tầng ẩn thứ nhất; các nơron tại đây tiếp nhận như là tín hiệu đầu vào, xử lý và gửi kết quả đến tầng ẩn thứ hai;…; quá trình tiếp tục cho đến khi các nơron thuộc tầng ra cho kết quả
Một số kết quả đã được chứng minh:
- Bất kì một hàm Boolean nào cũng có thể biểu diễn được bởi một mạng MLP hai tầng trong
đó các nơron sử dụng hàm truyền Sigmoid;
- Tất cả các hàm liên tục đều có thể xấp xỉ bởi một mạng MLP hai 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 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 ba 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 [14]
2.4.3 Thuật toán học theo phương pháp lan truyền ngược sai số
Thuật toán học theo phương pháp lan truyền ngược sai số do Rumelhart và các cộng sự đề xuất là một trong số những kết quả nghiên cứu quan trọng nhất đối với sự phát triển của mạng nơron nhân tạo Thuật toán này được áp dụng cho mạng truyền thẳng nhiều lớp trong đó các nơron có thể sử dụng các hàm chuyển là các hàm liên tục
có các dạng khác nhau [14]
Thuật toán sử dụng một tập các mẫu gồm các cặp đầu vào - đầu ra để luyện mạng Với mỗi cặp đầu vào - đầu ra thuật toán lan truyền ngược sai số thực hiện hai giai đoạn sau:
Giai đoạn thứ nhất: mẫu đầu vào được truyền từ lớp vào tới lớp ra, và ta có kết quả đầu
ra tính toán được là
Giai đoạn thứ hai : tín hiệu lỗi được tính toán từ sự khác nhau giữa đầu ra quan sát được
với đầu ra tính toán sẽ được lan truyền ngược lại từ lớp ra đến các lớp trước để điều chỉnh các trọng số của mạng Để làm ví dụ ta xét mạng truyền thẳng có một lớp ẩn dưới đây, đối với các mạng có kích thước lớn hơn thì thao tác cũng tương tự