Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
779,91 KB
Nội dung
ĐẠ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 TÓM TẮT 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 CHƯƠNG 1: MỞ ĐẦU 1.1 Hồn cảnh Nền cơng nghiệp taxi thay đổi nhanh chóng, đối thủ công nghệ thay đổi cách doanh nghiệp taxi vận hành Sự thay đổi mang lại nhiều thuận lợi gây nên nhiều vấn đề 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 broadcast thông tin cho tất xe việc hệ thống tự động tìm xe phù hợp để yê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 [15] 1.2 Đặt vấn đề đề xuất phương pháp Một thi dự đoán điểm đến hành trình taxi tổ chức vào năm 2015 với chiến thắng thuộc đội MILA lab Canada việc 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 tác giả cố định số lượng đầu vào cách lấy k điểm k điểm cuối chuyến Với mơ hình chiến thắng thi, k có giá trị năm Tuy nhiên, báo tác giả chưa đề cập đến việc làm để xác định giá trị k tối ưu [1] 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 hoàn toàn áp dụng cho tốn dự đốn số lượng đầu cố định (fixed-length output) từ số lượng đầu vào thay đổi (variablelength input) 1.3 Tổng quan luận văn Phần lại luận văn trình bày sau Chương giới thiệu hoàn cảnh, đặt vấn đề, mô tả phương pháp đề xuất, cách nội dung luận văn trình bày Chương trình bày kiến thức tảng mạng nơron nhân tạo truyền thẳng nhiều tầng Chương trình bày tốn dự đốn điểm đích chuyến taxi phương pháp đội MILA lab giải vấn đề tốn tìm số lượng đầu vào tối ưu cho mạng nơron nhân tạo nhiều tầng truyền thẳng để cải tiến mơ hình đội MILA lab Chương trình bày mơ hình đề xuất, xây dựng thử nghiệm kết thực nghiệm phương pháp Phần kết luận đưa kết luận văn triển vọng hướng nghiên cứu tương lai 2 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 Mạng nơron nhân tạo (artificial neural network) mơ hình tính tốn xử lý thông tin cách mô theo cách thức hoạt động hệ nơron sinh học não người [2] Mạng gồm nhóm phần tử (nơron nhân tạo) kết nối với thông qua liên kết (liên kết đánh trọng số) Nó làm việc thể thống cách truyền thơng tin theo kết nối tính giá trị nơron Một mạng nơron nhân tạo cấu hình để giải vấn đề cụ thể nhận dạng mẫu, phân loại liệu, dự đốn, Nó hoạt động thơng qua trình học từ tập mẫu huấn luyện Việc học chất q trình đưa liệu vào mạng nơron thực hiệu chỉnh trọng số liên kết nơron thông qua kết có trước mẫu Mơ hình tốn học tiêu biểu cho nơron nhân tạo minh họa hình 2.1 sau: Wk1 x1 Hàm truyền x2 ∑ Wk2 Đầu xN WkN bk Trọng số liên kết Ngưỡng Đầu vào yk f(.) Hàm tổng Hình 2.1 Mơ hình tốn học nơron Cấu trúc nơron k mơ tả tốn học cặp biểu thức sau: 𝑢𝑘 = ∑𝑁 𝑗=1 𝑤𝑘𝑗 𝑥𝑗 yk = f(uk – bk) Trong đó, cụ thể thành phần nơron gồm: Tập đầu vào: tín hiệu (dữ liệu) vào nơron, thường đưa dạng vector N chiều (x1, x2, … xN) Tập liên kết: liên kết từ tín hiệu đến nơron Mỗi liên kết đánh trọng số, ví dụ nơron thứ k có trọng số wk1 liên kết Do với nơron ta có vector trọng số liên kết N chiều (wk1,wk2, … wkN) Các trọng số thông thường tạo ngẫu nhiên thời điểm tạo mạng, sau qua q trình học hiệu chỉnh dần Hàm tổng: tổng tích đầu vào với trọng số liên kết nó, kí hiệu cho hàm tổng nơron thứ k uk Ngưỡng: thành phần hàm truyền, ký hiệu cho ngưỡng nơron thứ k bk 3 Hàm truyền: hàm dùng để tính đầu nơron từ hàm tổng ngưỡng, ký hiệu f Đầu ra: tín hiệu đầu nơron Mỗi nơron có tín hiệu đầu Với nơron thứ k đầu ký hiệu yk Khái quát lại, nơron nhân tạo cho đầu từ tập tín hiệu đầu vào Một số hàm truyền phổ biến là: * Hàm đồng f(t) = αt * Hàm bước nhảy f(t) = { 𝑘ℎ𝑖 𝑡 ≥ 𝛼 𝑘ℎ𝑖 𝑡 < 𝛼 Có nhiều loại mạng nơron khác mạng nơron truyền thẳng nhiều tầng mạng nơron thông dụng 2.2 Mạng nơron truyền thẳng nhiều tầng Mạng nơron truyền thẳng nhiều tầng (multi layer perceptron - MLP) mạng có n tầng (n >= 2) Trong tầng nhận tín hiệu vào mạng gọi tầng vào (input layer) Tín hiệu mạng đưa từ tầng (output layer) Các tầng tầng vào tầng gọi tầng ẩn (có n–1 tầng ẩn) Các nơron tầng định liên kết đến tất nơron tầng Với mạng nơron truyền thẳng (feedforward network) khơng có nút mà đầu đầu vào nút khác tầng với tầng trước Tầng vào Tầng ẩn Tầng ẩn n-1 x1 Tầng y1 x2 y2 yq xp Hình 2.1 Mạng nơron truyền thẳng nhiều tầng Kiến trúc mạng nơron truyền thẳng nhiều tầng tổng qt mơ tả sau: + Đầu vào tập vector (x1, x2, … xp) p chiều, đầu tập vector (y1, y2, … yq) q chiều + Mỗi nơron thuộc tầng sau liên kết với tất nơron thuộc tầng trước Như đầu nơron tầng trước đầu vào nơron thuộc tầng liền sau 4 Mạng nơron truyền thẳng nhiều tầng hoạt động sau: tầng đầu vào nơron nhận tín hiệu vào xử lý, thực việc tính tổng trọng số gửi tới hàm truyền, kết hàm truyền gửi tới nơron thuộc tầng ẩn Nơi nơron tiếp nhận kết tín hiệu đầu vào xử lý gửi kết đến tầng ẩn thứ Quá trình tiếp tục nơron tầng cho kết Về ứng dụng mạng nơron truyền thẳng nhiều tầng, vài kết chứng minh cụ thể sau: + Mọi hàm tốn học biểu diễn xấp xỉ mạng nơron truyền thẳng ba tầng nơron tầng sử dụng hàm truyền tuyến tính tất nơron tầng ẩn dùng hàm truyền sigmoid + Tất hàm tốn học liên tục biểu diễn xấp xỉ mạng nơron truyền thẳng hai tầng nơron tầng sử dụng hàm truyền tuyến tính với sai số nhỏ tùy ý tất nơron tầng ẩn dùng hàm truyền sigmoid 2.3 Các phương pháp học phổ biến Mạng nơron học thông qua luật học Luật học thủ tục dùng để xác định việc cập nhật trọng số liên kết ngưỡng mạng nơron Luật học gọi thuật toán huấn luyện mạng Một mạng nơron huấn luyện cho với tập vector đầu vào X, mạng cho tập vector đầu Y mong muốn Tập X dùng để làm đầu vào huấn luyện cho mạng nên gọi tập huấn luyện (training set) Các phần tử x thuộc X gọi mẫu huấn luyện (training example) Như đề cập phần đầu, việc học chất việc cập nhật liên tục trọng số liên kết mạng nơron Trong trình này, trọng số mạng hội tụ dần tới giá trị cho với đầu vào, mạng cho đầu ý muốn Với mạng nơron nhân tạo có hai vấn đề cần học học tham số (parameter learning) học cấu trúc (structure learning) Học tham số việc điều chỉnh trọng số liên kết nơron mạng, học cấu trúc việc thay đổi cấu trúc mạng bao gồm thay đổi số lớp nơron, số nơron lớp cách liên kết chúng Luật học mạng nơron chia làm loại: học có giám sát (supervised learning), học khơng có giám sát (unsupervised learning), học tăng cường (reinforcement learning) + Học có giám sát: trình học giống việc ta dạy cho trẻ, ln ln có người “thầy giáo”, muốn dạy cho trẻ chữ “a”, ta đưa chữ “a” nói với trẻ chữ “a” Cuối để kiểm tra việc học, ta đưa chữ hỏi chữ + Học khơng giám sát: q trình học mà khơng có người giám sát Trong tốn mà luật học khơng giám sát áp dụng, với tập liệu huấn luyện D nhiệm vụ thuật toán học phải phân chia tập liệu D thành nhóm con, nhóm chứa giá trị đầu vào có đặc trưng giống Do với học khơng giám sát, số tầng phân loại chưa biết tùy theo yêu cầu độ giống mẫu mà ta có tầng phân loại tương ứng + Học tăng cường: gọi học thưởng phạt phương pháp hoạt động sau: với giá trị đầu vào, thực đánh giá vector đầu mà mạng tính với kết mong muốn, xem “tốt” mạng thưởng (chính việc tăng trọng số liên kết), ngược lại “xấu” mạng bị phạt (tức giảm trọng số liên kết) Vì học tăng cường học theo nhà phê bình học giám sát học theo thầy giáo 5 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 3.1 Bài tốn dự đốn điểm đích taxi Bài tốn tìm đích đến chuyến taxi gây ý cộng đồng nghiên cứu thời gian gần Vì vào năm 2015 hội nghị ECML/PKDD tổ chức thi dự đốn đích đến chuyến taxi thi Kaggle [15] Dữ liệu đầu vào tốn điểm bắt đầu hành trình chuyến taxi (thường gọi prefixes) thơng tin meta chuyến taxi Từ người tham gia thi phải tìm điểm đích hành trình (gồm kinh độ vĩ độ) Ý nghĩa việc giải toán giúp công ty taxi phân chia số lượng taxi điểm đón, khu vực đón cách tối ưu Người tham gia thi phải xây dựng mơ hình dự đốn dựa tập liệu gồm tất chuyến 442 taxi hoạt động thành phố Porto thủ đô Bồ Đào Nha suốt năm hoàn chỉnh (từ ngày 01/07/2013 đến ngày 30/06/2014) [15] Tập liệu huấn luyện có 1.7 triệu chuyến hồn chỉnh [1] Mỗi chuyến bao gồm thông tin sau: + Một chuỗi vị trí (gồm kinh độ vĩ độ) đo GPS 15 giây + Thông tin meta tương ứng với chuyến gồm: Nếu khách hàng gọi taxi điện thoại có ID khách hàng Nếu khách hàng bắt taxi điểm đón có ID điểm đón Ngược lại khơng có thơng tin ID taxi Thời gian bắt đầu chuyến định dạng hệ điều hành unix Tập liệu đánh giá thi gồm 320 hành trình mà lấy từ snapshots mạng lưới taxi thời gian khác Tập liệu đánh giá thực chia thành tập nhỏ có kích thước nhau: tập liệu mở tập liệu kín Tập liệu mở sử dụng suốt thi để so sánh mơ hình dự đoán đội thi, tập liệu kín sử dụng vào lúc kết thúc thi để đánh giá đội lần cuối 3.2 Phương pháp MILA lab 3.2.1 Giới thiệu chung Do thi u cầu dự đốn điểm đích chuyến taxi dựa số lượng điểm đầu (prefix) hành trình, mà tập liệu cho trước lại bao gồm tập đầy đủ điểm chuyến taxi, nên MILAB phải thực tạo tập điểm đầu Tập liệu huấn luyện có 1.7 triệu hành trình hồn thiện, hành trình cho 83.480.696 điểm điểm đầu Do MILA lab cho tất điểm tất hành trình vào tập huấn luyện làm điểm đầu, phân phối (distribution) điểm đầu tập MILA lab sinh để huấn luyện giống với tập liệu đánh giá [1] Với mơ hình chiến thắng thi, MILA lab sử dụng tầng ẩn gồm 500 nơron ReLU [9] 3.2.2 Tầng vào mạng nơron Do số lượng điểm chuyến taxi khác nhau, điều lại không phù hợp với mạng nơron nhân tạo truyền thẳng nhiều tầng, nơi mà tầng vào phải có kích thước cố định Để giải vấn đề MILA lab định lấy k điểm k điểm cuối hành trình Với mơ hình chiến thắng, họ sử dụng k = Khi số lượng điểm hành trình 2k điểm k điểm đầu bị trùng phần với k điểm sau Còn số lượng điểm nhỏ k ta thực lặp lại điểm đầu điểm cuối [1] Với thông tin meta loại thông tin rời rạc gồm: ID khách hàng, ID taxi, thời gian, MILA lab thực nhúng vào mơ hình Danh sách chi tiết thông tin nhúng thể bảng 3.1 sau [1] Thông tin meta Số giá trị Kích thước nhúng ID khách hàng 57106 10 ID taxi 448 10 ID điểm đón 64 10 Một phần tư 96 10 Ngày thứ tuần 10 Tuần thứ năm 52 10 Bảng 3.1 Thông tin meta chi tiết 3.2.3 Tầng mạng nơron Cuộc thi yêu cầu tìm điểm đích chuyến hành trình, tức gồm hai giá trị số kinh độ vĩ độ, MILA lab thấy việc huấn luyện mơ hình đơn giản vậy, mà điểm đích lại không nằm tập liệu khó Vì MILA lab định tìm thêm thơng tin tập đích đến: thay dự đốn trực tiếp vị trí đích, họ sinh tập ci gồm vài nghìn tâm mạng lưới điểm đích (gọi cụm, cluster) Từ có tầng ẩn thực liên kết giá trị vô hướng giống xác suất pi với cụm Do mạng nơron phải sinh điểm đích ŷ nên ta thực tính giá trị trung bình tập tâm cụm sinh [1]: ŷ = ∑𝐶𝑖=1 𝑝𝑖 𝑐𝑖 Về chất việc tính giá trị trung bình giống tầng tuyến tính mà ma trận trọng số khởi tạo tâm cụm liên lục cập nhật suốt trình học Đương nhiên tổng giá trị ẩn pi phải để đảm bảo điểm ŷ tương ứng với xác suất tâm cụm, MILA lab sử dụng tầng softmax để tính giá trị này: pi = exp(𝑒𝑖 ) ∑𝐶 𝑗=1 exp(𝑒𝑗 ) (ej)j giá trị đầu tầng trước Các cụm ci sinh thuật toán mean-shift tất hành trình có tập huấn luyện, cuối cho tập C chứa 3392 cụm Tổng qt lại mơ hình mạng nơron nhân tạo truyền thẳng nhiều tầng sử dụng thi MILA lab mơ tả hình sau [1]: dự đốn điểm đích ŷ = ∑𝐶𝑖=1 𝑝𝑖 𝑐𝑖 centroid Cụm (ci)1≤i≤c (pi)i softmax (ei)i Tầng ẩn Thông tin nhúng … Thời gian, id khách, … Chuỗi điểm Thông tin meta Hình 3.1 Kiến trúc mạng nơron MILA lab 3.2.4 Thuật tốn huấn luyện Để đo độ xác đội thi, cơng thức tính khoảng cách hai điểm Haversine áp dụng (với lox, lax lần lượi kinh độ, vĩ độ điểm x, R bán kính trái đất): dhaversine(x,y) = 2R arctan(√ Trong đó: a(x,y) = sin2 ( 𝑙𝑎𝑦 − 𝑙𝑎𝑥 𝑎(𝑥,𝑦) ) 𝑎(𝑥,𝑦)−1 ) + cos(lax) cos(lay) sin2( 𝑙𝑜𝑦 − 𝑙𝑜𝑥 ) Nhưng mơ hình MILA lab lại không cho kết tốt huấn luyện trực tiếp với khoảng cách Haversine này, họ sử dụng cơng thức tính khoảng cách equirectanglular đơn giản hơn, mà hoàn toàn phù hợp với quy mô thành phố Porto sau [1]: deqrec(x,y) = R√(𝑙𝑜𝑦 − 𝑙𝑜𝑥 ) cos( 𝑙𝑎𝑦 − 𝑙𝑎𝑥 ))2 + (𝑙𝑎𝑦 − 𝑙𝑎𝑥 )2 3.2.5 Nhược điểm Mơ hình cho độ sai lệch 2.035km đánh giá với tập liệu kín thi, độ lệch trung bình đội thi 3.11km [1] Bên cạnh đó, nghiên cứu kỹ phương pháp MILA lab, thấy số nhược điểm sau đây: Dữ liệu mà thi đưa không tiền xử lý trước đưa vào mạng nơron nhân tạo Các điểm liệu GPS bị thiếu, thời gian bắt đầu chuyến taxi bị sai (một số chuyến taxi có thời gian chạy tiếng mà có vài điểm GPS), quỹ đạo chuyến khơng thực tế có điểm ngược với hành trình [8] Đồng thời điều cho thấy độ thích nghi tốt với liệu thực tế mơ hình MILA lab sử dụng Khi chạy với liệu thi, mô hình MILA lab cho độ sai lệch 2.035 km Mặc dù kết tốt đội thi ta thấy độ sai lệch cao Chúng ta kỳ vọng cải tiến với mơ hình MILA lab để mang đến độ sai lệch km Trong mơ hình mạng nơron nhân tạo MILA lab, để thỏa mãn yêu cầu mạng nơron nhân tạo nhiều tầng truyền thẳng số đầu vào phải cố định, họ chọn sử dụng năm điểm đầu năm điểm cuối để huấn luận mạng Liệu giá trị khác có giúp tăng độ xác dự đốn mơ hình mạng nơron nhân tạo 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 nơron huấn luyện, để trả lời cho câu hỏi liệu số tốt, tơi xin đề xuất tốn tìm giá trị số lượng tối ưu (ta gọi tham số k) Tôi tin tưởng tham số quan trọng cần tinh chỉnh để mang lại kết dự đoán tốt Kỳ vọng toán tìm giá trị tối ưu từ cho kết dự đốn xác 10% so với kết MILA lab Luận văn tập trung nghiên cứu toán 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 Tổng quát hơn, tốn tìm số lượng đầu vào tối ưu cho mạng nơron truyền thẳng nhiều tầng Bài toán thuộc lớp tốn tìm kiếm siêu tham số tối ưu, cộng đồng nghiên cứu biết đến với tên gọi hyperparameter searching, hyperparameter optimization hay hyperparameter tuning Mục tiêu toán lựa chọn (hoặc nhiều) siêu tham số tối ưu từ tập (hoặc nhiều) siêu tham số kết huấn luyện tốt Đầu vào tốn gồm: + mơ hình mạng nơron nhân tạo truyền thẳng nhiều tầng MILA lab + tập liệu chuyến taxi dùng để huấn luyện + tập liệu chuyến taxi dùng để đánh giá + khoảng giá trị tham số k, luận văn k thuộc khoảng [2, 50] (chú ý k số tự nhiên) Đầu toán giá trị k tối ưu khoảng giá trị [2, 50] chọn Kết mong muốn luận văn tìm giá trị k cho kết dự đốn xác khoảng giá trị [2, 50] 3.3.2 Bài toán số đầu vào cố định Nhu cầu toán xuất phát từ yêu cầu mạng nơron nhân tạo truyền thẳng nhiều tầng cần vector đầu vào có kích thước cố định (fixed-length feature vector) Điều khác với mạng nơron hồi quy (recurrent neutral network) cho phép số lượng đầu vào thay đổi Trong thực tiễn, tốn phần lớn có số lượng đầu vào khơng cố định: tốn giải, số điểm chuyến hành trình taxi, chuyến taxi lại có số điểm khác hay toán liên quan đến đoạn văn, đoạn văn lại có số lượng số loại từ khác Do nhà nghiên cứu đưa nhiều phương pháp để chuyển đổi số lượng đầu vào từ không cố định (variable-length input) sang số lượng đầu vào cố định Một số phương pháp phổ biến như: túi từ (Bag of word), sử dụng vector từ (word vector), vector đoạn (paragraph vector), băm không gian đầu vào, sử dụng pool, lấy giá trị số lượng lớn nhất, trích xuất đặc trưng Như cách giải MILA lab với toán dự đoán điểm đích chuyến taxi họ sử dụng phương pháp “trích xuất đặc trưng” MILA lab cho điểm đầu điểm cuối có ảnh hưởng nhiều đến việc dự đốn điểm đích chuyến taxi nên họ sử dụng điểm chuyến taxi (bao gồm điểm điểm kết thúc) để làm đầu vào cho mạng nơron họ 3.4 Các phương pháp giải 3.4.1 Tìm kiếm Grid Thuật tốn đơn giản áp dụng để tìm siêu tham số tối ưu tìm kiếm grid Ý tưởng thuật toán cụ thể, ta thực huấn luyện mạng nơron cho tất trường hợp xảy Với siêu tham số, ta thực huấn luyện cho tất giá trị thuộc tập siêu tham số, với nhiều siêu tham số, ta thực huấn huyện cho tất tập siêu tham số phối hợp với Sau đó, ta so sánh kết để tìm kết tốt nhất, siêu tham số (hoặc tập siêu tham số) cho kết tốt siêu tham số (hoặc tập siêu tham số) tối ưu Phương pháp tìm kiếm grid mang ý nghĩa lý thuyết nhiều thực tiễn, thực tế tốn cần giải mà có sử dụng đến mạng nơron nhân tạo có thời gian huấn luyện mạng tính ngày số trường hợp siêu tham số xảy nhiều 3.4.2 Tìm kiếm ngẫu nhiên Ý tưởng phương pháp giống với tìm kiếm grid, thay thử tất trường hợp có thể, ta thực tập ngẫu nhiên Thay huấn luyện 1000 trường hợp, ta huấn luyện 10 trường hợp ngẫu nhiên Điều rút ngắn thời gian thực thi xuống Ta luôn mong muốn giá trị ngẫu nhiên mà ta sinh phủ không gian siêu tham số, để từ kết huấn luyện mang tính chất đại diện Ta khơng mong muốn việc có hai giá trị ngẫu nhiên sinh gần Vì có nhiều kỹ thuật sinh ngẫu nhiên khác nhằm đảm bảo việc [13] Phương pháp tìm kiếm ngẫu nhiên mang ý nghĩa lý thuyết nhiều thực tiễn, thực tế giải toán, ta cần phương pháp tin cậy để chắn tìm siêu tham số tối ưu 3.4.3 Dựa kinh nghiệm Dựa kinh nghiệm (heristic-based) phương pháp dựa chủ nghĩa kinh nghiệm Đầu tiên ta thực huấn luyện với vài giá trị siêu tham số ngẫu nhiên Sau đó, dựa vào kết huấn luyện này, ta thực việc lựa chọn siêu tham số huấn luyện Siêu tham số sau huấn luyện đưa vào tập siêu tham số huấn luyện để từ tìm siêu tham số Ta tiếp tục lặp lại siêu tham số nằm tập huấn luyện đến đạt kết mong muốn dừng lại Trong hướng có hai phương pháp phổ biến là: tối ưu dựa gradient (gradient-based optimization) tối ưu tiến hóa (evolutionary optimization) 10 Ta thấy kết tốt lên sau lần thay đổi siêu tham số, điều hiển nhiên đạt ta sử dụng chủ nghĩa kinh nghiệm thực lưu lại phân tích kết phía trước, từ giúp ta lựa chọn siêu tham số tốt Phương pháp lựa chọn siêu tham số tay dựa phương pháp 3.4.4 Dựa thống kê Dựa thống kê (statistic-based) hướng nghiên cứu dựa xác suất thống kê Trong hướng nhà nghiên cứu cho mối quan hệ siêu tham số kết huấn luyện hàm số mà thuộc phân phối liệu Nhưng thực tế hàm số hàm hộp đen, khơng thể thể cơng thức Do vậy, để tìm giá trị siêu tham số tối ưu, nhà nghiên cứu phải xây dựng mơ hình xấp xỉ (còn gọi surrogate model) Các mơ hình xây dựng để đảm bảo mô giống có thể, tính tốn xác mà đảm bảm đơn giản tính tốn Vì hàm số thể mối quan hệ siêu tham số kết chưa biết nên mơ hình xấp xỉ xây dựng theo hướng hướng liệu (data-driven) từ lên (bottom-up) theo hai bước chính: + Lựa chọn giá trị siêu tham số đưa vào huấn luyện dựa vào trạng thái mơ hình xấp xỉ (như giá trị trung bình, phương sai, …) + Dựa vào cặp giá trị siêu tham số kết huấn luyện tương ứng, thực cập nhật mơ hình xấp xỉ Hướng nghiên cứu dựa thống kê hướng nghiên cứu gây ý thời gian gần kết khả quan mà mang lại Phương pháp phổ biến hướng tối ưu Bayes (Bayesian optimization) [3] Tối ưu Bayes xây dựng mơ hình xác suất mà ánh xạ từ siêu tham số với kết cần đánh giá Phương pháp liên tục đánh giá siêu tham số tiềm (được lấy từ mơ hình tại) thực cập nhật lại mơ hình Tối ưu Bayes hướng đến việc khoanh vùng vùng siêu tham số cho kết tốt [12] 11 CHƯƠNG 4: MƠ HÌNH ĐỀ XUẤT VÀ THỰC NGHIỆM 4.1 Mơ hình đề xuất Phương pháp dựa thống kê ý nhiều mơ tả mơ hình, thực cách tự động Do luận văn tơi xin đề xuất sử dụng mơ hình theo hướng dựa thống kê để giải tốn tìm số đầu vào tối ưu (gọi tham số k) mạng nơron nhân tạo sử dụng mạng nơron tốn dự đốn điểm đích chuyến taxi Trong hướng dựa thống kê, phương pháp tối ưu Bayes lên lựa chọn tốt sử dụng phổ biến mơ hình trình bày luận văn áp dụng phương pháp tối ưu Bayes Phương pháp tối ưu Bayes gồm hai phần: mơ hình xấp xỉ hàm thu (acquisition function) Mơ hình xấp xỉ có vai trò để lưu trữ cập nhật, trích xuất đặc trưng mối quan hệ siêu tham số kết huấn luyện Dựa đặc trưng mà mơ hình xấp xỉ cung cấp, hàm thu thực tính giá trị tối ưu [14] Trong luận văn này, đề xuất sử dụng Gaussion Process cho vai trò mơ hình xấp xỉ Expected Improvement cho vai trò hàm thu Mơ hình đề xuất thể hình 4.1 sau: giá trị k Huấn luyện kết huấn luyện giá trị k Gaussion Process Hàm thu đặc trưng cặp (k, kết quả) Hình 4.1 Mơ hình sử dụng tối ưu Bayes đề xuất 4.1.1 Tối ưu Bayes Tối ưu Bayes thuật toán dựa mơ hình để giải tốn tối ưu hộp đen (black box optimization) mà hàm mục tiêu f(x) hàm hộp đen Mọi thông tin biểu thức hay đạo hàm hàm f(x) Việc tìm hiểu hàm số thông qua giá trị hàm số điểm x Tối ưu Bayes thường áp dụng cho tốn mà việc tính tốn hàm f phức tạp, tốn thời gian, nguồn lực Lúc tối ưu Bayes giúp giảm số lần phải lấy mẫu từ giảm số lần thực hàm f [5] Thuật tốn gọi Bayes việc lựa chọn giá trị thực việc tính tốn tồn phân phối hậu nghiệm (posterior distribution) hàm f với tập đầu vào x thông qua: giả thiết biết trước hàm f xác suất để toàn giá trị x lấy mẫu trước xảy (likelihood) 4.1.2 Gaussian process 12 Trong mơ hình thuật tốn tối ưu Bayes, Gaussian process mơ hình phổ biến Ý tưởng mơ hình Gaussian process với đầu vào x ta có đầu y = f(x) mà f hàm biến thiên ngẫu nhiên (stochastic function) [6] Mơ hình coi với đầu vào x có tương ứng phân phối gaussian (phân phối chuẩn) đặc trưng giá trị trung bình µ độ lệch chuẩn σ [10] Do với đầu vào x, Gaussian process định nghĩa phân phối xác suất cho giá trị f(x) Vì giá trị trung bình µ độ lệch chuẩn σ khác cho giá trị x, nên ta định nghĩa phân phối xác suất sau: P(f(x) | x) = N(µ(x), σ2(x)) Trong N phân phối chuẩn tắc (standard normal distribution) Để ước lượng giá trị µ(x) σ(x), cần phải điều chỉnh mơ hình Gaussian process cho phù hợp với liệu mẫu có Vì giá trị f(x) lấy mẫu từ phân phối chuẩn nên giả sử ta có t mẫu liệu sau: f(x1), f(x2), …, f(xt) vector [f(x1), f(x2), …, f(xt)] mẫu từ phân phối chuẩn nhiều chiều [4] Phân phối chuẩn nhiều chiều đặc trưng vector trung bình ma trận hiệp phương sai Do Gaussian process tổng quát phân phối chuẩn cho n biến, với n số mẫu có Ma trận hiệp phương sai thể tương quan mẫu Với giả thiết ban đầu hàm f mịn (smooth) dẫn tới mẫu mà gần có tương quan mạnh mẫu xa độ tương quan thấp Ma trận hiệp phương sai định nghĩa thông qua hàm hiệp phương sai k(xi, xj) (còn gọi hàm nhân, hàm kernel) Cho trước tập f(x1:t) tham số lấy mẫu nhiễu σ2noise (tham số nhiễu không tập liệu huấn luyện khơng có nhiễu, khơng có giá trị lớn 0) Gaussian process cho giá trị x mô tả sau: P(f(x) | f(x1:t), x) = N(µt(x), σt2(x)) với: µt(x) = kT K-1 f(x1:t) σt2(x) = k(x,x) - kT K-1 k 𝑘(𝑥1 , 𝑥1 ) ⋯ ⋮ ⋱ K=[ 𝑘(𝑥𝑡 , 𝑥1 ) ⋯ 𝑘(𝑥1 , 𝑥𝑡 ) ⋮ ] + σ2nhiễu I 𝑘(𝑥𝑡 , 𝑥𝑡 ) k = [k(x, x1), k(x, x2), …., k(x, xt)] I ma trận định danh (identity matrix) có kích thước t x t Với Gaussian process có nhiều lựa chọn cho hàm nhân (hàm hiệp phương sai) Trong luận văn ta chọn hàm Squared Exponential, hàm định nghĩa sau [7]: k(xi, xj) = σf2 exp(- (𝑥𝑖 − 𝑥𝑗 )2 2𝑙 ) với σf2 𝑙 hai tham số cần cấu hình tay Tham số chiều dài 𝑙 đặc trưng cho độ mịn hàm (thông thường tham số 𝑙 cài đặt cho toàn giá trị x) Tham số σf2 đặc trưng cho độ biến thiên theo chiều dọc (thường cài đặt 1) 4.1.3 Hàm thu 13 Hàm thu định nghĩa tập siêu tham số cho lần huấn luyện tới mạng nơron Có nhiều hàm khác tính tốn giá trị tốt cho siêu tham số Nhưng mơ hình đề xuất này, tơi sử dụng hàm Expected Improvement Hàm có hai cách tính, ta muốn tìm giá trị nhỏ nhất, ta sử dụng công thức sau: gmin(x) = max(0, ymin – ygiá trị mong muốn nhỏ ) ymin giá trị nhỏ y mà ta thấy ygiá trị mong muốn nhỏ giá trị nhỏ Nếu ta muốn tìm giá trị lớn sử dụng cơng thức sau: gmax(x) = max(0, ygiá trị mong muốn lớn - ymax) ymax giá trị lớn y mà ta thấy ygiá trị mong muốn lớn giá trị lớn Trong toán tại, mong muốn sai số việc dự đốn điểm đích nhỏ nên ta sử dụng công thức gmin(x) 4.2 Xây dựng thử nghiệm Cách thức triển khai thử nghiệm biểu diễn hình 4.2 sau: 14 Xác định giá trị k Bắt đầu Cài đặt mơ hình MILA với giá trị k Huấn luyện mơ hình MILA Dự đốn điểm đích với tập đánh giá Lưu kết dự đoán vào tệp csv Đẩy tệp dự đoán lên Kaggle website Kaggle tính sai số dự đốn Đúng Sai số = 0? Sai Lấy sai số từ Kaggle Sinh tập liệu k-sai-số gồm cặp (k, sai số) Lấy tập liệu k-sai-số làm đầu vào cho Gausian process Lấy đẩu Gausian process cho vào hàm thu Sai k tồn tập k-saisố? Đúng Hàm thu tính giá trị k Tìm sai số nhỏ tập k-sai-số, giá trị k tương ứng tối ưu Hình 4.2 Cách thức triển khai thử nghiệm Kết thúc 15 Trình tự triển khai mơ sau: + Cài đặt chạy mơ hình MILA lab [11] + Xác định vị trí cấu hình tham số k mã nguồn MILA lab + Cài đặt thuật toán tối ưu Bayes mà cụ thể cài đặt Gaussion Process cho vai trò mơ hình xấp xỉ Expected Improvement cho vai trò hàm thu + Nếu giá trị k nằm tập giá trị k huấn luyện mơ hình hội tụ Thực dừng việc huấn luyện, tìm giá trị kết nhỏ kết huấn luyện Giá trị tham số k tương ứng với giá trị tham số k tối ưu mà mơ hình tìm Kết thúc chương trình + Nếu giá trị k không nằm tập giá trị k huấn luyện, thực huấn luyện mạng nơron với giá trị k + Sau huấn luyện xong, đưa liệu đánh giá tập chuyến taxi vào mạng nơron nhân tạo để mạng dự đoán Kết dự đoán lưu vào tệp csv + Thực đẩy tệp kết csv lên máy chủ Kaggle trả lại giá trị sai lệch + Kết sai lệch số thực, sai lệch 0, có nghĩa là giá trị tối ưu nhất, dừng chương trình, giá trị k tương ứng với kết giá trị tối ưu Nếu sai lệch khác giá trị sai lệch giá trị k tạo thành cặp giá trị (k, sai số) + Cặp giá trị (k, sai số) với cặp giá trị (k, sai số) cũ tạo thành tập (k, sai số) Tập đưa vào mơ hình Gausian process để tính tốn, cập nhật lại đặc trưng + Hàm thu sử dụng đặc trưng lấy từ Gausian process yêu cầu độ tin cậy để tính tốn giá trị k + Thực lặp lại trình đến kết thúc độ sai lệch đạt mức u cầu dừng lại 4.2.1 Dữ liệu Tồn liệu sử dụng phần thực nghiệm cung cấp thi Kaggle giống cho đội thi, đảm bảo tính khách quan so sánh kết mơ hình luận văn đề xuất MILA lab đội thi khác Các liệu mà thi cung cấp gồm: - Tập liệu tên vị trí GPS điểm chờ taxi toán này, ta hồn tồn khơng cần sử dụng đến tập liệu này, - Tập liệu gồm 1.7 triệu chuyến taxi hoàn chỉnh Dữ liệu tách làm hai phần, phần cho tập phê chuẩn (validation) phần lại cho tập huấn luyện Các thuộc tính tệp csv là: (trip_id, call_type, origin_call, origin_stand, taxi_id, timestamp, day_type, missing_data, polyline) - Tập liệu đánh giá: tập liệu dùng để đánh giá mô hình dự đốn Tập liệu gồm năm tập cung cấp tệp định dạng CSV gồm tổng 320 chuyến taxi 4.2.2 Cơng thức tính sai lệch dự đốn Mỗi đội thi mơ hình luận văn thực dự đốn điểm đích (dưới dạng kinh độ, vĩ độ) cho chuyến taxi tổng hợp 320 điểm dự đoán vào tệp csv Tệp có thuộc tính (trip_id, latitude – vĩ độ, longitude – kinh độ) 16 Sau có file csv dự đốn này, thực đẩy lên website kaggle Website thực việc tính sai số cho chuyến thông qua việc đo khoảng cách Haversine điểm đích thật kết dự đốn Sau tính giá trị sai số trung bình cộng tất dự đốn thơng báo kết trung bình cộng 4.2.3 Cài đặt thuật tốn Với tốn tìm giá trị tối ưu cho siêu tham số, ta cần xác định khoảng giá trị siêu tham số mà ta thực tìm kiếm Do ta cần cài đặt khoảng giá trị k Hiển nhiên điểm cận k giá trị một, việc lấy điểm đầu điểm cuối để huấn luyện không hợp lý, nên thực cài giá trị nhỏ k Với cận k, ta mong muốn lấy quãng đường di chuyển taxi tối đa 25 phút (đây quãng thời gian hợp lý cho chuyến taxi), nên với yêu cầu 15 giây lấy điểm ta có giá trị tương ứng 50 Do cận k 50 Vậy k nằm khoảng từ đến 50 Do MILA lab sử dụng ngôn ngữ Python để cài đặt mơ hình mạng nơron nhân tạo nên luận văn, python sử dụng để cài đặt Gaussian process hàm thu Để cài đặt Gaussian process, luận văn sử dụng thư viện sklearn có cài đặt Gaussian process: from sklearn.gaussian_process import GaussianProcessRegressor noise = 0.1 rbf = ConstantKernel(1.0) * RBF(length_scale=1.0) gp = GaussianProcessRegressor(kernel=rbf, alpha=noise**2) gp.fit(k_train, error_train) error_mean, error_std = gp.predict(k_range, return_std=True) error_std = vector_2d(error_std) Mã nguồn 4.1 Gaussian process Với Gaussian process, ta cần đưa vào giá trị để hàm hoạt động Do ta lấy ngẫu nhiên hai giá trị k để mơ hình huấn luyện trước Trong luận văn này, ta sử dụng giá trị bắt đầu k (bằng với giá trị MILA lab sử dụng) giá trị thứ giá trị ngẫu nhiên (khác 5) Lúc 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 17 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) Toàn mã nguồn luận văn đưa lên website github địa sau: https://github.com/nguyentuananh/OptimizeTaxiDestinationPredict 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 4.3 Kịch thực nghiệm 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ự đoá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 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) Giá trị k Sai số (km) Giá trị k Sai số (km) 2.03574 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 18 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ự đố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 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ệ Ngoà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) 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 19 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, 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, 20 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, 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 21 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% 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 22 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à giúp cơng ty giảm chi phí vận hành, tối ưu nguồn lực, đồng thời 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 toán thực tế, công ty vận tải sau thời gian sử dụng hệ thống dự đố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ự đoá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 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 tố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 toá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 23 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 http://krasserm.github.io/2018/03/19/gaussian-processes/ processes”, [online], available: [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 [13] neupy (December 17 2016), “Hyperparameter optimization for Neural Networks”, [online], available: http://neupy.com/2016/12/17/hyperparameter_optimization_for_neural_networks.html [14] Martin Krasser (March 21, 2018), “Bayesian https://krasserm.github.io/2018/03/21/bayesian-optimization/ Optimization”, [15] ECML/PKDD 15: Taxi Trajectory Prediction https://www.kaggle.com/c/pkdd-15-predict-taxi-service-trajectory-i (I), [online], [online], available: available: ... xác dự đốn mơ hình mạng nơron nhân tạo 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. .. 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... 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 3.1 Bài tốn dự đốn điểm đích taxi Bài tốn tìm đích đến chuyến taxi gây ý cộng đồng nghiên cứu thời gian gần Vì vào năm