TốI ưu việc lựa chọn số lượng đầu vào khi áp dụng mạng nơron nhân tạo trong bàI toán dự đoán đIểm đích của một chuyến taxi TốI ưu việc lựa chọn số lượng đầu vào khi áp dụng mạng nơron nhân tạo trong bàI toán dự đoán đIểm đích của một chuyến taxi luận văn tốt nghiệp thạc sĩ
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN TUẤN ANH TỐI ƯU VIỆC LỰA CHỌN SỐ ĐẦU VÀO KHI ÁP DỤNG MẠNG NƠRON NHÂN TẠO TRONG BÀI TỐN DỰ ĐỐN ĐIỂM ĐÍCH CỦA MỘT CHUYẾN TAXI LUẬN VĂN THẠC SĨ KỸ THUẬT PHẦN MỀM Hà Nội, 10/2018 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN TUẤN ANH TỐI ƯU VIỆC LỰA CHỌN SỐ ĐẦU VÀO KHI ÁP DỤNG MẠNG NƠRON NHÂN TẠO TRONG BÀI TỐN DỰ ĐỐN ĐIỂM ĐÍCH CỦA MỘT CHUYẾN TAXI Ngành: Kỹ thuật Phần mềm Chuyên ngành: Kỹ thuật Phần mềm Mã số: 8480103.01 LUẬN VĂN THẠC SĨ KỸ THUẬT PHẦN MỀM NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS PHẠM NGỌC HÙNG TS TRẦN TRỌNG HIẾU Hà Nội, 10/2018 i Mục lục LỜI CẢM ƠN iii LỜI CAM ĐOAN iv Danh sách hình ảnh v Danh sách bảng biểu vi Danh sách mã nguồn vii TÓM TẮT CHƯƠNG 1: MỞ ĐẦU 1.1 Hoàn cảnh 1.2 Đặt vấn đề đề xuất phương pháp 1.3 Tổng quan luận văn CHƯƠNG 2: MẠNG NƠRON NHÂN TẠO TRUYỀN THẲNG NHIỀU TẦNG 2.1 Mạng nơron nhân tạo 2.2 Mạng nơron truyền thẳng nhiều tầng 2.3 Các phương pháp học phổ biến CHƯƠNG 3: BÀI TỐN TÌM SỐ ĐẦU VÀO TỐI ƯU KHI DỰ ĐỐN ĐIỂM ĐÍCH CỦA CHUYẾN TAXI 11 3.1 Bài tốn dự đốn điểm đích taxi 11 3.2 Phương pháp MILA lab 12 3.3 Bài tốn tìm số lượng đầu vào tối ưu 18 3.4 Các phương pháp giải 20 ii CHƯƠNG 4: MƠ HÌNH ĐỀ XUẤT VÀ THỰC NGHIỆM 26 4.1 Mơ hình đề xuất 26 4.2 Xây dựng thử nghiệm 30 4.3 Kịch thực nghiệm 40 4.4 Kết thực nghiệm 41 KẾT LUẬN 47 TÀI LIỆU THAM KHẢO 49 PHỤ LỤC 51 iii LỜI CẢM ƠN Trước tiên xin dành lời cảm ơn chân thành sâu sắc đến hai thầy giáo PGS.TS Phạm Ngọc Hùng TS Trần Trọng Hiếu – người hướng dẫn, khuyến khích, bảo tạo cho điều kiện tốt từ bắt đầu hồn thành cơng việc Tơi xin dành lời cảm ơn chân thành tới thầy cô giáo khoa Công nghệ thông tin, trường Đại học Công nghệ, Đại học Quốc Gia Hà Nội tận tình đào tạo, cung cấp cho tơi kiến thức vô quý giá tạo điều kiện tốt cho tơi suốt q trình học tập, nghiên cứu trường Đồng thời xin cảm ơn tất người thân yêu gia đình tơi tồn thể bạn bè người giúp đỡ, động viên vấp phải khó khăn, bế tắc Cuối cùng, tơi xin chân thành cảm ơn bạn lớp K22KTPM giúp đỡ, tạo điều kiện thuận lợi cho học tập nghiên cứu chương trình thạc sĩ Đại học Công nghệ, Đại học Quốc Gia Hà Nội iv LỜI CAM ĐOAN Tôi xin cam đoan luận văn thạc sĩ công nghệ thông tin “Tối ưu việc lựa chọn số đầu vào áp dụng mạng nơron nhân tạo tốn dự đốn điểm đích chuyến taxi” cơng trình nghiên cứu riêng tơi, khơng chép lại người khác Trong tồn nội dung luận văn, điều trình bày cá nhân tơi tổng hợp từ nhiều nguồn tài liệu Tất nguồn tài liệu tham khảo có xuất xứ rõ ràng hợp pháp Tơi xin hồn tồn chịu trách nhiệm chịu hình thức kỷ luật theo quy định cho lời cam đoan Hà Nội, ngày … tháng … năm … v Danh sách hình ảnh Hình 2.1 Mơ hình tốn học nơron Hình 2.2 Mạng nơron truyền thẳng nhiều tầng………………………………….7 Hình 3.1 Kiến trúc mạng nơron MILA lab……………………………… 15 Hình 4.1 Mơ hình sử dụng tối ưu Bayes đề xuất……………………………….27 Hình 4.2 Cách thức triển khai thử nghiệm…………………………………… 31 vi Danh sách bảng biểu Bảng 3.1 Thông tin meta chi tiết………………………………………………14 Bảng 4.1 Sai lệch dự đốn mơ hình với giá trị k…………………… 41 Bảng 4.2 Dãy giá trị k tối ưu tìm được…………………………………………43 vii Danh sách mã nguồn Mã nguồn 4.1 Gaussian process… ……………………………………………37 Mã nguồn 4.2 Hàm thu…………………………………………………………38 TĨM TẮT Nền cơng nghiệp taxi thay đổi nhanh chóng Các đối thủ cơng nghệ thay đổi cách doanh nghiệp taxi vận hành Một thay đổi lớn diễn công ty taxi chuyển từ hệ thống điều phối taxi đàm sang hệ thống điều phối điện tử Với hệ thống mới, taxi gắn thiết bị GPS để xác định vị trí trao đổi thông tin liên lạc với trung tâm Hệ thống điều phối điện tử giúp cho việc xác định vị trí taxi qua dễ dàng rõ địa điểm taxi tới thơng thường, lái xe khơng nhập điểm đến hành trình Đồng thời phương thức thơng báo khách gọi xe cho taxi thay đổi, từ việc phát thông tin cho tất xe việc hệ thống tự động tìm xe phù hợp để u cầu đón khách Do biết gần vị trí mà taxi hướng tới hệ thống tìm taxi phù hợp Đặc biệt khung cao điểm, việc có chuyến taxi đến điểm trả khách mà gần vị trí trả khách lại có khách vừa u cầu xe thường xuyên xảy Hướng tiếp cận phổ biến việc dự đốn điểm đích chuyến taxi sử dụng mạng nơron nhân tạo nhiều tầng truyền thẳng Nhưng vấn đề gặp phải nằm tầng đầu vào số lượng điểm GPS mà taxi qua không cố định, điều khơng phù hợp với điều kiện kích thước tầng đầu vào mạng nơron nhiều tầng phải cố định Do nhà nghiên cứu thường chọn cố định số lượng đầu vào cách lấy k điểm k điểm cuối chuyến Tuy nhiên, chưa có nghiên cứu đề cập đến việc làm để xác định giá trị k tối ưu Trong đề tài này, đề xuất phương pháp lựa chọn số đầu vào tối ưu toán dự đoán điểm đến chuyến taxi cho trước tập điểm ban đầu Đề tài hồn tồn áp dụng cho tốn tìm siêu tham số tối ưu (hyperparameter) có yếu tố số lượng đầu vào thay đổi Keywords: fixed-length output, variable-length sequence, taxi destination prediction, multi-layer perceptron, hyperparameter optimization 38 tập k_train chứa giá trị giá trị ngẫu nhiên, tập error_train chứa hai giá trị lỗi tương ứng cho giá trị k Sau chạy Gaussian process thông qua hàm fit() ta có giá trị trung bình phương sai cho giá trị k khoảng [2, 50] Nhưng đầu vào hàm thu ta nhận thông số độ lệch chuẩn nên ta thực thêm bước tính giá trị từ phương sai Ta định nghĩa hàm thu, cụ thể hàm expected improvement sau: def expected_improvement(error_min, error_mean, error_std, k_range): # Calculate expected improvement from 95% confidence interval expected_improvement = error_min - (error_mean - 1.96 * error_std) expected_improvement[expected_improvement < 0] = max_index = expected_improvement.argmax() # Select next k value next_k = k_range[max_index] return next_k Mã nguồn 4.2 Hàm thu Hàm expected improvement xác định giá trị k dựa khoảng tin cậy 95% Trong công thức mã nguồn 4.2, ta sử dụng số 1.96 với phân phối chuẩn khoảng tin cậy mong muốn 95% giá trị tham số nằm phải khoảng (giá trị trung bình – 1.96*sai số chuẩn, giá trị trung bình + 1.96*sai số chuẩn) Tồn mã nguồn luận văn đưa lên website github địa sau: https://github.com/nguyentuananh/OptimizeTaxiDestinationPredict 39 4.2.4 Môi trường thử nghiệm Mơ hình triển khai hệ thống phần cứng dịch vụ google cloud platform, cụ thể sử dụng dịch vụ Google Computer Engine, ta thực tạo máy ảo với cấu sau: - CPU: vCPUs Broadwell 2300MHz - RAM: 5GB - GPU: NVIDIA Tesla K80 12GB - SSD: 15GB Mơ hình triển khai hệ thống phần mềm sau: - Hệ điều hành: Ubuntu 16.04.5 LTS (GNU/Linux 4.15.0-1024-gcp x86_64) - Cài đặt đầy đủ driver NVIDIA - Sử dụng ngôn ngữ lập trình python 2.7.15 - Firefox 57.0.3 - Geckodriver 0.23.0 - Selenium 3.14.1 - Theano 1.0.3 - Blocks 0.2.0 - Fuel 0.2.0 - H5py 2.8.0 - Sklearn 0.20.0 Do hệ thống chạy máy ảo nên để đảm bảo khỏi cửa sổ terminal chương trình huấn luyện mạng nơron tiếp tục, ta cần sử dụng thêm phần mềm screen 40 4.3 Kịch thực nghiệm Trong phần thực nghiệm, mơ hình đề xuất luận văn cần sử dụng hai giá trị mồi ban đầu Giá trị ta chọn (bằng với giá trị MILA lab) giá trị thứ hai ta lựa chọn ngẫu nhiên Nhưng việc lựa chọn ngẫu nhiên khơng đảm bảo tính khách quan mơ hình Đồng thời thực nghiệm cặp giá trị khơng thể đánh giá hiệu mơ hình xác Chúng ta cần nhiều giá trị k tối ưu mà mơ hình luận văn đề xuất tìm ra, nhiều giá trị k tối ưu tìm thấy việc đánh giá hiệu mơ hình tối ưu Do k nằm khoảng [2,50], nên ta cần huấn luyện tối đa 49 mơ hình mạng nơron Mỗi lần huấn luyện với cấu hình máy đưa phần 4.2 khoảng 21 nên tổng thời gian cần thực để huấn luyện hết giá trị k 43 ngày Tổng thời gian thực luận văn Nếu tạo nhiều máy ảo thời gian chờ giảm xuống Sau huấn luyện 49 mô hình, ta có tương ứng 49 file dự đốn cho tập liệu đánh giá sau thực lấy giá trị sai số thông qua Kaggle website cho trường hợp Vì hai giá trị k mồi ban đầu cần khác nên ta có 48 trường hợp tìm giá trị k tối ưu Với cặp mồi, mơ hình tìm giá trị k tối ưu đến sai lệch giá trị k huấn luyện Cuối có 48 dãy giá trị k, ta đánh giá hiệu mơ hình luận văn đề xuất 41 4.4 Kết thực nghiệm Bảng 4.1 sau thể sai lệch dự đốn mơ hình mạng nơron với giá trị k khoảng [2, 50] Giá trị k Sai số (km) Sai số (km) Giá trị k Sai số (km) 2.03574 Giá trị k 19 2.05887 36 1.99248 1.96186 20 1.93285 37 2.00102 1.97275 21 1.9954 38 1.97844 2.00669 22 1.99724 39 2.19232 1.97495 23 1.89386 40 2.02894 1.93868 24 2.08459 41 2.01894 4.03735 25 2.07249 42 2.02387 270.15953 26 2.04924 43 2.08107 10 1.96785 27 1.95202 44 1.95307 11 1.92488 28 2.04802 45 2.04514 12 1.98391 29 1.94643 46 1.94423 13 2.06287 30 1.94861 47 2.14076 14 2.18516 31 2.07873 48 1.99676 15 6.40615 32 2.06058 49 1.99735 16 1.99129 33 2.0248 50 2.02899 17 2.05694 34 2.05073 18 3.91822 35 2.00601 Bảng 4.1 Sai lệch dự đoán mơ hình với giá trị k Trong thi, mơ hình mạng nơron nhân tạo MILA lab chưa huấn luyện đủ hai triệu vòng lặp nên cho độ sai lệch 2.03489 km Còn 42 kết chúng ta, thực huấn luyện mạng nơron (vẫn với giá trị k 5) cho đủ hai triệu vịng lặp độ sai lệch dự đoán 2.00669 km Kết tốt kết MILA lab cơng bố, điều dễ hiểu mạng nơron huấn luyện lâu hơn, ta lấy số 2.00669 km kết mơ hình MILA lab với k để đánh giá độ tối ưu mơ hình luận văn đề xuất Trong bảng 4.1 ta thấy với k = 23, mạng nơron cho kết tốt với sai lệch 1.89386 km (bằng 94.38% so với kết 2.00669 MILA lab) Giá trị tốt thứ k = 11 với sai lệch 1.92488, 95.92% so với kết MILA lab) Giá trị tốt thứ k = 20 với sai lệch 1.93285, 96.32% so với kết MILA lab) Trong đa phần sai lệch 2.2 km với k = 9, ta có kết sai lệch lớn lên tới 270.15953 km, điều liệu không tiền xử lý trước nên xảy ngoại lệ Ngồi ta có giá trị k 8, 15 18 có độ sai lệch 2.2 km Trong tổng số 49 giá trị k, có 23 giá trị k cho kết dự đoán tốt giá trị k = Như nói giá trị k = giá trị trung bình Giá trị khơng thuộc nhóm đầu giá trị k tối ưu Bảng 4.2 sau thể kết tìm kiếm giá trị k tối ưu mơ hình luận văn đề xuất Có 48 kết tương ứng với 48 cặp giá trị k ban đầu dùng để mồi Mỗi kết chuỗi giá trị k mà mơ hình tìm Hai giá trị k dùng để mồi nằm đầu dãy, dãy ln bắt đầu số Giá trị thứ chạy từ đến 50 bỏ qua giá trị (vì trùng với giá trị đầu tiên) 43 STT Dãy giá trị k tối ưu tìm 5, 2, 50, 50, 5, 3, 50, 50, 5, 4, 50, 50 5, 6, 50, 50 5, 7, 50, 50 5, 8, 46, 27, 37, 19, 2, 50, 32, 42, 22, 4, 29, 48, 3, 21, 39, 45, 25, 5, 9, 21, 32, 43, 50, 26, 37, 16, 2, 47, 29, 40, 18, 23, 4, 35, 45, 49, 17, 30, 39, 24, 41, 22, 28, 36, 48, 31, 34, 22 5, 10, 50, 50 5, 11, 20, 29, 38, 47, 15, 24, 33, 42, 50, 2, 8, 36, 27, 44, 22, 4, 31, 40, 12, 21, 45, 49, 26, 35, 11 10 5, 12, 21, 30, 39, 48, 26, 2, 11 5, 13, 22, 31, 40, 49, 45, 2, 50, 12 5, 14, 23, 32, 41, 50, 27, 2, 13 5, 15, 24, 33, 42, 50, 10, 28, 38, 2, 46, 8, 20, 36, 30, 22, 12, 48, 4, 40, 11, 26, 44, 11 14 5, 16, 25, 34, 43, 50, 11, 20, 2, 15 5, 17, 26, 35, 44, 50, 11, 40, 2, 16 5, 18, 27, 36, 45, 11, 50, 31, 2, 41, 8, 23, 14, 38, 48, 25, 12, 33, 4, 43, 29, 22, 47, 39, 12 17 5, 19, 28, 37, 46, 12, 50, 2, 50 18 5, 20, 29, 38, 47, 13, 24, 2, 19 5, 21, 30, 39, 48, 13, 26, 2, 44 20 5, 22, 31, 40, 49, 13, 45, 2, 50, 21 5, 23, 14, 32, 41, 50, 27, 2, 22 5, 24, 14, 33, 42, 50, 19, 50 23 5, 25, 14, 34, 43, 50, 20, 9, 2, 30, 38, 47, 17, 27, 40, 22, 4, 32, 45, 15, 36, 49, 18, 28, 41, 21, 13, 3, 6, 7, 8, 10, 11, 12, 16, 19, 23, 24, 26, 29, 31, 33, 35, 37, 39, 42, 44, 46, 48, 23 24 5, 26, 14, 35, 44, 50, 20, 40, 2, 25 5, 27, 14, 36, 45, 21, 50, 31, 2, 26 5, 28, 14, 37, 46, 21, 50, 2, 27 5, 29, 14, 38, 47, 22, 33, 2, 28 5, 30, 14, 39, 48, 22, 34, 2, 29 5, 31, 14, 40, 49, 23, 19, 2, 30 5, 32, 14, 23, 41, 50, 27, 2, 31 5, 33, 14, 23, 42, 50, 28, 19, 2, 32 5, 34, 14, 23, 43, 50, 28, 19, 2, 33 5, 35, 14, 23, 44, 50, 29, 19, 2, 34 5, 36, 14, 23, 45, 29, 50, 19, 2, 35 5, 37, 14, 23, 46, 30, 19, 2, 36 5, 38, 14, 23, 47, 30, 19, 2, 37 5, 39, 14, 23, 48, 31, 19, 2, 38 5, 40, 14, 23, 49, 31, 19, 2, 39 5, 41, 14, 23, 32, 50, 27, 2, 40 5, 42, 14, 23, 32, 50, 37, 27, 2, 41 5, 43, 14, 23, 32, 50, 37, 27, 2, 45 42 5, 44, 14, 23, 32, 50, 38, 27, 2, 43 5, 45, 14, 23, 32, 39, 50, 2, 44 5, 46, 14, 23, 32, 39, 27, 2, 45 5, 47, 14, 23, 32, 39, 27, 2, 46 5, 48, 14, 23, 32, 40, 27, 2, 47 5, 49, 14, 23, 32, 40, 27, 2, 48 5, 50, 14, 23, 32, 41, 27, 2, Bảng 4.2 Dãy giá trị k tối ưu tìm Cần ý dãy bảng 4.2 có giá trị cuối giá trị xuất dãy Giá trị cuối thể dãy số hồn thiện mơ hình đề xuất đưa giá trị k xuất dãy Từ ta thấy có 87.5% dãy có đội dài nhỏ 10 Đây kết chấp nhận mơ hình cần 18.37% số giá trị k để kết thúc tìm kiếm dãy tối ưu Ta biết với giá trị k 23 kết dự đốn tốt Mà 48 trường hợp trên, có tới 25 trường hợp giá trị k 23 tìm thấy tương đương với tỷ lệ 52.08% Đây kết tốt, cho thấy hiệu mơ hình luận văn đề xuất Với tỷ lệ này, ta cần thử trường hợp có trường hợp cho kết tối ưu Thậm chí có tới 21 trường hợp giá trị k 23 nằm vị trí thứ nhỏ dãy Điều có nghĩa ta thực tìm tối đa giá trị tối ưu dãy khơng chạy đến dãy hồn thiện tỷ lệ tìm thấy giá trị tối ưu lên tới 43.75% Đây kết thực tốt Sau giá trị k 23 cho kết dự đốn tốt giá trị k 11 20 giữ vị trí thứ hai thứ ba Nếu ta mong kết tìm thấy nằm top hai giá trị tối ưu xác xuất tìm thấy 60.42% Cịn ta mong kết tìm thấy nằm top ba giá trị tối ưu xác xuất lên tới 64.58% 46 Vậy kết thực nghiệm cho thấy mơ hình luận văn đề xuất mang lại hiệu tốt việc nâng cao độ xác mạng nơron nhân tạo mà MILA lab sử dụng dự đốn điểm đích chuyến taxi 47 KẾT LUẬN * Kết luận Với xu hướng ứng dụng thiết bị di động vào ngành taxi nay, hình thức vận chuyển hành khách theo mơ hình kinh tế chia sẻ thách thức lớn cho cơng ty taxi truyền thống Họ cần nhanh chóng áp dụng xu hướng vào vận hành công ty không muốn bị đào thải Không vậy, kỷ nguyên công nghệ số này, công ty sở hữu hệ thống hiệu chiếm ưu cạnh tranh Hệ thống điều phối taxi phần mềm áp dụng cơng nghệ dự đốn điểm đích chuyến taxi mang lại hiệu vượt trội so với hệ thống điều phối radio truyền thống Cơng ty vận tải gửi u cầu xác tới taxi để đảm bảo giảm thời gian chờ xe khách hàng xuống thấp nhất, đặc biệt khung cao điểm Từ giúp nâng cao trải nghiệm khách hàng Việc áp dụng công nghệ không giúp phục vụ khách hàng tốt mà cịn giúp cơng ty giảm chi phí vận hành, tối ưu nguồn lực, đồng thời cịn có tác động tới vấn đề vĩ mơ xã hội giảm ùn tắc giao thông, giảm ô nhiễm môi trường Với nhu cầu thực tiễn trên, kỳ vọng nâng cao độ xác dự đốn điểm đích chuyến taxi, luận văn trình bày cụ thể mơ hình đề xuất để tối ưu việc lựa chọn số đầu vào áp dụng mạng nơron nhân tạo tốn dự đốn điểm đích chuyến taxi Kết thực nghiệm mô hình cho thấy hiệu rõ rệt xác suất tìm giá trị số lượng đầu vào tối ưu 50% Điều cho thấy việc sử dụng tối ưu Bayes, cụ thể Gaussion Process hàm thu (acquisition function), cho thấy đắn Mơ hình luận văn đề xuất hồn tồn sử dụng thực tiễn Khi áp dụng vào tốn thực tế, cơng ty vận tải sau thời gian sử dụng hệ thống dự đoán điểm đích chuyến taxi hồn tồn sử dụng mơ hình luận văn đề xuất để cập nhật lại số lượng đầu vào mạng nơron (tham số k) Từ đảm bảo sai số nhỏ việc dự đốn theo thời gian lịch trình di chuyển khách hàng thay đổi theo nên giá trị tối ưu tham số k thay đổi Mơ hình luận văn đề xuất mang đến xác tự động tìm kiếm giá trị tham số k tối ưu khoảng giá trị mong muốn 48 Dù có kết tốt thực nghiệm mơ hình luận văn đề xuất thử nghiệm tập liệu taxi, tập liệu có kích thước trung bình Do kết thực nghiệm chưa khách quan Mơ hình luận văn đề xuất hồn tồn áp dụng rộng cho toán tổng quát Bất kỳ toán mà sử dụng mạng nơron nhân tạo truyền thẳng nhiều tầng cần lựa chọn số lượng đầu vào cho mạng nơron sử dụng mơ hình để tìm giá trị tối ưu * Hướng phát triển Kết luận văn đạt mở nhiều hướng nghiên cứu tiếp tương lai Tác giả cần thử nghiệm mơ hình đề xuất với tập liệu taxi lớn hơn, đồng thời cải thiện tốc độ tính tốn nhiều kết Từ việc so sánh, đánh giá, nhận xét khách quan Tác giả cần thử áp dụng mơ hình đề xuất với toán sử dụng mạng nơron nhân tạo truyền thẳng nhiều tầng mà cần lựa chọn số đầu vào tối ưu cho mạng để đánh giá mức độ phù hợp mơ hình với dạng tốn khác Để đánh giá phù hợp mơ hình với thực tiễn, tác giả cần kết hợp với công ty taxi để thực triển khai thử nghiệm mô hình khoảng thời gian định Kết thử nghiệm câu trả lời xác cho việc mơ hình luận văn đề xuất có mang lại hiệu thực tế, có tính ứng dụng thực tiễn hay không 49 TÀI LIỆU THAM KHẢO [1] Alexandre de Brébisson, Étienne Simon, Alex Auvolat, Pascal Vincent, Yoshua Bengio (September 21, 2015), “Artificial Neural Networks Applied to Taxi Destination Prediction”, arXiv:1508.00021v2 [cs.LG] [2] Hopfield, John J (1988), "Artificial neural networks." IEEE Circuits and Devices Magazine 4.5, pp 3-10 [3] Snoek, Jasper, Hugo Larochelle, and Ryan P Adams (2012), "Practical Bayesian Optimization of machine learning algorithms.", Advances in neural information processing systems 25: 2960-2968 [4] Rasmussen, Carl Edward (2004), "Gaussian processes in machine learning.", Advanced lectures on machine learning Springer, Berlin, Heidelberg, pp 63-71 [5] Ryan P Adams (2014), “A Tutorial on Bayesian Optimization for Machine Learning”, Harvard University [6] Carl Edward Rasmussen, Christopher K I Williams (2006), “Gaussian Processes for Machine Learning”, The MIT Press [7] Iain Murray (2008), “Introduction to Gaussian Processes” Dept Computer Science, University of Toronto [8] Hoang Thanh Lam, Ernesto Diaz-Aviles, Alessandra Pascale, Yiannis Gkoufas, and Bei Chen (17 Sep 2015), “(Blue) Taxi Destination and Trip Time Prediction from Partial Trajectories”, arXiv:1509.05257v1 [stat.ML] [9] Alex Auvolat, Alexandre de Brébisson, Étienne Simon (July 2015), “Taxi Destination Prediction Challenge Winner Team's Report”, Github [10] Martin Krasser (March 19, 2018), “Gaussian processes”, [online], available: http://krasserm.github.io/2018/03/19/gaussian-processes/ [11] adbreds’s Github repo, [online], available: https://github.com/adbrebs/taxi [12] resibots (2013), “Introduction to Bayesian Optimization (BO)”, [online], available: http://www.resibots.eu/limbo/guides/bo.html#a-mockus2013 50 [13] neupy (December 17 2016), “Hyperparameter optimization for Neural Networks”, [online], available: http://neupy.com/2016/12/17/hyperparameter_optimization_for_neural_network s.html [14] Martin Krasser (March 21, 2018), “Bayesian Optimization”, [online], available: https://krasserm.github.io/2018/03/21/bayesian-optimization/ [15] ECML/PKDD 15: Taxi Trajectory Prediction (I), [online], available: https://www.kaggle.com/c/pkdd-15-predict-taxi-service-trajectory-i 51 PHỤ LỤC Hướng dẫn cài đặt chạy mơ hình đề xuất Chuẩn bị máy tính có card hình NVIDIA, cài sẵn hệ điều hành Ubuntu đầy đủ driver NVIDIA Sử dụng lệnh “nvidia-smi” để kiểm tra driver NVIDIA cài đặt đầy đủ Lấy liệu từ Kaggle website từ link sau: https://www.kaggle.com/c/pkdd-15-predict-taxi-service-trajectory-i/data Ta có tập liệu huấn luyện file “train.csv” tập liệu test file “test.csv” Lấy mã nguồn chương trình luận văn từ link sau: https://github.com/nguyentuananh/OptimizeTaxiDestinationPredict Cài đặt thư viện python thông qua pip sau: pip install h5py pip install fuel pip install cython pip install sklearn Lấy file cài đặt miniconda từ link sau: https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh Chạy file “sh” để cài miniconda Cài đặt thư viện python qua miniconda sau: conda install numpy scipy mkl conda install theano pygpu 52 conda install cudnn Cài đặt thư viện block, lấy file requirement từ link sau: https://raw.githubusercontent.com/mila-udem/blocks/stable/requirements.txt Cài đặt block lệnh sau: pip install git+git://github.com/mila-udem/blocks.git@stable -r requirements.txt Chạy file “prepare.sh” có mã nguồn để chuẩn bị liệu cho mơ hình MILA lab Trước chạy file ta cần đặt biến môi trường TAXI_PATH đường dẫn đến nơi lưu trữ liệu lấy bước lệch export Thêm tài khoản mật website Kaggle vào file “getResultKaggle.py” để thực việc đẩy kết tự động lên Kaggle website, cụ thể hai dòng mã nguồn: username.send_keys("") password.send_keys("") 10 Chạy file “start.sh” chương trình bắt đầu chạy mơ hình đề xuất 11 Kết thơng báo hình console giá trị k tối ưu lưu file “koptimal” 12 Nếu muốn thoát khỏi console mà chương trình huấn luyện ta cài đặt thư viện “screen” dùng theo hướng dẫn sau: - lệnh “screen” để tạo screen mới, sau tạo hình làm việc screen - detach khỏi screen dùng phím tắt “ctrl + a + d” - attach vào screen dùng lệnh “screen –r” Sau tạo screen chạy lệnh này, muốn cần detach khỏi screen mà khơng cần lo chương trình ngừng chạy ... TUẤN ANH TỐI ƯU VIỆC LỰA CHỌN SỐ ĐẦU VÀO KHI ÁP DỤNG MẠNG NƠRON NHÂN TẠO TRONG BÀI TỐN DỰ ĐỐN ĐIỂM ĐÍCH CỦA MỘT CHUYẾN TAXI Ngành: Kỹ thuật Phần mềm Chuyên ngành: Kỹ thuật Phần mềm Mã số: 8480103.01... trị k tối ưu Trong đề tài này, đề xuất phương pháp lựa chọn số đầu vào tối ưu toán dự đoán điểm đến chuyến taxi cho trước tập điểm ban đầu Đề tài hồn tồn áp dụng cho tốn tìm siêu tham số tối ưu. .. mạng nơron nhân tạo 18 3.3 Bài tốn tìm số lượng đầu vào tối ưu 3.3.1 Phát biểu tốn Để giải nhược điểm mơ hình mạng nơron nhân tạo MILA lab lựa chọn điểm đầu điểm cuối chuyến taxi để đưa vào mạng