BỘ GIÁO DỤC VÀ ĐÀO TẠO
DAI HOC HUE
TRUONG DAI HOC KHOA HOC
TRAN LIEU PHUOC HAI
TIM HIEU MOT SO MO HINH
MANG NO-RON CO GIAM SAT VA
UNG DUNG TRONG DU BAO
NHU CAU DU LICH
CHUYEN NGANH: KHOA HOC MAY TINH MA SO: 8 48 01 01
LUAN VAN THAC SI KHOA HOC DINH HUONG NGHIEN CUU
NGUOI HUONG DAN KHOA HOC PGS.TS VO VIET MINH NHAT
Thira Thién Hué, 2020
Trang 2
MO DAU
> Ly do chon dé tai
Mạng nơ-ron nhân tạo(ANN) ngày nay có thê được mô tả như một hệ thống máy tính thông minh bắt chước khả năng xử lý của bộ não sinh học bao gồm nhiều nơ-ron được gắn kết với nhau để xử lý thông tin ANN giống như bộ não con người,
được học bởi kinh nghiệm thông qua việc huấn luyện dựa trên các dữ liệu mẫu, có
khả năng lưu giữ những tri thức và sử dụng những trị thức đó trong việc dự đoán các đữ liệu chưa biết Chính vì vậy Trong những năm gần đây, nghiên cứu về mạng
lưới nơ-ron nhân tạo (ANN) đã nhận được sự quan tâm lớn đối trong các lĩnh vực như sinh học, tâm lý học, y học, kinh tế, toán học, thống kê và máy tính
ANN là phương pháp mạnh mẽ trong các nhiệm vụ liên quan đến phân loại
mẫu, ước tính các biến liên tục và dự báo Mạng nơ-ron cung cấp một số lợi thế
tiềm năng so với các phương pháp khác, khi xử lý các vấn để với đữ liệu không bình thường và phi tuyến tính [1]
Cấu trúc của ANN được tạo thành từ một số lượng lớn các yếu tổ xử lý đơn giản được gọi là nút hoặc nơ-ron, được tổ chức theo lớp Mỗi nơ-ron được kết nối
với các nơ-ron khác bằng các liên kết giao tiếp, mỗi liên kết có một giá trị số liên
quan được gọi là một trọng SỐ Trọng số chứa kiến thức hoặc thông tin ma ANN so hữu về một vấn đề cu thé [1] Hidden layer Input layer Output layer
Input values Output values
Hình 1: Kién trúc phố biến của một ANN 3 lớp [2]
Trang 3LỜI CẢM ƠN
luận văn này, tôi xin bày tỏ lòng biết ơn sâu sắc đến Thầy Võ Viết
Đào tạo - Đại học Huế đã tận tình hướng dân trong suốt quả trình thuc hién dé tai
Xin chân thành cảm ơn sự giúp đỡ về mọi mặt của Ban Giám hiệu, Phòng Đào tạo Sau đại học, Khoa Công nghệ thông tin - Trường Đại học Khoa học - Đại học
Huế cùng quý thây cô đã tham gia giảng đạy trong suốt quá trình học tập
Cảm ơn tất cá bạn bè, đông nghiệp và người thân đã động viên, giúp đỡ tơi hồn thành luận văn này
Học viên
Trần Liêu Phước Hải
Trang 4MỤC LỤC DANH MỤC CÁC BẢNG 22 22 2222212211121112111211121121212122222222 2e i DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT -2-©2222E222512251223222322222222-e2 ii DANH MỤC CÁC HÌNH VẼ 22222 222122121121121121211222222 22a iii DANH MỤC CÁC ĐÔ THỊ 22 S222221222112211211211221121121121221222 re iv DANH MỤC CÁC BIỂU ĐÒ 22 222222221122112111211122112211221112222222 xe Vv MỞ ĐẦU 2222 2222221222121122112112211211211212212222222222 are 1 CHUONG 1 TONG QUAN VE MANG NO-RON NHAN TAO VA BAI TOAN DỰ BÁO 5225222221 11221212211211 1112121111211 rya 3
1.1 TONG QUAN VE BAI TOAN DU BAO
1.1.1 Khái niệm về đự báo -©2s222222222111221121112112211211212122 xe 3 112.Ý nghĩa của việc dự báo - c S 212 nhà HH HH HH Hye 3
1.1.3 Các phương pháp dự báo .- cc St Share 4
1.2 MẠNG NƠ-RON SINH HỌC 52 222222221112111211121121122122222 xe 5
1.3 SỰ TƯƠNG ĐÔNG GIỮA MẠNG NƠ-RON SINH HỌC VÀ NHÂN TẠO 6
1.4 MẠNG NƠ-RON NHÂN TẠO 2222222222212111211211211212 xe 7
1.4.1 Nơ-ron nhân †ạO c1 2011121111221 1122111110211 1 1101x111 k ng xxx 7 IV so c0 vi 7 1:4.3 Mangno-ron han 420 scscrcccscsco emer mnencenneen messin te corm meserenmeenrn ere 9 1.4.4 Phân loại mạng nơ-ron nhan tao ccc eeeeeeeeeeeeereeeeeeeeeeseneeneeeeereneenes 11 1.4.5 Luật học cơ bản của mạng nơ-ron nhân tạo 11 1.4.6 Số nơ-rơn trong lớp ẩn 2-5-2 „13 1.4.7 Hàm lỗi (hàm mục tiÊU) - 5 s2 E21 22122121121211 211212122 e 13 1.4.8 Tốc độ học của b1) 0T 13
1.4.9 Giải thuật lan truyền ngược 2-22 22212211221222122212212212222 xe 14 1.4.10 Phương pháp đánh giá độ chính xác dự báo của mô hình mạng nơ-ron 14
TIEU KET CHƯƠNG l ©2222222221222122112212111211211211212222 2e 15 CHƯƠNG 2 BÀI TOÁN DỰ BÁO NHU CẦU DU LỊCH VỚI MẠNG NƠ-
RON NHÂN TẠO 52-2222 22122221222222122211222221222222 are 16
Trang 5NƠ-RON NHÂN TẠO 5 1 1221211221212 E101 ra 16
2.1.1 Lựa chọn dữ liệu khách du lịch đến Huế -cccccccccccec l6
21;1:2-]ði;dung/ bài TOẶH: sọ ngenesniooitEelSDUAGEIORIEEIGOISEGDAIESEDIEEIQHEISĐSHSIOĐESE 16 2.1.3 Ứng dụng bài toán vào thực tẾ -22222122212221221221.22 re 17
2.2 PHÂN TÍCH Dữ liệu DU LỊCH KHÁCH QUỐC TÉ ĐÉN HUÉ 17
2.2.1 Phân bố dữ liệu ::c:22222 22222 1 2 erae 17 ct0s2ufiGItullnuhlla-glfl TIỂU ssamnonsgprnuesottnneg9ygtsttti99908000000000000000810040090701g100900000n80 18 2.3 XÂY DỰNG MẠNG NƠ-RON 22:- 222 2222222212211 221211 rtrev 19 2.3.1 Lớp đầu vào và đầu ra của các mạng nơ-ron -22z+2zxsze 19 2.3.2 xay duinganangenosron MEP beccessrn serene nmeenasseemersrermerssrm erm 19 2.3.3 Phương hướng xây dựng mạng nơ-ron RBE -s- 23 Iìì098:4509:009)ic 1 28
CHƯƠNG 3 ỨNG DỤNG MẠNG NƠ-RON NHÂN TẠO VÀO DỰ BÁO NHU CÂU DU LỊCH 522222 2212221221122112212212112112112112222 e6 3.1 GIỚI THIỆU VẺ NGÔN NGỮ PYTHON VÀ THƯ VIỆN KERAS
3.1.1 Giới thiệu về ngôn ngữ lập trình Python 22¿22z22zcce 3.1.2 Xây dựng mạng nơ-ron với thư viện Keras và ngôn ngữ python
3.2 HUAN LUYEN VA LAY KET QUA THỰC NGHIỆM MẠNG NƠ-RON 32
3.2.1 Các trường hợp mạng nơ-ron 12-input với dữ liệu liên tục 32
3.2.2 Các trường hợp mạng nơ-ron 6-Input với dữ liệu liên tục 36
3.2.3 Các trường hợp mạng nơ-ron 4-input với dữ liệu liên tục 39
3.2.4 Các trường hợp mạng nơ-ron 6-Input với dữ liệu xen kẽ 43
3.2.5 Các trường hợp mang no-ron 4-input với dữ liệu xen kẽ 47
3.3 TONG KET VÀ ĐÁNH GIÁ KẾT QUẢ - 55222 E2122E1E21212xcrkt 50 3.3.1 So sánh hiệu các loại mạng nơ-ron với nhau .-s:ccccccscs+s: 50 3.3.2 Lựa chọn mạng nơ-ron có hiệu quả cao nhấT c2 221122112 xe 51 KÉT LUẬN 5222222222221121112111211121112122122122212121222122 are 54 1 TONG KET VA ĐÁNH GIÁ KẾT QUẢ - 2c 522 E2122E1221212Ectki 54
Trang 6DANH MỤC CÁC BẢNG
Trang 7DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮÁT
MLP : Multilayer Pereeptron RBE : Radial Bias Function ANN : Artificial Neural Network MSE : Mean Squared Error
MAPE : Mean Absolute Percentage Error
Trang 8Hinh 1.1: Hinh 1.2: Hinh 1.3: Hinh 1.4: Hinh 1.5: Hinh 1.6: DANH MỤC CÁC HÌNH VẼ
Hình 1: Kiến trúc phố biến của một ANN 3 lớp -22- 2222222122222 1 Cấu trúc nơ-ron sinh VAt.o.cccccccccscccsssscvesecvesecsesessesesesessssesuesessssesseseesesteseevees 6
Ham, Stem escecesesencemerencemerenemnnnenr earn ern REE 7
Ví dụ một nơ-ron đơn - - c1 122211112551 111511 111221111111 11 1511111111112 21x kg 8 Tác động của việc điều chỉnh trọng 8
No-ron VOI DIAS oo 1-11iII 8
Tác động khi điều chỉnh bias 2- 222222 22222212212212222222.2 e6 9 Các yếu tổ cơ bản của một nơ-ron nhân tạo 2: s22 2122251551255512xxE5 10 Hình 1.7: Hình 1.8: Hinh 2.1: nhan tao Hinh 2.2: Hinh 2.3: Hinh 2.4: Hinh 2.5: Hinh 2.6: Hinh 2.7:
Các:dang HQ sceeeceeoeeisiroohieritioditrrstsnH112E10101 112613 0110001089 0000001303800101005010016E 12
Mô hình tổng quát bài toán dự báo nhu cầu du lịch với mạng nơ-ron HH H111 H111 1H, 16
Mạng MLP 3 lớp c2: 12222222 e 20
Mô hình lớp ấn và lớp đầu vào của mạng MLP -2- 22222z22zzz22cc2 21
Mô hình lớp đầu ra cho mạng nơ-ron MLP ©222222222222522222222-e2 22 Mơ hình liên kết lớp ân cho mạng nơ-ron RBE -©22222222z222cc2 26 Mơ tả việc chuyên đổi ma tran X_ train sang Œ_train dựa trên k tâm cụm 26 Mô hình liên kết lớp đầu ra cho mạng RBE 2222222222522122222-e 27
Trang 9DANH MỤC CÁC ĐỎ THỊ
Đồ thị 3.1 Đồ thị huấn luyện mạng nơ-ron MLP-SIGMOID [12-7-1] với input lIÊn TỤC G1 22211111211 111121 1112211115011 1 1111111011111 KH k kg k KT kg xxx gxxt 33 Đồ thi 3.2 Dé thị huấn luyện mạng nơ-ron MLP-TANH [12-7-1] với input liên tục 34 Đồ thi 3.3 Dé thi huấn luyện mạng nơ-ron RBF [12-12-1] với input liên tục 35 Đồ thị 3.4 Đồ thị huấn luyện mạng nơ-ron MLP-SIGMOID [6-4-1] với input liên tục 36 Đồ thị 3.5 Đồ thị huấn luyện mạng nơ-ron MLP-TANH [6-4-1] với input liên tục 38 Đề thị 3.6 Đồ thị huấn luyện mạng nơ-ron RBF [6-4-1] với mmput liên tục 39 Đồ thị 3.7 Đỗ thị huấn luyện mạng nơ-ron MLP-IGMOID [4-3-1] với input liên tục 40 Đồ thị 3.8 Đồ thị huấn luyện mạng nơ-ron MLP-TANH [4-3-1] với input liên tục 41 Đồ thị 3.9 Dé thị huấn luyện mạng nơ-ron RBF [4-3-l] với input liên tục 42 Đồ thị 3.10 Đồ thị huấn luyện mạng nơ-ron MLP-SIGMOID [6-4-1] với input xen kẽ 44 Đồ thị 3.11 Đồ thị huấn luyện mạng nơ-ron MLP-TANH [6-4-1] với input xen kẽ .45 Đồ thị 3.12 Đề thị huấn luyện mạng nơ-ron RBF [6-4-l] với Input xen kẽ 46 Đồ thị 3.13 Đồ thị huấn luyện mạng nơ-ron MLP-SIGMOID [4-3-1] với input xen kẽ 47 Đồ thị 3.14 Đồ thị huấn luyện mạng nơ-ron MLP-TANH [4-3-1] với input xen kẽ 48 Đề thị 3.15 Đồ thị huấn luyện mạng nơ-ron RBF [4-3-1] với Input xen kẽ 49
Trang 10DANH MỤC CÁC BIÊU DO Biểu đồ 2.1 Lượng khách quốc tế đến Huế hằng tháng từ tháng (từ 01/2017 đến 08/2019) c2 2 211221 212221 1t 1 1t n1 1121 12t ng 1n rrg 17 Biểu đồ 3.1 Kết quả dự báo mạng nơ-ron MLP-SIGMOID [12-7-1] voi input liIÊn TỤC c1 22211101211 111221 1111211111011 1 11111110 x11 kg xxx kg x kg k1 x kg 1k kt 33 Biểu đồ 3.2 Kết quả dự báo mạng nơ-ron MLP-TANH[12-7-1] với input liên tục 34 Biểu đồ 3.3 Kết quả dự báo mạng nơ-ron RBE [12-12-1] với input liên tục 35 Biéu dé 3.4 Kết quả dự báo mạng nơ-ron MLP-SIGMOID [6-4-1] với input liên tục 37 Biểu đồ 3.5 Kết quả dự báo mạng nơ-ron MLP-TANH [6-4-1] với input liên tục 38
Biểu đồ 3.6 Kết quả dự báo mạng nơ-ron RBE [6-4-1] với input liên tục 39
Biểu đồ 3.7 Kết quả dự báo mạng nơ-ron MLP-SIGMOID [4-3-1] với input liên tục 40 Biểu đồ 3.8 Kết quả dự báo mạng nơ-ron MLP-TANH [4-3-1] với input liên tục 41
Biểu đồ 3.9 Kết quả dự báo mạng nơ-ron RBE [4-3-1] với input liên tục 42
Biểu đồ 3.10 Kết quả đự báo mạng nơ-ron MLP-SIGMOID [6-4-1] với input
NOM KE 4 44 Biéu dé 3.11 Kết quả dự báo mạng nơ-ron MLP-TANH [6-4-1] với input xen ké.45
Biểu dé 3.12 Két qua du bao mang no-ron RBF [6-4-1] với input xen kẽ 46
Biéu dé 3.13 Kết quả du bdo mang no-ron MLP-SIGMOID [4-3-1] voi input
%GII Kế non stnttnsripisetgeogSDMGGEERSDIOESIEHIHHGUEDEEIHOIEHIEHNGREEIUEEEIGIGIEEEIIHGIERIEHGMEDEIMOERIIHdB2mlangt 48 Biểu đồ 3.14 Kết quả dự báo mạng nơ-ron MLP-TANH [4-3-1] với input xen kẽ 49
Trang 11MO DAU
> Ly do chon dé tai
Mạng nơ-ron nhân tạo(ANN) ngày nay có thê được mô tả như một hệ thống máy tính thông minh bắt chước khả năng xử lý của bộ não sinh học bao gồm nhiều nơ-ron được gắn kết với nhau để xử lý thông tin ANN giống như bộ não con người,
được học bởi kinh nghiệm thông qua việc huấn luyện dựa trên các dữ liệu mẫu, có
khả năng lưu giữ những tri thức và sử dụng những trị thức đó trong việc dự đoán các đữ liệu chưa biết Chính vì vậy Trong những năm gần đây, nghiên cứu về mạng
lưới nơ-ron nhân tạo (ANN) đã nhận được sự quan tâm lớn đối trong các lĩnh vực như sinh học, tâm lý học, y học, kinh tế, toán học, thống kê và máy tính
ANN là phương pháp mạnh mẽ trong các nhiệm vụ liên quan đến phân loại
mẫu, ước tính các biến liên tục và dự báo Mạng nơ-ron cung cấp một số lợi thế
tiềm năng so với các phương pháp khác, khi xử lý các vấn để với đữ liệu không bình thường và phi tuyến tính [1]
Cấu trúc của ANN được tạo thành từ một số lượng lớn các yếu tổ xử lý đơn giản được gọi là nút hoặc nơ-ron, được tổ chức theo lớp Mỗi nơ-ron được kết nối
với các nơ-ron khác bằng các liên kết giao tiếp, mỗi liên kết có một giá trị số liên
quan được gọi là một trọng SỐ Trọng số chứa kiến thức hoặc thông tin ma ANN so hữu về một vấn đề cu thé [1] Hidden layer Input layer Output layer
Input values Output values
Hình 1: Kién trúc phố biến của một ANN 3 lớp [2]
Trang 12Perceptron” (MLP), “Mạng xuyên tâm” (RBF) và các dạng “Mạng hỏi quy”(RNN),Mạng tích chập (CNN) ứng với mỗi một bài toán đặt ra các mạng nơ-
ron thiếu một quy trình có hệ thống để xây dựng mô hình Do đó, để có được một mô hình ANN đáng tin cậy việc chọn một số lượng lớn các tham số theo kinh
nghiệm thông qua việc thử sai là cần thiết [1] từ đó chúng ta sẽ chọn ra mô hình nào chính xác nhất đề triển khai
ANN đã được áp dụng trong nhiều lĩnh vực đã đề cập ở trên và là phương pháp tiên phong trong lĩnh vực phân tích dữ liệu và dự báo Do đó dé khảo sát và tìm hiểu
các mô hình mạng nơ-ron dự báo để tài “Tìm hiểu một số mô hình mạng nơ-ron có
giám sát và ứng dung trong dự báo nhu cầu du lịch” được chọn đề nghiên cứu > Mục tiêu nghiên cứu
Mục tiêu chung: Nghiên cứu một số mô hình mạng nơn ron có giám sát và
ứng dụng vào việc dự bao nhu cầu khách du lịch Mục tiêu cụ thể:
- Nghiên cứu các mô hình mạng nơ-ron có giám sát trong đó tập trung vào các mô hình phủ hợp với loại đữ liệu chuỗi thời gian
- Thu thập và chuẩn hóa một số tập dữ liệu du lịch mẫu nhằm đánh giá hiệu
quả dự báo quả các mô hình dự báo dựa trên mạng nơ-ron có giám sát
- Cài đặt và đánh giá hiệu quả các các mô hình mạng nơ-ron đã nghiên cứu,
so sánh hiệu suất của ba kỹ thuật mạng nơ-ron nhân tạo khác nhau thông qua việc dự báo nhu câu du lịch
> Cấu trúc luận văn
Cấu trúc luận văn bao gồm phần mở đầu, ba chương nội dung, phần kết luận
và tài liệu tham khảo, trong đó:
Chương 1: Tổng quan về mạng nơ-ron nhân tạo có giám sát
Chương 2: Bài toán dự báo nhu cầu du lịch với mạng nơ-ron nhân tạo Chương 3: Ứng dụng mạng nơ-ron nhân tạo vào dự báo nhu cầu du lịch
Trang 13CHUONG 1 TONG QUAN VE MANG NO-RON NHAN TAO
VA BAI TOAN DU BAO
1.1 TONG QUAN VE BAI TOAN DU BAO 1.1.1 Khai niém vé du bao
Dự báo đã hình thành từ đầu những năm 60 của thế ki 20 Khoa học dự báo với tư cách một ngành khoa học độc lập có hệ thống lí luận, phương pháp luận và
phương pháp hệ riêng nhằm nâng cao tính hiệu quả của đự báo Người ta thường nhân mạnh rằng một phương pháp tiếp cận hiệu quả đối với dự báo là phần quan
trọng trong hoạch định Khi các nhà quản trị lên kế hoạch, trong hiện tại họ xác định hướng tương lai cho các hoạt động mà họ sẽ thực hiện Bước đầu tiên trong hoạch định là dự báo hay là ước lượng nhu cầu tương lai cho sản phẩm hoặc dịch vụ và các nguồn lực cần thiết để sản xuất sản phẩm hoặc dịch vụ đó [7]
Như vậy, dự báo là một khoa học và nghệ thuật tiên đoán những sự việc sẽ
xây ra trong tương lai, trên cơ sở phân tích khoa học về các dữ liệu đã thu thập
được.Khi tiến hành dự báo ta căn cứ vào việc thu thập xử lý số liệu trong quá khứ và hiện tại để xác định xu hướng vận động của các hiện tượng trong tương lai nhờ
vào một số mô hình toán học [7]
Dự báo có thể là một dự đoán chủ quan hoặc trực giác về tương lai Nhưng để cho dự báo được chính xác hơn, người fa cố loại trừ nhừng tính chủ quan của
người dự báo [7]
Ngày nay, dự báo là một nhu cầu không thé thiếu được của mọi hoạt động kinh tế - xác hội, khoa học - kỹ thuật, được tat cả các ngành khoa học quan tâm
nghiên cứu [7]
1.1.2 Ý nghĩa của việc dự báo
Trang 14kênh phân phối sản phâm, nguồn cung cấp tài chính và chuẩn bị đầy đủ điều kiện cơ sờ vật chất, kỹ thuật cho sự phát triên trong thời gian tới (kế hoạch cung cắp các yếu tố đầu vào như: lao động, nguyên vật liệu, tư liệu lao động cũng như các yếu
tố đầu ra dưới dạng sản phẩm vật chất và dịch vụ)
Trong các doanh nghiệp nếu công tác dự báo được thực hiện một cách
nghiêm túc còn tạo điều kiện nâng cao khả năng cạnh tranh trên thị trường
Dự báo chính xác sẽ giảm bớt mức độ rủi ro cho doanh nghiệp nói riêng và toàn bộ nêền kinh tế nói chung
Nhờ có dự báo các chính sách kinh tế, các kế hoạch và chương trình phát triển kinh tế được xây dụng có cơ sờ khoa học và mang lại hiệu quả kinh tẾ cao
Nhờ có dự báo thường xuyên và kỊp thời, các nhà quản trị doanh nghiệp có khả năng kịp thời đưa ra những biện pháp điều chỉnh các hoạt động kinh tế của đơn
vị mình nhằm thu được hiệu quả sản xuất kinh doanh cao nhất
1.1.3 Các phương pháp dự báo
Dự báo có thể chia thành 3 nhóm:
Dự báo bằng phương pháp chuyên gia: Loại dự báo này được tiến hành trên cơ sở tống hợp, xử lý ý kiến của các chuyên gia thông thạo với hiện tượng được nghiên cứu, từ đó có phương pháp xử lý thích hợp dé ra các dự đoán, các dự đoán này được cân nhắc và đánh giá chủ quan từ các chuyên gia Phương pháp này có ưu thể trong trường hợp dự đoán những hiện tượng hay quá trình bao quát rộng, phức
tạp, chịu sự chị phối của khoa học - kỹ thuật, sự thay đổi của môi trường, thời tiết,
Trang 15Dự báo theo phương trình hồi quy: Theo phương pháp này, mức độ cần dự bảo phải được xây dựng trên cơ sở xây đụng mô hình hỗồi quy, mô hình này được xây dựng phù hợp với đặc điểm và xu thế phát triển của hiện tượng nghiên cứu Để xây dựng mô hình hồi quy, đòi hỏi phải có tài liệu về hiện tượng cần dự báo và các
hiện tượng có liên quan Loại dự báo này thường được sử dụng đế dự báo trung hạn và dài hạn ở tầm vĩ mô [7]
Dự báo dựa vào dãy số thời gian: Là dựa trên cơ sở dãy số thời gian phản
ánh sự biến động của hiện tượng ở những thời gian đã qua để xác định mức độ của
hiện tượng trong tương lai [7] Đây cũng sẽ là phương pháp được chọn đề dự báo
lượng khách du lịch đến huế dựa trên mạng nơ-ron 1.2 MẠNG NƠ-RON SINH HỌC
Mô hình nơ-ron nhân tạo có nguồn gốc từ mô hình tế bào thần kinh (hay còn
gọi là nơ-ron) sinh vật
Một tế bào nơ-ron gồm bốn phần cơ bản là:
- Các nhánh và rễ: Là các bộ phận nhận thông tin Các đầu nhậy 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 tạo nên cơ chế truyền đạt thông tin
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 hoặc là trọng (weight) [3]
- Than Than kinh (Soma): Chứa các nhân và cơ quan tổng hợp protein
Cac ion vao duoc tổng hợp và biến đổi Khi nông độ các ion đạt đến một giá trị
nhất định, xảy ra quá trình phát xung (hay kích thích) Xung đó được phát ở các đầu ra của nơ-ron Dây dẫn đầu ra xung được gọi là dây thần kinh (axon) [3]
Trang 16-_ 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 khi có sự chênh lệch về nồng độ ion giữa bên trong và bên ngoài Nếu nồng độ càng lớn thì việc truyền các ion càng nhiều và ngược lại [3] Đầu vào Than mơrom) Nhân Soi trục
Hình 1.1: Câu trúc nơ-ron sinh vật
1.3 SỰ TƯƠNG ĐỒNG GIỮA MẠNG NƠ-RON SINH HỌC VÀ NHÂN TẠO
Não người gồm vô số các nơ-ron liên kết với nhau được coi như một hệ thống xử lý thông tin rất phức tạp, phi tuyến và song song Não người có thể giải quyết rất
nhiều vẫn đề như: nghe, nói, nhìn, hồi ức thông tin, nhận dạng các mẫu Não thực hiện được những nhiệm vụ như vậy nhờ các phan tử tính toán đó là nơ-ron Não sẽ
phân bố việc xử lý cho hàng tỷ nơ-ron có liên quan, điều khiển các mối liên hệ giữa các nơ-ron Nơ-ron không ngừng nhận và truyền thông tin cho nhau Trong quá trình xử lý các nơ-ron tự liên kết với nhau tạo thành mạng Mỗi mạng lại gồm hàng
vạn các phan tử nơ-ron khác nhau, mỗi nơ-ron lại lại có khả năng liên kết với hàng
vạn nơ-ron khác [3]
Tương tự như vậy một mạng nơ-ron nhân tạo bao gồm một số bộ xử lý đơn
giản và có liên quan lẫn nhau, cũng được gọi là tế bào thần kinh, gần giống với bộ não của con người Các tế bào thần kinh được kết nối bằng các trục qua các tín hiệu
từ một tế bào thần kinh khác Mỗi tế bào thần kinh sẽ nhận được một số tín hiệu
Trang 171.4 MẠNG NƠ-RON NHÂN TẠO 1.4.1 Nơ-ron nhân tạo
Tế bào nơ-ron sinh học được mô phỏng trong ANN bởi một hàm kích hoạt Trong các tác vụ phân loại (ví dụ: xác định e-mail spam), hàm kích hoạt này phải có công tắc chuyển đổi trên đặc tính của chúng, nói cách khác, một khi đầu vào lớn hơn một giá trị (ngưỡng) nhất định, đầu ra sẽ thay đổi trạng thái từ 0 thành 1, tu - 1
đến 1 hoặc từ 0 đến lớn hơn 0 Điều này mô phỏng việc tế bào thần kinh sinh học
được kích hoạt Một hàm kích hoạt phô biến được sử dụng là hàm sigmoid: “re +4 1 +exp(—z) Có hình dạng như sau : Lo 0.8 L 0.6 | 04 | Ỷ n2 | J = : “ 0.0 | x)
Hinh 0.2: Ham Sigma
Như có thê thấy trong hình trên, hàm này được kích hoạt, tức là nó di chuyển từ 0 đến I khi đầu vào x lớn hơn một giá trị nhất định Tuy nhiên, hàm sigma không phải là một hàm bước, biên của nó “mềm”, và đầu ra không thay đổi ngay lập tức Điều này có nghĩa là có thể đạo hàm hàm này và điều này rất quan trọng cho các
thuật toán huấn luyện mạng nơ-ron 1.4.2 Bias với nơ-ron
Trang 18và một đâu ra:
x }———+ h(x)
Hình 1.3: Ví dụ một nơ-ron đơn
Đầu vào cho hàm kích hoạt của nút trong trường hợp này chỉ đơn giản là x¡w; Điều gì làm thay đổi w; trong mạng đơn giản này? 1.0 = — w=05 i — w=ll 0.8 — w=2.0 06 z ¥, = 04 O2- 0.0
Hình 1.4: Tác động của việc điều chỉnh trọng số
Trang 191.0 — b=-8.0 £ 08 bzetD | — b=8.0 0.6 | Hình 1.6: Tác động khi điều chỉnh bias h_ wh(xI
Trong trường hợp này, w¡ đã được tăng lên đề mô phỏng rõ ràng hơn về trạng thái kích hoạt Như có thể thấy, bằng cách thay đổi các giá trị trọng số b khác nhau
cua bias, chúng ta có thể thay đổi khi nơ-ron kích hoạt Do đó, bằng cách thêm một
bias, chúng ta có thể làm cho nơ-ron có khả năng mô phỏng một hàm ¡f thông dụng, tức là
“if (x> z) then | else 0”
Nếu không có bias, chúng ta không thể thay đổi z trong câu lệnh if dé, nó sẽ luôn bị mắc kẹt xung quanh 0 Điều này rõ ràng rất hữu ích nếu bạn đang cố gắng mô phỏng các mối quan hệ có điều kiện
1.4.3 Mạng no-rơn nhân tạo
Mạng nơ-ron nhân tạo là mạng mà bao gồm các nơ-ron nhân tạo kết nối với
nhau tương tự như những bộ não sinh học trong tự nhiên, hay nói cách khác chúng là các mô phỏng thô của các nơ-ron trong bộ não sinh học Đôi khi mạng nơ-ron
nhân tạo chỉ là những thiết bị vật lý hoặc những mơ hình tốn học.Mạng nơ-ron
nhân tạo như một thệ hỗng máy tính song song bao gồm nhiều nơ-ron đơn giản xử lý, kết nối với nhau theo một cấu trúc nào đó dé có thể giải quyết những bài toán trong thực tế
Trang 20số nơ-ron là đâu vào cho các nơ-ron khác Chúng ta có thê biêu diễn các mạng này dưới dạng các lớp nơ-ron được kêt nỗi Mỗi nơ-ron có nhiêu dau vao có trọng sô, áp
dụng hàm kích hoạt để tính tổng các đầu vào này và khi làm như vậy sẽ tạo ra một đầu ra py Bias Activation Function ~ “a > Y=flu;) +> Output * wi x, —+_) )
Hinh 1.7: Cac yếu tố cơ bản của một nơ-ron nhân tạo
Mỗi nơ-ron nhận đầu vào #¡, xạ, xs x¡ được gắn với trọng số (w;) cho thay cường độ kết nối cho đầu Mỗi đầu vào sau đó được nhân với trọng lượng tương
ứng của kết nối nơ-ron Một nơ-ron bias có thể được định nghĩa là một loại trọng
lượng kết nối với giá trị khác không đổi được thêm vào tổng của các đầu vào và các trọng số tương ứng (u;) được đưa ra bởi công thức [2] N tị — » WijXi + b; i=1 Tổng 1; được chuyển đổi bằng cách sử đụng một hàm kích hoạt Yi= fui) Chức năng kích hoạt là cơ chế dịch các tín hiệu đầu vào thành tín hiệu đầu ra cho mỗi lần xử lý
Có ba loại phương pháp được kể đến trong việc huấn luyện mạng nơ-ron nhân
tạo : Học có giám sát, học dựa trên thông tin phản hồi và học không có giám sát Đề
hoàn thành như mục tiêu của để tài đã đề ra chúng ta sẽ quan tâm đến mạng nơ-ron
nhân tạo học có giám sát để triển khai
Trang 211.4.4 Phần loại mạng nơ-ron nhân tạo
Có rất nhiều cách phân loại mạng nơ-ron nhân tạo Dựa vào các đặc điểm trong mạng nơ-ron nhân tạo được phân loại :
1.4.4.1 Phan loại theo số lớp bên trong mạng
- 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 cùng 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à mang ty lién két (Autoassociative) [3]
- 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ằm giữa lớp đầu vào và lớp dau ra goi la lép 4n (Hidden Layer) [3]
1.4.4.2 Phan loai theo dwong truyén tin hiéu
- 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 [3]
- Mạng phản hồi: 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 [3]
- 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 [3]
1.4.5 Luật học cơ bản của mạng nơ-ron nhân tạo
Học tham số tức là thay đổi, cập nhật các trọng số liên kết giữa các nơ-
ron sao cho kết quả cuối cùng là chính xác Có ba loại học tập được xem xét trong
mạng nơ-ron nhân tạo
Trang 22X đầu vào MANG NƠ y đầu ra ——— —- y 1M: RON 6 TA TẤT y x ⁄
Tín hiệu lỗi d đầu ra mong muốn
Tạo tín hiệu lỗi | ————————————————— (A) X đầu vào MẠNG NƠ y đầu ra thực X đầu vào NHING:NƠ y đầu ra thực ' RON —Tt RON Tín hiệu cũng cố Tín hiệu củng cố L Tạo tín hiệu lỗi (â) đ) Hình 1.8: Các dang học
(A): Hoc giam sat; (B): Hoc củng có, (C): Học không giám sát
Hoc giám sát (SŠupervised Learning): Đầu vào và đầu ra của mạng được cho
sẵn Mạng được cung cấp một tập các mẫu (Œ(1), đ(1)); (x(2), đ(2)); ; (x(), đ(&))} là các cặp dau vao — đầu ra mong muốn Khi một đầu vào x(k) duoc dua vao mang, dau ra mong muốn đ(%) cũng được đưa vào mạng Như hình 1.8 (A), khi có sự sai khác giữa giá trị đầu ra thực sự y() và đầu ra mong muốn dk) thi trong sé
được thay đổi sao cho giá trị sai khác là nhỏ nhất.[3]
Học củng cô (Reinforcement Learning): Mạng chỉ được biết là giá trị đầu ra
thực sự “quá cao” hay chỉ “chính xác 50%”, hoặc chỉ có được thông tin phan hồi là đầu ra đúng hay sai Như hình 1.8 (B), luật học củng cố là một dạng của luật họ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 chỉ mang tính đánh giá chứ không mang tính chất dạy [3]
Học không giám sát (Unsupervised Learning): Không có bất kì một thông tin
phản hồi nào từ môi trường Mạng sẽ chỉ nhận được một số dữ liệu đầu vào và phải tự tìm ra các mẫu, đặc tính, quy tắc, sự tương quan trong dữ liệu đầu vào và tập hợp
lại để tạo đầu ra [3]
Trang 231.4.6 Số no-ron trong lép 4n
Nếu số nơ-ron trong lớp ẩn quá ít có thể dẫn đến việc không thể nhận đạng được đầy đủ các tín hiệu trong một tập dữ liệu phức tạp, hay thiếu ăn khớp (Underfitting) Nhưng nếu có quá nhiều lại làm tăng thời gian huấn luyện mạng và có thể dẫn đến tình trạng thừa ăn khớp (Over7iing) Tức là mạng có quá nhiều thông tin, hoặc lượng thông tin trong tập dit ligu mau (Training Set) không đủ các
dữ liệu đặc trưng đề huấn luyện mạng Số lượng các đơn vị trong lớp an phu thudc
vào rất nhiều yếu tố như số đầu vào, đầu ra của mạng, số trường hợp trong tập mẫu,
độ nhiễu của dữ liệu đích, độ phức tạp của hàm lỗi, kiến trúc mạng và thuật toán
huấn luyện mạng [5]
Thông thường để xác định được số đơn vị tôi ưu trong lớp ân cần phải thông qua huấn luyện mạng với một bộ số các đơn vị trong lớp ẩn và dự báo lỗi tổng quát hóa của từng lựa chọn Cách tốt nhất đề tìm ra số đơn vị tối ưu là sử dụng phương pháp thw sai (Trial — and— Error) [5]
1.4.7 Hàm lỗi (hàm mục tiêu)
Để huấn luyện một mạng và xét xem nó thực hiện tốt đến đâu, ta cần
xây dựng một hàm mục tiêu (hay hàm giá) để cung cấp cách thức đánh giá khả
năng hệ thống một cách không nhập nhằng Việc chọn hàm mục tiêu là rất
quan trọng bởi vì hàm này thể hiện các mục tiêu thiết kế và quyết định thuật
toán huấn luyện nào có thể được áp dụng Đề phát triển một hàm mục tiêu đo được
chính xác cái chúng ta muốn không phải là việc đễ đàng Một vài hàm cơ bản được
sử dụng rất rộng rãi như hàm mục tiêu MSE, MAPE, RMSE,LMS
Trong các ứng đụng thực tế, nếu cần thiết có thể làm phức tạp hàm số với một vài yếu tổ khác để có thể kiêm soát được sự phức tạp của mô hình
1.4.8 Tốc độ học của mạng nơ-ron
Ta gọi mn là tôc độ học của mạng nơ-ron
Việc chọn một tốc độ học của mạng nơ-ron ràng buộc bởi 2 yếu tổ trái ngược nhau:
Trang 24Nếu m quá nhỏ sẽ mất rất nhiều thời gian để hàm lỗi đạt đến giá trị tối thiểu,
nếu ?: quá lớn thì việc cập nhật trọng số sẽ bị qua da so voi gia tri lỗi tối thiểu và trọng số trong mạng nơ-ron có thể bị dao động qua lại thậm chí đi lệch hướng
Giá trị tối ưu của tốc độ học vẫn còn là vẫn đề nan giải và phụ thuộc vào mạng chúng ta đang xét, do vậy chưa có một quy chuẩn chính xác về việc tốc độ học,
thông thường chúng ta sẽ khám phá các giá trí khác nhau (ví dụ như n = 1; 0,1;
0,01; 0,001 ) và chọn ra giá trị phù hợp [7]
1.4.9 Giải thuật lan truyền ngược
Giải thuật lan truyền ngược tìm kiếm một vector cac trong sé (weights vector) giúp cực tiêu hóa lỗi tổng thê của hệ thống đổi lập với tập học
Giải thuật lan truyền ngược bao gồm hai giai đoạn:
Giai đoạn lan truyền tiến tín hiệu (Signal Forward) Cac tin hiéu dau
vào (vector các giá trị đầu vào) được lan truyền tiến từ tầng đầu vào đến tầng đầu ra (đi qua các tầng Ân)
Giai đoạn lan truyền ngược lỗi (Error Backward)
- Căn cứ vào giá trị đầu ra mong muốn của vector đầu vào, hệ thống sẽ tính toán giá trị lỗi
-_ Giá trị lỗi được lan truyền ngược từ tầng đầu ra đến tang đầu vào
- Cac trong sé được cập nhật đến khi lỗi có thể chấp nhận được
1.4.10 Phương pháp đánh giá độ chính xác dự báo của mô hình mạng
nơ-ron
Trang 25Vt là giá trị dự báo của mang no-ron tại thời điểm t,
7! là số lượng mốc thời gian mà chúng ta cần dự báo
MAPE là một biện pháp phổ biến để đánh giá độ chính xác của các mô hình
dự báo Được đề xuất bởi Lewis (1982), biện pháp lỗi này có thể được hiểu như sau: Lỗi MAPE nhỏ hơn 10% cho thấy mô hình có độ chính xác cao,
Lỗi MAPE từ 10% đến 20% cho thấy một mô hình tốt và chính xác, Lỗi MAPE từ 21% đến 50% cho thấy một mô hình chính xác hợp lý
Lỗi MAPE lớn hơn 50% cho thấy một mô hình không chính xác
Đây là một trong những biện pháp được sử dụng để đánh giá hiệu suất dự
báo của các mô hình nhu cầu du lịch nó giúp chúng ta chọn lọc và so sánh độ chính
xác dự báo giữa các mô hình
TIỂU KÉT CHƯƠNG 1
Trong chương này chúng ta đã có sự giới thiệu tổng quan về một mạng nơ-ron nhân tạo cũng như các thành phần và thông số cầu thành nên nó Có thể nói mạng
no-rơn nhân tạo như một hệ thống thích ứng có thể thay đổi linh hoạt cấu trúc của
mình dựa trên các thơng tin bên ngồi và bên trong của mạng trong quá trình học để
cái thiện độ chính xác cũng như tăng khả năng chịu nhiễu của mình, từ đó tìm kiếm
được tri thức giữa đữ liệu vào và kết quả
Tiếp theo chương 2 chúng ta sẽ đi phân tích bài toán dự báo nhu cầu du lịch với mạng nơ-ron nhân tạo, và từ đó triển khai lên phương hướng xây dựng các mạng nơ-ron phục vụ công tác dự báo lượng khách du lịch quốc tế đến Huế trong
năm 2019
Trang 26CHUONG 2 BAI TOAN DU BAO NHU CAU DU LICH
VOI MANG NO-RON NHAN TAO
2.1 TONG QUAN BAI TOAN DU BAO NHU CAU DU LICH VOI MANG
NO-RON NHAN TAO
2.1.1 Lựa chọn dữ liệu khách du lịch đến Huế
Đã từ lâu du lịch Huế đã được biết đến như một địa điểm du lịch hấp dẫn đối
với đu kháchh trong nước và ngoài nước là địa điểm du lịch lý tưởng không thể bỏ qua đổi với những ai yêu thích tìm hiểu, khám phá những di tích lịch sử, văn hóa của Việt Nam Ngày này các tour du lịch đến Huế ngày một tăng lên bởi lẽ Thành phổ Huế luôn giữ cho mình nét văn hóa riêng và bảo tổn những di tích lăng tâm,
đến của các vị vua chúa không bị mai một
Chính vì sự ổn định của lượng khách du lịch và tham quan từ nhiều quốc gia trên thế giới hằm năm đồng thời đữ liệu được công khai và thống kê rõ ràng chỉ tiết trên các phương tiện truyền thông, website Dữ liệu khách du lịch quốc tế đến huế
được lựa chọn để làm tiêu chí hàng dau dé xây dựng mô hình dự báo
2.1.2 Nội dung bài toán
Để dự báo khách du lịch quốc tế đến huế chúng ta sẽ dự báo lượng khách
tháng tiếp theo dựa trên đữ liệu của các tháng trước đó thông qua một mạng nơ-ron đã được huyấn luyện và cho ra hiệu quả cao nhất Các tháng trong Tháng kế đến quá khứ trong tương lai 1|2|3|4| << : 5|6|7/8
Hình 2.1: Mô hình tổng quát bài toán đự báo nhu cầu du lịch
với mạng nơ-ron nhân tạo
Trang 272.1.3 Ứng dụng bài toán vào thực tế
Bằng việc xây dựng thực nghiệm bài toán dự báo khách quốc tế đên Huế trong một tập đữ liệu có khoảng thời gian xác định trong quá khứ Chúng ta có thể rút ra
được mô hình mạng nơ-ron nào cho ra hiệu quả cao và chính xác nhất từ đó sử dụng
mạng nơ-ron này vào công tác dự báo cho những mốc thời gian trong tương lai
2.2 PHAN TICH DU LIEU DU LICH KHACH QUOC TE DEN HUE
Dữ liệu du lịch lượt khách quốc tế đến Huế được chọn thu thập theo tháng
trong khoảng thời gian từ tháng 1 năm 2017 đến tháng 8 năm 2019 được biểu diễn dưới dạng biểu đồ: 300000 250000 200000 150000 * 100000 LƯỢNG KHÁCH 50000 0 12345 67 89101112123 45 67 8910111212345 67 8 = Khach quéc té Biéu dé 2.1 Luong khach quéc té dén Hué hang thang tir thang (tt 01/2017 dén 08/2019)
Dựa vào biểu đồ ta cũng có thể nhận thấy sơ lược rằng được xu hướng tăng giảm của khách du lịch tại huế giữa các tháng trong năm thường là tháng 3 hằng nằm thì lượng khách quốc tế tăng mạnh và hạ nhiệt vào tháng 5 — 6 hằng năm và tổng quát qua 2 năm chúng ta thấy rằng lượng khách quốc tế có xu hướng tăng so với năm trước đó Nếu chúng ta có phương pháp huấn luyện tốt thì mạng nơ-ron có
Trang 28Tập dữ liệu học dùng trong giai đoạn huấn luyện cho mạng nơ-ron chúng †a sẽ gồm có 24 mẫu tương đương với số liệu khách du lịch đến huế trong vòng 2 năm từ (tháng 1 năm 2017 đến tháng 12 năm 2018)
Tập dữ liệu kiểm thử dung trong giai đoạn thử nghiệm để nhận xét về độ chính
xác của mạng nơ-ron, bao gồm 8 mẫu tương đương với 8 tháng còn lại trong tập dữ
liệu (từ tháng 1 năm 2019 đến tháng 8 năm 2019) để kiểm tra độ chính xác của
mạng no-rơn sau khi huấn luyện
2.2.2 Chuẩn hóa dữ liệu
Giá trị của dữ liệu du lịch chúng ta thu được thường có đơn vị rất lớn nằm ở
hàng chục nghìn đến hằng trăm nghìn trở lên Do vậy nếu chúng ta lấy nguyên bản dữ liệu để đưa vào mạng nơ-ron huấn luyện mà không qua việc chuẩn hóa thì sẽ dẫn
đến việc học của mạng nơ-ron sẽ khó khăn
Dữ liệu được chuẩn hóa trong phạm vi [0: 1] trước khi được nhập vào máy
tính bằng cách sử dụng phương trình dưới đây [2]:
= Xo — Xmin Xmax — Xmin
#o : giá trị gốc trong tập dữ liệu học Xu : giá trị chuẩn hóa
Xmin | gid tri gdc thấp nhất trong tập dữ liệu học #o : giá trị gốc của dữ liệu
Chúng ta có thể thấy rằng nếu như kết quả dự báo của mạng nơ-ron vượt qua
gia tri 1 chắn hạn như :1,01;1,02 cao hon giá trị đã chuẩn hóa thì chứng t†ỏ một
điều rằng mạng nơ-ron đang dự báo cho ta một xu hướng tăng của khách đu lịch trong tương lai so với các mốc thời gian trước đó, các giá trị sau khi được kiểm thử đều là giá trị chuẩn hóa dạng thập phân chúng ta cần lưu ý chuyền đổi lại giá trị này
để ra được con số khách du lịch thực tế
Trang 292.3 XÂY DỰNG MẠNG NƠ-RON
Khả năng dự báo của ANN chủ yếu phụ thuộc vào kiến trúc của nó Vì nó không phải là một phương pháp có tính xác định hoàn toàn, nên việc xây dựng một mô hình phù hợp nhất cho một vấn đề cụ thể thường khá cồng kẻnh Chưa có lý thuyết chính xác về quy trình lựa chọn cho bất kỳ tham số nào của mạng nơ-ron Do đó, cách phổ biến nhất đề thực hiện xây đựng kiến trúc ANN vẫn là sử đụng các kỹ thuật dựa trên kinh nghiệm để giải quyết vấn đề thông qua các các nghiên cứu thử nghiệm và lỗi thử nghiệm [2]
Chúng ta sẽ sử dụng 2 loại mạng nơ-ron là MLP và RBF để thử nghiệm và so
sánh hiệu suất của hai loại mạng này
2.3.1 Lớp đầu vào và đầu ra của các mạng no-ron
Khi xây dựng các mô hình ANN trong bài toán dự báo cho cả 2 mạng nơ-ron kể trên chúng ta sẽ cho các vector đầu vào là các vector hàng với độ trễ thời gian khác nhau (y\ — l, yị- 2 yị — 3 yt— k) trong lớp đầu vào và các giá trị dữ liệu tức thời là (y,) được sử dụng trong lớp đầu ra [2] Chẳng hạn ma trận 3 đầu vào và 1 đâu ra tương đương với độ trễ thời gian là 3 tháng ta sẽ có ma trận :
Gt— 5) Gt =4) Ớt~ 3) @t— 2)
@t—4) (yt— 3) (yt— 2) (yt — 1)
(yt — 3) Gt—2) Gt— 1) (yt)
2.3.2 Xây dung mang no-ron MLP
MLP là cấu trúc liên kết mạng nơ-ron được sử dụng rộng rãi nhất trong các nghiên cứu dự báo nhu cầu du lịch, hơn năm mươi phần trăm các nghiên cứu ứng dụng kinh doanh mạng nơ-ron được báo cáo sử đụng mạng nơ-ron nhiễu lớp chuyền tiếp với quy tắc học tập lan truyền ngược[2] Loại ANN này phổ biến vì khả năng ứng dụng rộng rãi vào nhiều lĩnh vực có liên quan đến kinh doanh: chủ yếu là dự đoán, phân loại và mô hình hóa MLP thích hợp để giải quyết các vấn đề liên quan
đến việc tìm hiểu mối quan hệ giữa một tập hợp đầu vào và đầu ra đã biết MLP là
Trang 30một mô hình mạng nơ-ron chuyên tiếp nguồn cấp dữ liệu ước tính mối quan hệ giữa
các bộ đữ liệu đầu vào và một bộ đầu ra tương ứng
MLP sử dụng ba hoặc nhiều lớp tế bảo nơ-ron, còn được gọi là các nút, với
các chức năng kích hoạt phi tuyến tính Số lượng tế bào nơ-ron trong lớp ẩn xác định khả năng của mạng MLP để tính gần đúng một chức năng nhất định Các kết nối giữa các nơ-ron luôn luôn chuyển tiếp, nghĩa là các kết nối được truyền từ các
nơ-ron trong một lớp nhất định tới các nơ-ron ở lớp tiếp theo, nhiệm vụ chính của
các đơn vị đầu vào là xử lý dữ liệu đầu vào sơ bộ và chuyên chúng vào các phân tử
của lớp ân Xử lý dữ liệu có thé bao gồm chia tỷ lệ, lọc hoặc chuẩn hóa tín hiệu Việc xử lý dữ liệu nơ-ron cơ bản được thực hiện trong các lớp đầu ra và An
Cần lưu ý rằng các liên kết giữa các nơ-ron được thiết kế sao cho mỗi phần tử của lớp trước được kết nối với từng phần tử của lớp tiếp theo Các kết nối này được gán
VỚI các trọng số phù hợp được xác định, cho từng trường hợp riêng biệt, tùy thuộc
vào nhiệm vụ mà mạng cần giải quyết Lớp đầu ra tạo ra vectơ đáp ứng mạng y Hidden Input = Output Hình 2.2: Mạng MLP 3 lớp 2.3.2.1 Xây dựng lóp ẩn cho mạng MLP
Mạng perceptron 3 lớp, ký hiệu là [x;z;y], tức là có x nơ-ron thuộc lớp vào (input); z no-ron thuộc lớp ân và y nơ-ron thuộc lớp ra (output) Do việc dự báo chỉ 1 giá trị nên y = 1 Số nơ-ron thuộc lớp ân được tính như sau:
Trang 31(x+y+0.5)
£ 2
Sau đó chúng ta sẽ sửa dụng kết nối thẳng và đầy đủ kết nối từng nơ-ron ở lớp đầu vào đến tất cả các nơ-ron ở lớp ẩn giúp thành nên ma trận trọng số WP), chúng ta sẽ cho hàm kích hoạt tại lớp ẩn nay là một dạng hàm phi tuyến Đồng thời chúng
ta sẽ bổ sung thêm bias no-ron có giá trị là I(hệ số tự do) Hình 2.3: Mô hình lớp ân và lớp đầu vào của mạng MLP Ta có phương trình ma trận đầu ra h :
h= ƒ(W®*x + p@)) (1), Với ƒ là hàm kích hoạt phi tuyến
2.3.2.2 Xây dựng lớp đầu ra cho mạng MLP
Để xây dựng lớp đầu ra cho mạng nơ-ron MLP chúng ta đầu tiên sẽ thêm một bias no-ron(hé số tự do) vào lớp ân, sau đó sẽ kết nối từng nơ-ron lớp ẩn đến nơ-ron duy nhất ở lớp ra bằng việc sử dụng kết nối thẳng và đầy đủ giúp hình thành nên ma
trận trọng số W€@ chúng ta sé để hàm kích hoạt tại nơ-ron đầu ra là dạng tuyến tính
Trang 32Y © Hinh 2.4: M6 hinh Iép dau ra cho mang no-ron MLP Ta có phương trình ma trận đầu ra 9 9= W#”Th + p) (2)
2.3.2.3 Phương pháp huấn luyện và dự báo mạng nơ-ron MLP
Như đã được đề cap chi tiết ở chương I, đối với việc huấn luyện mạng nơ-ron
chúng ta sẽ sử đụng phương pháp học có giám sát để huấn luyện cụ thé hơn là Luật học giảm Gradient và sử dụng hàm lỗi sai số toàn phương trung bình, viết tat MSE (Mean squared error)
Công thức :
1 Ay
MSE “7 ta1%t — iy
Trang 33Trong đó :
y, là giá trị thực tế khách đu lịch tại mốc thời điểm t từ tập dữ liệu huấn luyện, Vt là giá trị dự báo của mang no-ron tại thời điểm t,
7! là số lượng các vector trong tập huấn luyện
Mục tiêu sử dụng hàm lỗi này là để xác định sự sai khác giữa kết quả ra thực
tế và kết quả đích trong quá trình huấn luyện Đồng thời chúng ta kết hợp với giải thuật lan truyền ngược để cập nhật trọng số sau mỗi vòng huấn luyện
Sau khi đã huấn luyện xong, chúng ta sẽ thực hiện việc dự báo bằng cách cho
từng vector trong tap X_test di vao mang nơ-rơn , từng vector vào sẽ được nhân với trọng số W£ đi qua hàm kích hoạt lớp ân h và tiếp tục nhân với ma trận trọng số
W©* để có được kết quả dự báo tương ứng cho vector đó, thực hiện tuần tự và lần
lượt như vậy ta sẽ có được kết quả dự báo hàng loạt mốc thời gian trong tương lai 2.3.3 Phương hướng xây dựng mạng nơ-ron RBE
Kỹ thuật ANN khác được áp dụng trong nghiên cứu này là mạng chức năng cơ
sở xuyên tâm (RBEF) Nó dựa trên học tập có giám sát Mạng RBE được nhiều nhà
nghiên cứu để xuất độc lập và là một giải pháp thay thế phổ biến cho MLP Mạng RBF cũng rất tốt trong việc mô hình hóa đữ liệu phi tuyến và có thể được đào tao trong một giai đoạn thay vì sử dụng quy trình lặp như trong MLP và cũng nhanh chóng tìm hiểu ứng dụng đã cho Cấu trúc của mạng nơ-ron RBF tương tự như của
MLP Nó bao gồm các lớp tế bào thần kinh Sự khác biệt chính là RBF có một lớp ân chứa các nút được gọi là các đơn vị RBE Mãi RBE có hai tham số chính mô tả vị trí của trung tâm chức năng và độ lệch hoặc chiều rộng của nó Đơn vị ấn đo khoảng cách giữa một vectơ dữ liệu đầu vào và tâm của RBF RBE có cực đại khi
khoảng cách giữa tâm của nó và vectơ dữ liệu đầu vào bằng 0 và giảm dân khi khoảng cách này tăng Chỉ có một lớp 4n đuy nhất trong mạng RBEF, chỉ có hai bộ trọng số, một lớp kết nối lớp ẩn với lớp đầu vào và lớp kia kết nối lớp ân với lớp đầu ra Các trọng số kết nối với lớp đầu vào chứa các tham số của các hàm cơ sở Các trọng số kết nối lớp ân với lớp đầu ra được sử đụng dé tạo các tổ hợp tuyến tính
Trang 34kích hoạt các chức năng cơ bản (đơn vị ẩn) dé tao dau ra mang va y = téng trong số nhân với các nơ-ron ân ( đây là lúc chúng ta cải tiến hơn so với phương pháp của họ bằng cách nhét giải thuật lan truyền ngược và phương pháp học giảm gradient, hoặc LMS cho Iép nay Ưu điểm của RFB là nó có thể được đào tạo trong một thời gian ngắn theo MLP và gần đúng giải pháp tốt nhất mà không phải đối phó với mức
tối thiểu cục bộ Ngoài ra, RBE là các mạng cục bộ so với các mạng chuyển tiếp thực hiện ánh xạ toản cầu Điều này có nghĩa là RBF sử dụng một bộ don vi xu ly; mỗi bộ dễ tiếp nhận nhất đến một vùng cục bộ của không gian đầu vào Do các tính năng được đề cập ở trên, mạng nơ-ron RBEF đã được sử dụng làm mô hình ANN
thay thé trong các ứng dụng như xấp xi chức năng, đự báo chuỗi thời gian cũng như phân loại nhiệm vụ trong những năm gần đây
2.3.3.1 Giải thuật k-mean
Các bước triển khai giải thuật k-means 1
2
Khởi động ngẫu nhiên k điểm trong không gian vào
Đối với mỗi mẫu trong tập huấn luyện, khoảng cách từ nó đến tất các k
tâm là được tính toán
Tâm ngân nhất sẽ được chọn mẫu dữ liệu dày, đây là sự phân loại ban đầu Tất cả các mẫu có lại sẽ được lần lượt ấn định cho các tâm từ 1 đến k Đối với tất cả các mẫu thuộc về cum 1, toa dd trung bình (mean values) của chúng sẽ được tính toán Giá trị này chính là tâm mới của cum 1 Lặp lại việc tính toán này cho k-1 cụm còn lại và như thế chúng ta xác định lại k tâm mới
Tiên trình đo khoảng cách giữa các mẫu vào với các tâm cụm để phân
loại lại dữ liệu sẽ được lặp lại cho đến khi không còn sự thay đổi nào diễn
Ta
2.3.3.2 Kết hợp giải thuật K-mean để xây dụng lớp ẩn cho mạng RBF Dựa trên giải thuật k-means để phân cụm các vector đây là ý tưởng chính của mạng RBE ta sẽ xây dựng tại đây các vector đâu vào mạng nơ-ron các mẫu không
Trang 35gian vào sẽ được phân cụm
Các vector không gian đầu vào X train hay còn được gọi là các mẫu sẽ được
lựa chọn ngẫu nhiên để làm tâm cụm khởi động với số lượng cụm mong muốn, sau
đó chúng ta sẽ cho giải thuật k-means hoạt động tính toán để phân cụm cho đến khi không còn sự thay đổi
Khi đã có được các tâm cụm mong muốn chúng ta sẽ chuyển sang tính toán khoảng cách giữa các mẫu đến các tâm cụm này bằng khoang cach Euclidean, va
khoảng cách r đến một tâm cụm từ một mẫu vào x từ X trai sẽ được tính toán bởi
phương trình sau [7]:
Trong đó :
T; là khoảng cách Euclidean của một vector x đến tâm cụm thứ j
X; là giá tri tai cot 1 cua vector x
Wij la trong số biểu diễn cho tọa độ tâm cụm thứ j liên kết với gia tri tai cot I cua vector x
Và hàm kích hoạt của nút ân khi di qua sé 1a ham Gauss phi tuyến : _ Lier @i-wij)?
Ũ; =e 202
Trong đó biến Ø định nghĩa là độ rộng bán kính của chuông của hàm Gauss
thường được xác định bởi thực nghiệm
Lúc này từ các mẫu vector đầu vào thông qua việc tính toán giữa khoảng cách tâm cụm và vector đầu vào sau đó cho kết quả này qua hàm kích hoạt Gauss chúng
ta sẽ có được một ma trận đâu vào mới G_train
Trang 36Hình 2.5: Mô hỉnh liên kết lớp ân cho mạng nơ-ron RBF X_Train x |4! | #3 | Xã l& Xil 0 | 0.8 | 0.9 XaP.75 | 0.5 |0.24 - G1} 0.4 | 0.3} 0.1.9 G2} 0.75] 0.5} 0.24
Hình 2.6: Mô ta viée chuyén déi ma tran X train sang G_ train dwa trén k tam cum Tổng quát dựa trên hình 2.5 ta có thể thấy mạng nơ-ron RBF thực chất là chuyển các giá trị của ma trận vector đầu vào X train thành ma trận thay thế là G train la ma trận dựa trên khoảng cách của các giá trị X train với tâm cụm K (có
Trang 37được sau khi chạy giải thuật k-means trên X_train), thông qua hàm kich hoạt Gause và đồng thời k là số nơ-ron lớp ấn chúng ta mong muốn trong mạng RBEF Đến đây chúng ta đã hoàn thành xong việc tạo lớp ẩn cho mạng RBF
Đối với mạng nơ-ron RBF việc chọn số lượng lớp ấn cho mạng RBF sé duoc
thử nghiệm với số lượng trong khoảng từ 4 — 35 ta sẽ chon ra giá trị có độ chính xác cao nhất
2.3.3.3 Xây dựng lớp đầu ra cho mạng RBF
Để xây đựng lớp đầu ra từ lớp ấn cho mạng nơ-ron RBE chúng ta có thê kết nối bằng cách kết nối thắng và đầy đủ tất cả các nơ-ron ấn đến một nơ-ron đầu ra duy nhất như hình 2
k
Hình 2.7: Mô hình liên kết lớp dau ra cho mang RBF
Chúng ta sẽ cho hàm kích hoạt tuyết tính tại nơ-ron đầu ra y đề lấy kết quả dự báo ta có :
P= Wk + b(5)
Trang 382.3.3.4 Phương pháp huấn luyện và dự báo trong mạng RBF
Từ giai đoạn lớp đầu vào đến lớp ấn thì chúng ta đã sử dụng việc phân cụm thông qua giải thuật k-means, chính vì vậy các trọng số kết nối giữa 2 lớp này có
giá trị biểu thị tọa độ của các k tâm cụm, việc còn lại là chúng ta tiếp tục huấn luyện
mạng nơ-ron để tìm giá trị trọng số tử các nơ-ron ở lớp ấn đến nơ-ron lớp đầu ra y
Chúng ta sẽ sử dụng luật học SGD (luật học giảm gradient) với giải thuật lan
truyền ngược và chọn hàm lỗi là MSE để huấn luyện mạng lớp này của mạng nơ-
ron RBF
Sau khi huấn luyện mạng nơ-ron thành công việc học dừng lại với giá trị lỗi mà chúng ta mong muốn, chúng ta sẽ bắt đầu việc dự báo với tập dữ liệu thử
nghiệm
Từng vector trong tập dữ liệu thử nghiệm X test cũng sẽ được tính toán
khoảng cách đến tọa độ các tâm cụm mà chúng ta đã có được thông qua việc huấn
luyện bằng công thức tính khoảng cách Euclidean, sau đó được cho qua hàm kích hoat Gauss, tiếp đến chúng ta vector này nhân với tập ma trận trọng số W” cuối
cùng ta sẽ có được kết quả dự báo thực hiện tuần tự và lần lượt như vay ta sé co
được kết quả dự báo hàng loạt mốc thời gian trong tương lai
TIỂU KET CHUONG 2
Trong chuong nay ching ta da dinh hinh va thiét ké duoc 2 mang no-ron nhan tạo là MLP và RBF để giải quyết bài toán dự báo nhu cầu đu lịch cho khách quốc tế
đến Huế , nhiệm vụ còn lại chúng ta nằm ở chương 3 đó là ứng dụng mạng nơ-ron nhân tạo vào dự báo như cầu du lịch, tại đây ta sẽ xây dựng một loạt kịch bản mô
phỏng dựa trên các thiết kế trong chương 2 bằng ngôn ngữ lập trình Python, đồng thời sẽ phân tích và đánh giá kết quả thu được thông qua các hình ảnh, biểu đồ và số
liệu trực quan dé chon ra mang no-ron cho két qua tốt nhất
Trang 39CHƯƠNG 3 ỨNG DỤNG MẠNG NƠ-RON NHÂN TẠO
VAO DU BAO NHU CAU DU LICH
3.1 GIOI THIEU VE NGON NGU PYTHON VA THU VIEN KERAS 3.1.1 Giới thiệu về ngôn ngữ lập trình Python
Python là một ngôn ngữ lập trình hướng đối tượng, tương tác được viết bởi
Guido van Rossum Nó kết hợp các mô-dun,xử lý lỗi ngoại lệ, kiểu gõ động, kiểu dữ liệu động ở mức rất cao và các lớp(class) Python kết hợp sức mạnh vượt trội với
cú pháp rất rõ ràng Nó có giao điện cho nhiều lời gọi hệ thống và thư viện, cũng như các hệ thống cửa số khác nhau và có thể mở rộng với C hoặc C ++ Nó cũng có thê được sử dụng như một ngôn ngữ mở rộng cho các ứng dụng cần giao diện lập trình Cuối cùng, Python có khả năng di động: nó chạy trên nhiều biến thể Unix, trên Mac và trên Windows 2000 trở lên Bên cạnh đó Python có cú pháp rất đơn giản, nhất quán và một thư viện tiêu chuẩn lớn cho phép chúng ta tập trung vào các kỹ năng lập trình quan trọng như phân tách vấn đề và thiết kế kiểu dữ liệu Với Python, chúng ta có thê nhanh chóng năm được các khái niệm cơ bản như vòng lặp và quy trình [Š]
3.1.2 Xây dựng mạng nơ-ron với thư viện Keras và ngôn ngữ python 3.1.2.1 Phương thức chuẩn hóa dữ liệu
Việc chuẩn hóa đữ liệu trong khoảng [0,1] được thực hiện một cách tường
minh thông quá các phương thức được cung cấp bởi định nghĩa đối tượng MinMaxScaler scaler = MinMaxScaler (feature range=(0, 1)) scaler = scaler.fit(X_data) predict_value = scaler.inverse_transform(y_data)
Như trên chúng ta có thể sử đụng để chuyên đổi một dải giá trị bất ky, cụ thé là khách du lịch theo từng tháng trong vòng 2 năm sang miễn [0;1] đưới sự hỗ trợ của ngôn ngữ lập trình python, để chuyển đổi ngược lại giá trị trong miễn [0;1],
Trang 40chúng ta chỉ cần dùng phương thức inverse transform được hỗ trợ sẵn và lấy lại giá
trị như ban đầu
3.1.2.2 Xây dựng các lớp trong mạng MLP
Với lợi thế về cú pháp rõ ràng mạch lạc lẫn thư viện đa đạng phong phú chúng ta có thê sử dụng Python để triển khai và xây dựng mạng nơ-ron MLP nhân tạo thông qua thư viện Keras
Đây là một là một thư viện mạng nơ-ron mã nguồn mở được viết bằng Python Được thiết kế để cho phép thử nghiệm nhanh với các mạng thần kinh sâu, nó tập trung vào việc thân thiện với người dùng, mô-đun và có thể mở rộng
// Xây dựng mạng MLP 3 lớp
model.add (Dense (4, activation='tanh', input shape=(3,)) ) model add(Dense (1, activation='linear'))
model.compile (optimizer=SGD(lr=0.005), loss = losses.mse)
Chẳng hạn qua 3 dòng code chủ đạo đơn giản như trên chúng ta đã khai báo được một mạng nơ-ron đơn giản gồm 3 lớp: Lớp đầu vào gồm 3 nơ-ron input, Lớp ẩn gồm 4 nơ-ron với hàm kích hoạt là “tanh', Lớp đầu ra có l no-ron output voi hàm kích hoạt la ‘linear’ với cú pháp rất rõ ràng và đễ hiểu Phương thức compileQ
được hỗ trợ để áp dụng các các giải thuật học cũng như chọn hàm mat mac cho
mang no-ron
3.1.2.3 Xây dựng các lớp trong mang RBF-
Tién dé dé xay dung mot mang RBF đến từ việc chọn tâm cụm và tính toán
khoảng cách các vector đầu vào đến các tâm cụm, giải thuật K-means giúp chúng ta
chọn ra được tâm cụm với số lượng mong muốn, dưới sự hỗ trợ của ngôn ngữ lập
trình python đối tượng K-means được định nghĩa rõ ràng ta chỉ cần khai báo số lượng cụm (hidden shape) mong muốn với tập các vector đầu vào X, phương thức K-means.fit(X) sẽ xử ly va tim ra va tap hop các tâm cụm