1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài toán Bandits theo ngữ cảnh (Contextual Bandits) và ứng dụng

53 1K 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Bài toán Bandits theo ngữ cảnh (Contextual Bandits) và ứng dụngBài toán Bandits theo ngữ cảnh (Contextual Bandits) và ứng dụngBài toán Bandits theo ngữ cảnh (Contextual Bandits) và ứng dụngBài toán Bandits theo ngữ cảnh (Contextual Bandits) và ứng dụngBài toán Bandits theo ngữ cảnh (Contextual Bandits) và ứng dụngBài toán Bandits theo ngữ cảnh (Contextual Bandits) và ứng dụngBài toán Bandits theo ngữ cảnh (Contextual Bandits) và ứng dụngBài toán Bandits theo ngữ cảnh (Contextual Bandits) và ứng dụngBài toán Bandits theo ngữ cảnh (Contextual Bandits) và ứng dụngBài toán Bandits theo ngữ cảnh (Contextual Bandits) và ứng dụngBài toán Bandits theo ngữ cảnh (Contextual Bandits) và ứng dụngBài toán Bandits theo ngữ cảnh (Contextual Bandits) và ứng dụng

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG - VÕ HÀ QUỐC HUY BÀI TOÁN BANDITS THEO NGỮ CẢNH (CONTEXTUAL BANDITS) VÀ ỨNG DỤNG LUẬN VĂN THẠC SĨ KỸ THUẬT TP.HCM - 2016 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG - VÕ HÀ QUỐC HUY BÀI TOÁN BANDITS THEO NGỮ CẢNH (CONTEXTUAL BANDITS) VÀ ỨNG DỤNG CHYÊN NGÀNH: HỆ THỐNG THÔNG TIN MÃ SỐ: 60.48.01.04 LUẬN VĂN THẠC SĨ KỸ THUẬT NGƯỜI HƯỚNG DẪN KHOA HỌC: TS BÙI XUÂN LỘC TP.HCM - 2016 i LỜI CAM ĐOAN Tôi cam đoan công trình nghiên cứu riêng Các số liệu kết luân văn điều trung thực chưa công bố công trình nghiên cứu khác TP.HCM, ngày 20 tháng 06 năm 2016 Học viên thực luận văn Võ Hà Quốc Huy ii LỜI CẢM ƠN Để hoàn thành luận văn này, nghiên cứu cố gắng thân, em xin gửi lời cảm ơn sâu sắc tới Tiến sĩ Bùi Xuân Lộc, giáo viên hướng dẫn trực tiếp, tận tình bảo định hướng cho em suốt trình nghiên cứu thực luận văn Em xin gửi lời cảm ơn chân thành đến tất Thầy Cô trường Học Viện Công Nghệ Bưu Chính Viễn Thông giảng dạy dìu dắt chúng em suốt trình học tập Trường Cuối cùng, em xin gửi lời cảm ơn đến gia đình, bạn bè người cổ vũ tinh thần, tạo điều kiện thuận lợi cho em học tập tốt hoàn thành luận văn Em xin chân thành cảm ơn! TP.HCM, ngày 20 tháng 06 năm 2016 Học viên thực luận văn Võ Hà Quốc Huy iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN .ii MỤC LỤC iii DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT v DANH SÁCH BẢNG vi DANH SÁCH HÌNH VẼ vii CHƯƠNG 1- TỔNG QUAN VỀ BANDITS THEO NGỮ CẢNH .5     Giới thiệu hệ thống trực tuyến   1.1   Khái niệm hệ thống   1.2   Hệ thống thông tin .5   1.3   Hệ thống thương mại điện tử .5     Bài toán Multi-armed Bandits   2.1   Tổng quan toán Multi-armed Bandits (MAB)   2.2   Giới thiệu toán Multi-armed Bandits   2.2.1   Tiến trình Bandits   2.2.2   Vấn đề toán Multi-armed Bandits     Bandits theo ngữ cảnh 11   3.1   Tổng quan toán Bandits theo ngữ cảnh .11   3.2   Vấn đề toán 11   CHƯƠNG 2- THỰC TRẠNG NGHIÊN CỨU 14     Đưa toán K- Armed Bandits 14   1.1   Giới thiệu 14   1.2   Một số định lý 14     Thuật toán EXP4 15   2.1   Giới thiệu thuật toán 15   2.2   Thuật toán 16   Một số định lý 17     Thuật toán EXP4.P 17   3.1   Giới thiệu thuật toán 17   3.2   Thuật toán 18     Thuật toán LinUCB 20   4.1   Giới thiệu thuật toán 20   4.2   Thuật toán 21   iv 4.3   Một số định lý: 21     Thuật toán Epoch-Greedy 22   5.1   Giới thiệu thuật toán 22   5.2   Thuật toán 23     Thuật toán Thompson Sampling with Linear Regression 24   6.1   Giới thiệu thuật toán 24   6.2   Thuật toán 25     Thuật toán Thompson Sampling with Logistic Regression .25   7.1   Giới thiệu 25   7.2   Thuật toán 26   CHƯƠNG 3- THỰC NGHIỆM .28     Các phương pháp đánh giá thuật toan bandits theo ngữ cảnh 28   1.1   Phương pháp dựa mô .28   1.2   Phương pháp dựa đánh giá liệu offine 29     Giới thiệu ngôn ngữ Julia 31     Giới thiệu liệu dùng đánh giá thuật toán bandits 34     Kết đánh giá với liệu click quảng cáo di đông 36   4.1   Thuật toán EXP4 .36   4.2   Thuật toán LINUCB 37   4.3   Thuật toán Uniform 39   4.4   Kết thực nghiệm thuật toán 40   KẾT LUẬN VÀ KIẾN NGHỊ 42   DANH MỤC TÀI LIỆU THAM KHẢO .44   v DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Từ viết tắt Tiếng Anh Tiếng Việt MPD Markov Decision Processes Tiến trình định Markov MAB Multi-armed Bandit EXP Expert advice Lời khuyên chuyên gia LIN UCB Linear Upper Confidence Bound Thuật toán chặn độ tự tin tuyến tính ERM Empirical Risk Minimization Giảm thiểu rủi ro thực nghiệm CTR Click-through Rate Tỷ lệ nhấp chuột vi DANH SÁCH BẢNG Bảng 1.1: Bốn giả định lý luận không chắn từ   Bảng 2.1: Mô tả số thuật toán liên quan tới toán Bandits theo ngữ cảnh 14   Bảng 3.1: Mô tả liệu mô 35   Bảng 3.2: Kết thực nghiệm thuật toán EXP4, LINUCB Uniform 40   vii DANH SÁCH HÌNH VẼ Hình 1.1: Mô tả hệ thống thương mại điện tử   Hình 1.2: Mô tảcác arm toán   Hình 3.1: Kết đánh giá số thuật toán dựa mô toán bandits 29   Hình 3.2: Mô tả thời gian chuẩn liên quan đến C (nhỏ tốt hơn, hiệu suất C = 1,0) 32   Hình 3.3: Mô tả cú pháp, dòng lệnh Julia 33   Hình 3.4: Mô tả hình ảnh chụp từ phiên Notebook IJulia 34   Hình 3.5: Định dạng thông tin liệu 36   Hình 3.6: Biểu đồ kết đánh giá thuật toán EXP4, LINUCB Uniform 40   MỞ ĐẦU a Tính cấp thiết đề tài Ngày nay, với phát triển ngành công nghệ thông tin phát triển với tốc độ chóng mặt,ước tính ngày giới có khoảng 15 tỉ lượt truy cập (www.nghiencuuthitruong.net) vào hệ thống website Với kết số liệu thống kê trên, phần cho thấy nhu cầu người sử dụng ngày cao Do vậy, website hay hệ thống trực tuyến cần phải đưa sách phù hợp dịch vụ ngày tốt để hỗ trợ cho nhu cầu người sử dụng Hiện có nhiều nghiên cứu vấn đề này, nghiên cứu mà nhiều người quan tâm đến toán Bandits theo ngữ cảnh (Contextual Bandits) Bài toán Bandits theo ngữ cảnh gì? Nó giải vấn đề nào?…Một nhìn tổng quan toán Bandits theo ngữ cảnh đưa để trả lời cho câu hỏi Một toán liên quan tới toán Bandits theo ngữ cảnh toán Multi-Armed Bandits (MAB) Bài toán mô tả sau: giả sử, ta có tập K đồng xu, đồng xu có hai trường hợp mặt sấp mặt ngửa.Với quy định, ta tiến hành tung đồng xu xuất mặt ngửa ta có điểm thưởng ngược lại, ta tung đồng xu mà xuất mặt sấp điểm thưởng Gọi Pi xác suất xuất mặt ngửa đồng xu thứ i Tại thời điểm ta tung đồng xu cho biết kết điểm thưởng (1 0) đồng xu Yêu cầu toán đặt đạt số điểm thưởng nhiều trình chọn đồng xu để tung Để có thông tin chi tiết xác suất xuất mặt ngửa đồng xu ta tiến hành khám phá (explore) cách tung đồng xu để ghi nhận lại kết Với việc ghi nhận lại kết đó, cung cấp cho ta thông tin đồng xu Từ thông tin có, ta khai thác (exploit) thông tin để có lựa chọn đồng xu tối ưu Nhưng việc ta khám phá để lấy thông tin ngữ cảnh đồng xu đồng nghĩa với việc ta khoản chi phí, thời gian cho việc khai thác Do vậy,để đưa định lựa chọn đắn ta phải cân hai yếu tố khám phá thông tin khai thác thông tin từ đối tượng 30 nhận truy cập vào hệ thống trực tuyến chuỗi dài kiện đăng nhập từ tương tác sách cách ngẫu nhiên Do đó, liệu đánh giá phải chuẩn để hỗ trợ cho dùng đánh giá cho thuật toán Bandits khác Như vậy, việc học có giám sát có tiêu chuẩn cho phép tiến hành thực nghiệm dễ dàng Đối với phương pháp này, lấy chuỗi kiến người dùng truy cập vào hệ thống tạo thành stream có chiều dài vô hạn Nhưng có thể đưa giá trị giới hạn chiều dài stream theo yêu cầu phương thức đánh giá Phương thức này, đưa giá trị giá trị đầu vào cho thuật toán Bandit theo ngữ cảnh A số mong muốn kiện hợp lệ T để làm sở đánh giá Sau bỏ qua stream đăng nhập Nếu thời điểm ht-1 đưa sách lựa chọn Sự lựa chọn giống arm a lựa chọn sách truy cập vào hệ thống, tổng điểm thưởng phạt G’a cập nhật Còn ngược lại, sách A chọn arm khác tất arm Sau kiện bỏ qua, thuật toán tiến hành đến kiện tiêp theo mà không cần thay đổi trạng thái Algorithm: Policy_Evaluation[7] Input: T > 0; thuật toán bandits theo ngữ cảnh A; tream kiện S h0 = 0{ khỏi tạo giá trị trước la rỗng} G’a = {khỏi tạo tổng điểm thưởng phạt 0} for t = 1, 2, 3, , T repeat lấy giá trị kiện {x, a, ra} từ S A(ht-1, x )= a ht với ràng buộc (ht-1, (x, a, ra) ) G’a = G’a + end for Output: G’a/T Đồng cách ngẫu nhiên, kiện giữ lại thuật toán với xác suất đưa xác 1/K độc lập Điều có nghĩa kiện giữ lại có phân bố giống chọn phân bố D Kết cho chúng 31 ta thấy trình tương đương Đầu tiên đánh giá cho sách T thới thực phân bố D Thứ hai đánh giá sách dùng cho sách tính toán tream kiện Định lý 3.1: Đối với tất phân phối D ngữ cảnh điểm thưởng phạt, tất thuật toán A, tất T, tất chuỗi kiện hT, tất stream S, có chứa kiện từ sách thống ngẫu nhiên Dựa phương thức đánh giá để tiến hành cài đặt thuật toán LINUCB thuât toán EXP4 với liệu offline dự đoán quảng cáo di động bấm chọn ngôn ngữ lập trình JULIA để làm phần thực nghiện cho đề tài Và phương pháp hỗ trợ cho để đánh giá toán bandits theo ngữ cảnh Giới thiệu ngôn ngữ Julia Julia ngôn ngữ lập trình cấp cao, động với hiệu suất cao cho máy tính kỹ thuật, với cú pháp quen thuộc cho người sử dụng môi trường điện toán kỹ thuật Nó cung cấp trình biên dịch phức tạp, phân phối thực song song, thư viện tính toán học rộng lớn Thư viện phần lớn viết Julia, số lấy bên C Fortran thư viện đại số tuyến tính, hệ số ngẫu nhiên, xử lý tín hiệu xử lý chuỗi Ngoài ra, cộng đồng phát triển Julia đóng góp số gói bên thông qua trình quản lý gói tích hợp sẵn Julia, với tốc độ nhanh chóng IJulia, hợp tác cộng đồng IPython Julia, cung cấp giao diện đồ họa dựa trình duyệt mạnh mẽ cho Julia Tóm tắc tính Ngôn ngữ Julia: l Đa phân phối multiple dispatch: cung cấp khả định nghĩa hành vi chức thông qua kết hợp nhiều loại đối số l Hệ thống soạn thảo động: tạo tài liệu, tối ưu hóa dispatch l Trình biên dịch có hiệu cách tiếp cận tốt giống ngôn ngữ lập trình C l Tích hợp quản lý gói l Các hàm giống Lisp ngôn ngữ khác l Gọi chức Python: sử dụng gói PyCall 32 l Gọi chức C trực tiếp mà không cần wrapper hay API đặc biệt l Được thiết kế cho xử lý song song (parallelism) điện toán đám mây l Các hàm người dùng định nghĩa nhanh hàm tích hợp sẵn l Hỗ trợ hiệu cho Unicode, bao gồm UTF-8 l Được cấp phép MIT, hoàn toàn miễn phí ngôn ngữ lập trình mã nguồn mở Hiệu suất ngôn ngữ Julia với ngôn ngữ khác: Hình 3.2: Mô tả thời gian chuẩn liên quan đến C (nhỏ tốt hơn, hiệu suất C = 1,0) (Nguồn:http://julialang.org/) Ứng dụng có trình biên dịch đáng tin cậy, phân phối thực song song, độ xác cao thư viện hàm toán học lớn Nó hỗ trợ định cho thư viện C Fortran Trong chạy dòng lệnh, Julia cung cấp cho người dùng không gian làm việc toàn diện để tạo biên dịch script Julia Cú pháp tương tự ngôn ngữ lập trình khác, dễ sử dụng cho nhà phát triển người sử dụng Julia 33 Hình 3.3: Mô tả cú pháp, dòng lệnh Julia (Nguồn:http://julialang.org/) Julia có sẵn số thư viện chức năng, với độ xác cao hiệu hơn, viết Julia, C Fortran Đại số tuyến tính, hệ số, xử lý tín hiệu xử lý chuỗi cải thiện cách sử dụng thư viện Julia hỗ trợ multiple dispatch, cho phép xác định hành vi chức số kết hợp loại đối số Hơn nữa, có hệ thống tính năng động giúp cho việc tạo tài liệu, công cụ tối ưu hóa gửi dễ dàng Trình biên dịch ngôn ngữ lập trình nhanh chóng, thuận tiện trang bị tính thời gian điểm chuẩn gần với trình biên dịch C Trình biên dịch tích hợp gói quản lý cho phép xử lý phần mở rộng plugin, đó, hỗ trợ Python, C chức Lisp Hơn nữa, nhà phát triển dễ dàng kết hợp cú pháp Julia với yếu tố từ thư viện C Fortran, chức gọi hàm từ bên Người dùng dễ dàng định nghĩa hàm C, Python, Fortran mà không cần viết mã wrapper biên dịch lại dòng có LLVM Julia dựa trình biên dịch just-in-time (vừa kịp giờ) thiết kế để xử lý song song tính toán phân tán, với hệ số tự động cấu hình tốt Nó cung cấp loạt khối xây dựng quan trọng việc tính toán phân tán, cho phép giữ lại số style chủ đề song song Nó xử lý số loại đối số cho phép xác định yếu tố phù hợp với nhiều đối số 34 Julia không áp đặt phong cách đặc biệt parallelism cho người sử dụng Thay vào đó, cung cấp số lượng khối xây dựng việc tính toán phân tán, làm cho trở nên linh hoạt để hỗ trợ số phong cách parallelism, cho phép người dùng thêm phong cách khác vào Dưới ảnh chụp hình phiên Notebook IJulia tương tác dựa web, sử dụng Gadfly JuliaBox cung cấp cách để chạy Notebook IJulia trình duyệt bạn Docker sandbox container cung cấp theo yêu cầu Hình 3.4: Mô tả hình ảnh chụp từ phiên Notebook IJulia (Nguồn:http://julialang.org/) Điều mở đường cho hoạt động dựa hoàn toàn đám mây, bao gồm quản lý liệu, chỉnh sửa code, chia sẻ, thực hiện, gỡ lỗi (debug), phối hợp, phân tích khai thác liệu Mục tiêu cuối người ngừng lo lắng điều hành máy tính, quản lý liệu tập trung vào vấn đề thực Giới thiệu liệu dùng đánh giá thuật toán bandits Dữ liệu sử dụng để mô liệu click quảng cáo di đông (Nguồn:https://www.kaggle.com/c/avazu-ctr-prediction/data) Trong quảng cáo trực tuyến, tỷ lệ nhấp chuột (CTR) số quan trọng để đánh giá hiệu suất quảng cáo Hệ thống dự đoán click chuột 35 cần thiết sử dụng rộng rãi cho việc tìm kiếm nhà tài trợ, chủ đầu tư Mô tả file.CSV liệu gồm: Bảng 3.1: Mô tả liệu mô Tên cột Ghi Số thứ tự • id • click Mã quảng cáo Gồm giá trị 0/1 với người dùng không xem quảng cáo đó, người dùng xem quảng cáo hour Định dạng ngày tháng năm “ YYMMDDHH” C1 Phân loại biến ẩn danh • banner_pos banner • site_id Định danh trang web • site_domain Tên miền trang web • site_category Danh mục trang web • app_id Định danh ứng dụng 10 • app_domain Tên miền ứng dụng 11 • app_category Danh mục ứng dụng 12 • device_id Định danh thiết bị 13 • device_ip Địa thiết bị 14 • device_model Model thiết bị 15 • device_type Loại thiết bị 16 • device_conn_type Loại thiết bị kết nối đến 17 • C14-C21 Phân loại biến ẩn danh (Nguồn:https://www.kaggle.com/c/avazu-ctr-prediction/data) Kích thước liệu khoảng 6.32G 36 Hình 3.5: Định dạng thông tin liệu (Nguồn:http://julialang.org/) Kết đánh giá với liệu click quảng cáo di đông Trong đề tài phần thực nghiệm để đánh giá tập trung vào ba thuật toán thuật toán EXP4, thuật toán LinUCB thuật toán Uniform Dữ liệu dùng để chạy thực nghiệm liệu dự đoán quảng cáo di động bấm chọn Avazu đưa để đánh giá hiệu suất quảng cáo Dữ liệu chia thành hai phần: - - 4.1 Ø Phần bối cảnh: banner_pos, site_id, site_domain, site_category, app_id, app_domain, app_category, device_id, device_ip, device_model, device_type, device_conn_type Phần arm: C1, C14 –C21 Thuật toán EXP4 Nhận xét - Tốc độ xử lý thuật toán EXP4 nhanh - Tốc độ xử lý phụ thuộc vào số lượng arm - Kết phụ thuộc vào chuyên gia đưa lời khuyên chọn arm - Khi chạy thực nghiệm với liệu dự đoán quảng cáo di động bấm chọn, kết mang lại không tốt so với thuật toán LINUCB thuật toán Uniform - Kết thuật toán EXP4 phụ thuộc vào số lượng arm số lượng chuyên gia - Kết thuật toán LINUCB phụ thuộc vào ngữ cảnh liệu mà ta nghiên cứu - Độ phức tạp thuật toán O(N) Ø Mã lệnh cài đặt thuật toán EXP4 ngôn ngữ Julia function runEXP4(fileName, numArms, numLines) gamma = 0.1 k = numArms N = numExperts weis = rand(k,N) for i = 1:N 37 weis[:,i] = weis[:,i] / sum(weis[:,i]) end w = ones(N,1); action = zeros(Int32, numLines) lineCount = -1 open(fileName) f for line in eachline(f) lineCount += if (lineCount > 0) x = split(line, ',') rt = parse(Float64, x[2]) probs = zeros(k) rats = zeros(k) for j = 1:k sumexp = 0; for i=1:N sumexp += ((weis[j, i] * w[i])/(sum(w))) end probs[j] = ((1-gamma) * sumexp)+ (gamma / k) end if !any(isnan(probs)) probs = probs/sum(probs) ; c = Categorical(probs) at = rand(sampler(c)) for j = 1:k if (j == at) rat = rt / probs[j] else rat = end rats[j] = rat end for i = 1:N y = weis[:,i]' * rats; w[i] = w[i] * exp((gamma * sum(y)) / k) end action[lineCount] = at end end return action end 4.2 Ø Thuật toán LINUCB Nhận xét - Tốc độ xử lý thuật toán LINUCB lâu - Tốc độ xử lý phụ thuộc vào số lượng arm chọn - Khi chạy thực nghiệm với liệu đoán quảng cáo di động bấm chọn, kết mang lạitốt so với thuật toán EXP4 thuật toán Uniform 38 Ø Kết thuật toán LINUCB phụ thuộc vào số lượng arm sô lượng arm kết điểm thưởng mang lại cao Kết thuật toán LINUCB phụ thuộc vào ngữ cảnh liệu mà ta nghiên cứu Độ phức tạp thuật toán LINUCB O(d3) Mã lệnh cài đặt thuật toán LINUCB ngôn ngữ Julia function runLinUCB(fileName, numArms, numLines) K = numArms; alpha = 0.1; A = eye(dimContext); b = zeros(dimContext, 1) action = zeros(Int32, numLines) lineCount = -1 open(fileName) f for line in eachline(f) lineCount += if (lineCount > 0) if (lineCount % 1000000 == 0) println("runLinUCB processed lines: $lineCount") end x = split(line, ','); rt = parse(Float64, x[2]) beta = pinv(A) * b probs = zeros(K) for a = 1:K arr = getContext(x[5:16], a) z = arr' * beta k = arr' * pinv(A) * arr prob = z[1][1] + alpha * sqrt(k[1][1]) probs[a] = prob end at = indmax(probs) arr_t = getContext(x[5:16], at) y = arr_t * arr_t' A=A+y b = b + arr_t * rt action[lineCount] = at end end end return action end 39 4.3 Thuật toán Uniform Thuật toán Uniform thuật toán bản, kết điểm thưởng thuật toán việc chọn arm cách ngẫu nhiên, không phụ thuộc vào yếu tố ràng buộc Ø Nhận xét - Tốc độ xử lý thuật toán Uniform nhanh - Tốc độ xử lý thuật toán phụ thuộc vào số lượng arm chọn - Khi chạy thực nghiệm với liệu đoán quảng cáo di động bấm chọn, kết mang lại tốt so với thuật toán EXP4 không tốt thuật toán LINUCB - Kết thuật toán Uniform phụ thuộc vào số lượng arm sô lượng arm kết điểm thưởng mang lại cao - Kết thuật toán Uniform phụ thuộc vào ngữ cảnh liệu mà ta nghiên cứu - Độ phức tạp thuật toán Uniform O(1) Ø Mã lệnh cài đặt thuật toán Uniform ngôn ngữ Julia function runUnif(fileName, numArms, numLines) action = zeros(Int32, numLines) lineCount = -1 open(fileName) f for line in eachline(f) lineCount += if (lineCount > 0) if (lineCount % 1000000 == 0) println("runUnif processed lines: $lineCount") end at = rand(1:numArms) action[lineCount] = at end end end return action end 40 4.4 Kết thực nghiệm thuật toán Bảng 3.2: Kết thực nghiệm thuật toán EXP4, LINUCB Uniform STT Số Arm Điểm thưởng thuật toán EXP4 9 28 29 33 60 68 6019 7887 10672 6650 7041 8725 3365 6930 6648 Điểm thưởng thuật toán LINUCB Điểm thưởng thuật toán Uniform 2080061 1565415 1744845 1537645 291328 263698 231328 153662 514575 1718058 981134 859866 764628 245740 237698 207859 114347 101270 2500000   2000000   Điểm  thưởng  của  thuật   toán      EXP4   1500000   Điểm  thưởng  của  thuật   toán    Uniform   1000000   Điểm  thưởng  của  thuật   toán    LINUCB   500000             28   29   33   60   68   Hình 3.6: Biểu đồ kết đánh giá thuật toán EXP4, LINUCB Uniform 41 Tiểu kết: Với chương tiến hành thực nghiệm đưa phương pháp đánh giá Để đánh giá dựa hai phương pháp mô phương thức đánh giá Tuy nhiên, sử dụng phương pháp mô cò nhiều hạn chế nên đánh giá thuật toán dựa phương thức đánh giá, đánh giá liệu offline Ba thuật toán tiến hành cài đặt đánh giá thuật toán Lin UCB, thuật toán EXP4 thuật toán Uniform Bộ liệu để làm thực nghiệm liệu dự đoán quảng cáo di động bấm chọn quan sát trước đó.Dựa vào kết thực nghiêm thuật toán LINUCB mang lại kết tốt so với thuật toán EXP4 thuât toán Uniformđược ứng dụng hệ thống thương mại điện tử 42 KẾT LUẬN VÀ KIẾN NGHỊ Những đóng góp luận văn Ngày nay, nhu cầu người dùng khái thác thông tin hệ thống trực tuyến cao tìm kiếm thông tin, nhu cầu mua bán, nhu cầu vui chơi giải trí, nhu cầu cho đời sống tin thần Tuy nhiên, nhà cung cấp dịch vụ chưa khai thác tối đa tiềm hệ thống này, chưa đáp ứng để thỏa mãn nhu cầu người dùng đáp ứng phần nhỏ phận Bài toán Bandits theo ngữ cảnh phù hợp với ứng dụng máy học mô hình người sử dụng, quảng cáo trực tuyến, hỗ trợ việc truy xuất thông tin cách xác Luận văn tập trung vào nghiên cứu thuật toán liên quan tới toán Bandits theo ngữ cảnh gồm thuật toán K-Armed Bandits, thuật toán Uniform, thuật toán EXP4, thuật toán EXP4.P, thuật toán LIN UCB, thuật toán Epoch-Greedy, thuật toán Thompson Sampling with Linear Regression, thuật toán Thompson Sampling with Logistic Regression Dựa tảng thuật toán nghiên cứu với ứng dụng hệ thống trực tuyến để đưa nhận định với ứng dụng nên áp dụng thuật toán cho phù hợp Trong báo cáo chúng đánh giá ba thuật toán: thuật toán EXP4, thuật toán LIN UCB, Thuật toán Uniform với dự liệu click quảng cáo di động Avazu đưa Trong trình nghiên cứu chạy thực nghiệm sử dụng sách để làm phương thức đánh giá với phương pháp Lihong số cộng đưa gọi phương thức đánh giá offine không chệch (Unbiased Offline Evaluation) Phương pháp hiệu suất thuật toán Dựa kết đưa thuật toán LIN UCB thuật toán tốt cho ứng dụng hệ thống trực tuyến Tuy nhiên, với kết mang lại tốt thuật toán LIN UCB có thuật toán tốc độ xử lý lâu việc tính toán chủ yếu dựa tính toán ma trận Luận văn nghiên cứu toán Bandits theo ngữ cảnh với hệ thống trực tuyến mà sử dụng phương thức đánh giá Offine Hướng phát triển luận văn Luận văn giải vấn đề toán Bandits theo ngữ cảnh, Tuy nhiên toán Bandits có nhiều khía cạnh mà chưa khai thác hết Trong tương lai luận văn phát triển theo hướng sau: Kết mang lại từ thuật toán LIN UCB tốt trình xử lý tính toán lâu, thuật toán phụ thuộc số lượng arm, ngữ cảnh phép toán xử 43 lý chủ yếu tính toán ma trận Nếu số lượng arm lớn thuật toán xử lý lâu, ta nghiên cứu cải thiện thuật toán tốt để tốc độ xử lý nhanh Do phụ thuộc vào loại liệu, kích thước liệu thiết bị xử lý… nên yếu tố thời gian không đưa vào đề tài chọn yếu tố để đánh giá toán Có thể nghiên cứu thuật toán ứng dụng khác lĩnh vực truyền thồng, hệ thống dự đoán nhu cầu người dùng, hệ thống chuẩn đoán khám chữa bệnh y học…chứ không dừng lại hệ thống trực tuyến Chúng ta nghiên cứu đánh giá với liệu online Để làm vấn đề ta phải xây dựng hệ thống trực tuyến trực tiếp giám sát hệ thông để đánh giá kết 44 DANH MỤC TÀI LIỆU THAM KHẢO [1] Alekh Agarwal, Daniel Hsu, Satyen Kale, John Langford, Lihong, Robert E Schapire,“ A Fast and Simple Algorithm for Contextual Bandit”, Presented at the Nineteenth International Conference on World Wide Web, 2014 [2]Alina Beygelzimer, John Langford, Lihong, Lev Reyzin, Robert E Schapire, “Contextual Bandit Algorithmswith Supervised Learning Guarantees”, Jul 2010 [3] H Brendan McMahan, Matthew Streeter, “Tighter Bounds for MultiArmed Bandits with Expert Advice”, Google, Inc.Pittsburgh, PA 15213, USA, 2013 [4] Djallel Bouneffouf,“Exponentiated Gradient LINUCB for Contextual MultiArmed Bandits”, Department of Computer Science, Télécom SudParis, UMR CNRS Samovar, 91011 EvryCedex, France, 2013 [5] Li Zhou, Carnegie Mellon University, “A Survey on Contextual Multiarmed Bandits”,Presented at the Nineteenth International Conference on World Wide Web, 2015 [6] Lihong Li, WeiChu, John Langford, Robert E Schapire, “A ContextualBandit Approach to Personalized News Article Recommentdation”, Presented at the Nineteenth International Conference on World Wide Web, 2010 [7] Li Hong Li, Wei Chu, John Langford, Xuan Hui Wang, “Unbiased Offline Evaluation of Contextual-bandit-based News Article Recommendation Algorithms”, 701 First Ave, Sunnyvale, CA, USA,1 Mar 2012 [8] Miroslav Dudik, Daniel Hsu, Satyen Kale, Nikos Karampatziakis, John Langford, Lev Reyzin, Tong Zhang, “Efficient Optimal Learning for Contextual Bandits ”, 13 Jun 2011 [9] Odalric-Ambrym Maillard, Remi Munos, Gilles Stoltz, “A Finite-Time Analysis of Multi-armed Bandits Problemswith Kullback-Leibler Divergences”, JMLR: Workshop and Conference Proceedings vol, 2010 [10] Tyler Lu, David Pal, Martin Pal, “Showing Relevant Ads via Context Multi-Armed Bandits”, David R Cheriton School of Computer Science University of Waterloo, ON, Canada, 2010 [...]... Agarwal và các cộng sự đã nghiên cứu phương pháp tối ưu thuật toán để đảm bảo tính hiệu quả của bài toán Bandits theo ngữ cảnh c Mục tiêu nghiên cứu Đề tài nhằm thực hiện các mục tiêu sau: Nghiên cứu tổng quan bài toán Bandits theo ngữ cảnh, một số thuật toán liên quan trong việc giải quyết vấn đề bài toán Bandits theo ngữ cảnh và phương pháp tiếp cận của bài toán Bandits theo ngữ cảnh để đánh giá bài toán. .. NGHIÊN CỨU Một số thuật toán trong bài toán Bandits theo ngữ cảnh: Bảng 2.1: Mô tả một số thuật toán liên quan tới bài toán Bandits theo ngữ cảnh (Nguồn: [8]) 1 Đưa về bài toán K- Armed Bandits 1.1 Giới thiệu Giả sử, chúng ta liệt kê tất cả các ngữ cảnh của một quá trình thực nghiện Sau đó, để đơn giản là chúng ta áp dụng một thuật toán Multi- armed bandits chuẩn ứng với mỗi ngữ cảnh đó Tuy nhiên chúng... Multi-armed banditsvà Bandits theo ngữ cảnh gổm 3 phần: -­‐ Giới thiệu về hệ thống trực tuyến -­‐ Bài toán Multi-armed bandits -­‐ Bài toán Bandits theo ngữ cảnh Chương 2: Thực trạng nghiên cứu Tóm tắt chương: Trong chương này chúng tôi sẽ nghiên cứu về lý thuyết các định nghĩa, công thức, định lý và các ký hiệu, của một số thuật toán liên quan tới bài toán Bandits theo ngữ cảnh Việc nghiên cứu các thuât toán. .. thường được áp dụng trên dữ liệu của người dùng tại các website hay các hệ thống trực tuyến Luận văn sẽ tập trung vào nghiên cứu thuật toán Bandits theo ngữ cảnh được đề xuất trong một số bài báo dưới đây: Bài báo ‘A Survey on Contextual Multi-armed Bandits [5] của tác giả Li Zhou định nghĩa bài toán Multiarmed Bandits, bài toán Bandits theo ngữ cảnh và đưa ra một số ràng buộc của bài toán này Bên cạnh... ek} theo U(t) = γt(Z1(t),…, Zk(t), U(0),…, U(t-1)), (1.5) trong đó, Zi(t) = [Xi(0),…, Xi(Ni(t))] Các vấn đề MAB là như sau đây: Xác định một chính sách lập kế hoạch làm sao cho tối ưu k ⎡∞ ⎤ J γ := E ⎢∑ β t ∑ Ri ( X i ( Ni (t )) | Z (0) ⎥ ⎣ t =0 i =1 ⎦ (1.6) 11 3 Bandits theo ngữ cảnh 3.1 Tổng quan bài toán Bandits theo ngữ cảnh Bandits theo ngữ cảnh là bài toán được sử dụng trong máy học, một thuật toán. .. 1.1: theo thuật toán EXP3, một thuật toán non-contextual Multi-armed bandits với từng ngữ cảnh, thì có regret là: RT ≤ 2.63 TNK ln K (2.2) 15 Với phương pháp này, ngữ cảnh chúng ta giả định là ngữ cảnh có thể được liệt kê, mà không phải là trường hợp khi các ngữ cảnh chúng ta đưa ra là liên tục Ngoài ra thuật toán này sử dụng với từng ngữ cảnh một cách độc lập 2 Thuật toán EXP4 2.1 Giới thiệu thuật toán. .. Ngoài ra, bài toán Bandits theo ngữ cảnh này có thể hỗ trợ các lĩnh vực khác như: trong việc chuẩn đoán và đưa ra cách điều trị trong y học, trong việc tìm kiếm thông tin làm sao đưa ra thông tin chính xác nhất cho người dùng… b Tổng quan về vấn đề nghiên cứu Hiện nay trên thế giới đã có rất nhiều nghiên cứu về bài toán Bandits theo ngữ cảnh với nhiều ứng dụng khác nhau Các thuật toán được sử dụng thường... tuần tự theo các phương thức sau: trong mỗi lần thử thực nghiệm, một ngữ cảnh được đưa ra, thuật toán chọn một hành động từ các thiết lập cố định và được biết đến của các hành động có thể, và sau đó là điểm thưởng cho hành động này được tiết lộ; điểm thưởng có thể phụ thuộc vào ngữ cảnh, và có thể thay đổi theo thời gian Có rất nhiều vấn đề mà chúng ta có thể nghiên cứu bài toán Bandits theo ngữ cảnh. .. bước tiếp theo − mi = w qi = qi + ∑ ( x ,t )∈D xi2 p j (1 − p j ), p j = (1 + exp(− w.x)) −1 end for Tiểu kết: Ở trong chương này chúng tôi đưa ra chi tiết về các thuật toán liên quan tới bài toán Bandits theo ngữ cảnh mà chúng tôi đang nghiên cứu, gồm các thuật toán sau:thuật toán đưa về K-armed Bandits, thuật toán EXP4, thuật toán EXP4.P, thuật toán Lin UCB, thuật toán Epoch-Greedy, thuật toán Thompson...2 Bài toán Bandits theo ngữ cảnh là bài toán được mở rộng của Multi-Armed Bandits cho trường hợp xác suất của các đồng xu Pi thay đổi theo ngữ cảnh Ví dụ, một người dùng truy cập vào hệ thống website, nếu người dùng đó là nam thì họ sẽ có nhiều khả năng click vào các mục quảng cáo về xe hơi, nhà cửa hơn Trong khi, người dùng đó là nữ thì họ sẽ có nhiều khả năng click vào các mục quảng ... (1.6) 11 Bandits theo ngữ cảnh 3.1 Tổng quan toán Bandits theo ngữ cảnh Bandits theo ngữ cảnh toán sử dụng máy học, thuật toán làm cho định theo phương thức sau: lần thử thực nghiệm, ngữ cảnh đưa... đề nào?…Một nhìn tổng quan toán Bandits theo ngữ cảnh đưa để trả lời cho câu hỏi Một toán liên quan tới toán Bandits theo ngữ cảnh toán Multi-Armed Bandits (MAB) Bài toán mô tả sau: giả sử, ta... liên quan tới Multi-armed banditsvà Bandits theo ngữ cảnh gổm phần: -­‐ Giới thiệu hệ thống trực tuyến -­‐ Bài toán Multi-armed bandits -­‐ Bài toán Bandits theo ngữ cảnh Chương 2: Thực trạng

Ngày đăng: 17/12/2016, 23:50

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w