Nghiên cứu kỹ thuật phân tích ma trận trong các hệ thống khuyến nghị : Luận văn ThS. Công nghệ thông tin: 60 48 01 03

65 16 0
Nghiên cứu kỹ thuật phân tích ma trận trong các hệ thống khuyến nghị : Luận văn ThS. Công nghệ thông tin: 60 48 01 03

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ HỒNG XUÂN NGHIÊN CỨU KỸ THUẬT PHÂN TÍCH MA TRẬN TRONG CÁC HỆ THỐNG KHUYẾN NGHỊ LUẬN VĂN THẠC SĨ HÀ NỘI - 2014 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ HỒNG XUÂN NGHIÊN CỨU KỸ THUẬT PHÂN TÍCH MA TRẬN TRONG CÁC HỆ THỐNG KHUYẾN NGHỊ Ngành : Công nghệ thông tin Chuyên ngành : Kỹ thuật phần mềm Mã số : 60480103 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Nguyễn Văn Vinh HÀ NỘI - 2014 Lời cam đoan Tôi xin cam đoan luận văn tơi hồn tồn cơng trình nghiên cứu thân Luận văn hồn tồn khơng phải chép cơng trình nghiên cứu người khác, mang tính độc lập định với tất cơng trình nghiên cứu trước Nếu có vi phạm, tơi xin hồn tồn chịu trách nhiệm Hà Nội, ngày 05 tháng 06 năm 2014 Học viên Nguyễn Thị Hồng Xuân Lời cảm ơn Đầu tiên, xin gửi lời cảm ơn sâu sắc đến thầy giáo, cán hướng dẫn khoa học TS Nguyễn Văn Vinh, người thầy tận tình hướng dẫn cho tơi từ buổi tiếp cận với đề tài tốt nghiệp Thầy hướng dẫn, bảo tận tình cho tơi phương pháp nghiên cứu khoa học, cách làm việc khoa học suốt thời gian qua Tôi xin bày tỏ lịng biết ơn đến thầy giáo trường Đại học Công nghệ - Đại học Quốc gia Hà Nội tận tình giảng dạy tạo điều kiện cho tơi học tập, nghiên cứu hồn thành luận văn Tôi xin chân thành cảm ơn bạn Nguyễn Tuấn Khoa, bạn học viên khóa K18 Công nghệ phần mềm giúp đỡ suốt trình học tập, nghiên cứu thực luận văn Cuối cùng, xin gửi lời cảm ơn sâu sắc đến gia đình, đồng nghiệp bạn bè tôi, người động viên, tạo điều kiện cho lao động học tập suốt thời gian qua Hà Nội, ngày 05 tháng 06 năm 2014 Học viên Nguyễn Thị Hồng Xuân Danh mục từ viết tắt STT 10 11 12 13 14 15 Từ viết tắt Tiếng Anh U User P Product I Items V Items IR Information Retrieval IF Information Filtering RS Recommender Systems CF Collaborative Filtering MF Matrix Factorization MMMF Maximum Margin Matrix Factorization SVD Singular Value Decomposition LSI Latent Semantic Indexing SGD Stochastic Gradient Descent DSGD Distributed Stochastic Gradient Descent FPSGD Fast Parrael Stochastic Gradient Descent Tiếng việt Người dùng Sản phẩm Đối tượng Đối tượng Thu thập thông tin Lọc thông tin Hệ thống khuyến nghị Lọc cộng tác Phân tích ma trận Cực đại hóa biên phân tích ma trận Phân giải giá trị đơn Chỉ số ngữ nghĩa ẩn Phương pháp xuống đồi Phương pháp xuống đồi theo cách phân tán Phương pháp xuống đồi theo cách thực nhanh song song Danh mục hình vẽ luận văn Các hình vẽ sử dụng luận văn: Hình 2.1: Trang khuyến nghị Amazon 12 Hình 2.2: Trang khuyến nghị MovieLens 13 Hình 2.3: Mơ hình Bayes 24 Hình 3.1: Thuật tốn SGD khơng gian chiều 30 Hình 3.2: Ví dụ vấn đề locking DSGD 37 Hình 3.3: Phương pháp chọn ngẫu nhiên xếp hạng để cập nhật 37 Hình 3.4: Minh họa cách chia ma trận thành khối 39 Hình 3.5: DoI tập liệu 40 Hình 3.6: Phương pháp thứ tự chọn xếp hạng để cập nhật 40 Hình 3.7: So sánh phương pháp ngẫu nhiên phương pháp thứ tự 41 Hình 3.8: Minh họa phương pháp ngẫu nhiên phần 41 Hình 3.9: So sánh phương pháp thứ tự, ngẫu nhiên ngẫu nhiên phần 42 Hình 4.1: Biểu đồ liệu MovieLens 600K 47 Hình 4.2: Biểu đồ liệu MovieLens với tham số k = γ = 0.003 47 Hình 4.3: Biểu đồ liệu MovieLens với tham số k = 10 γ = 0.003 48 Hình 4.4: Biểu đồ liệu MovieLens với tham số k = 20 γ = 0.003 49 Hình 4.5: Biểu đồ liệu MovieLens với tham số k = 50 γ = 0.003 49 Hình 4.5: Biểu đồ liệu MovieLens với tham số k = 100 γ = 0.003 50 Mở đầu Cùng với nhu cầu tìm kiếm thông tin Internet ngày trở nên phổ biến với lượng lớn thông tin đưa lên ngày; nhu cầu đặt thông tin nên hay không nên đọc, chia sẻ cho đối tượng người sử dụng khác Internet? Thơng tin có khả đánh giá cao đối tượng người sử dụng? Và làm để xác định thơng tin có khả người dùng đánh giá cao hay thấp? Để giải vấn đề có nhiều nghiên cứu thực lĩnh vực khác nhau, với đối tượng thông tin khác Kết nghiên cứu nhằm hỗ trợ đưa Hệ thống khuyến nghị (Recommender Systems - RS) phù hợp Hệ thống khuyến nghị chương trình, tập hợp kỹ thuật nhằm đưa khuyến nghị đối tượng cho người dùng có khả sử dụng nhiều Quá trình đưa khuyến nghị chuỗi trình đưa định cho nhiều loại đối tượng Trong năm gần đây, hệ thống khuyến nghị hỗ trợ nhiều cho người dùng lựa chọn thơng tin thích hợp Hệ thống ứng dụng nhiều lĩnh vực như: thương mại điện tử (Amazon, Netflic, Ebay); giải trí (MovieLens, Last.fm, Film-Conseil); tin tức trực tuyến (NetNews, Yahoo, Google); Hệ thống khuyến nghị phát triển dựa vào cách dự đoán, ước lượng xếp hạng (rating) cho liệu cách sử dụng học máy, lý thuyết xấp xỉ, thuật toán xác suất thống kê, Từ đó, đưa thông tin phù hợp số thơng tin khổng lồ chưa có trật tự Hệ thống sử dụng kỹ thuật lọc để chọn loại thông tin đặc trưng nhằm hiển thị phần tử thích hợp với sở thích người dùng Nhìn chung, kỹ thuật lọc hệ khuyến nghị phát triển hai cách tiếp cận lọc nội dung (content filtering) lọc cộng tác (collaborative filtering) Hiện nay, phần lớn hệ thống khuyến nghị phát triển dựa vào lọc cộng tác dựa hành vi khứ người dùng như: lịch sử giao dịch, đánh giá sản phẩm, thời gian xem mục tin, ; đặc biệt không cần phải tạo hồ sơ tường minh cho người dùng Có hai nhánh nghiên cứu lọc cộng tác là: tiếp cận láng giềng (neighborhood approach) mô hình nhân tố ẩn (latent factor models) Mơ hình nhân tố ẩn có dạng tương tự phương pháp phân tích giá trị đơn nhằm chuyển đổi sản phẩm (items) người dùng (users) vào không gian ẩn, chúng có khả so sánh liệu trực tiếp với Chính nhờ vào khả biểu diễn so sánh, tiếp cận có xu hướng cung cấp kết dự đoán cao mơ hình láng vi giềng Vì luận văn này, tơi xin trình bày mơ hình nhân tố ẩn cho hệ thống khuyến nghị Cụ thể hơn, tơi tập trung nghiên cứu kĩ thuật phân tích ma trận (một phương pháp hiệu cho mơ hình nhân tố ẩn) ứng dụng hệ thống khuyến nghị Trong phạm vi luận văn, nghiên cứu phân tích mơ hình tồn tại, cụ thể mơ hình xác suất kết hợp với ma trận nhân tố cho hệ khuyến nghị sử dụng dự đốn học máy Nội dung luận văn chia làm chương: Chương 1: Tổng quan hệ khuyến nghị (Recommender System) Chương 2: Phương pháp lọc cộng tác Chương 3: Kĩ thuật phân tích ma trận hệ khuyến nghị Chương 4: Thực nghiệm demo Cụ thể, trước vào xem xét trực tiếp mơ hình, chương 1, tìm hiểu chung hệ khuyến nghị, phân tích số chức hệ khuyến nghị, phương pháp khai phá liệu sử dụng, hướng tiếp cận lọc dựa vào nội dung, lọc cộng tác Trong chương 2, nghiên cứu sâu lọc cộng tác, phương pháp tiếp cận lọc cộng tác Chương giới thiệu kĩ thuật phân tích ma trận cho hệ khuyến nghị Chương đưa số ví dụ tính tốn đánh giá cụ thể để so sánh kết thực nghiệm với mơ hình lý thuyết nêu chương Mục lục Lời Cam Đoan i Lời Cảm Ơn ii Danh mục từ viết tắt iii Danh mục hình vẽ luận văn iv Mở đầu v Tổng quan hệ thống khuyến nghị 1.1 Mơ hình hệ thống khuyến nghị 1.1.1 Các khái niệm chung hệ thống khuyến nghị 1.1.2 Phát biểu toán 1.1.3 Các chức hệ thống khuyến nghị 1.1.4 Ứng dụng hệ thống khuyến nghị 1.2 Các phương pháp khai phá liệu sử dụng 1.2.1 Khuyến nghị dựa nội dung (Content-Based Recommendation System) 1.2.2 Khuyến nghị lọc cộng tác (Collaborative Filtering Recomnendation System) 1.2.3 Kết hợp phương pháp (Hybrid): 1 6 11 11 13 14 17 19 20 20 21 22 22 23 Phương pháp lọc cộng tác 2.1 Giới thiệu lọc cộng tác 2.1.1 Ưu điểm lọc cộng tác 2.1.2 Các hình thức tiếp cận 2.2 Lọc cộng tác dựa nhớ 2.2.1 Tính toán độ tương tự 2.2.2 Tính tốn dự đốn khuyến nghị 2.3 Lọc cộng tác dựa mơ hình 2.4 Các cách tiếp cận liên quan hệ thống khuyến nghị 2.4.1 Ước lượng sở (Baseline Estimates) 2.4.2 Mơ hình láng giềng (Neighborhood models) 2.4.3 Mơ hình nhân tố ẩn (Latent factor models) MỤC LỤC 2.5 Khó khăn thách thức 2.5.1 Sự thưa thớt liệu 2.5.2 Khả mở rộng 2.5.3 Tính đồng nghĩa 2.5.4 Sự mập mờ 2.5.5 Sự công viii lọc cộng tác Kĩ thuật phân tích ma trận cho hệ thống khuyến nghị 3.1 Kỹ thuật phân tích ma trận đơn giản 3.2 Thuật toán SGD 3.2.1 Cơ sở lý thuyết 3.2.2 Phát biểu toán 3.2.3 Thuật toán SGD dùng cho phân tích ma trận 3.3 Thuật toán DSGD 3.3.1 Tính tráo đổi (interchangeability) 3.3.2 Trường hợp đơn giản 3.3.3 Trường hợp tổng quát 3.4 Thuật toán FPSGD 3.4.1 Vấn đề locking 3.4.2 Gián đoạn nhớ 3.4.3 Giải vấn đề Thực nghiệm đánh giá 4.1 Cấu hình thử nghiệm 4.1.1 Dữ liệu thử nghiệm 4.1.2 Thực thử nghiệm 4.2 Phân tích kết đánh giá 4.2.1 Phân tích kết 4.2.2 Nhận xét đánh giá 23 24 25 25 26 26 28 28 30 30 31 31 32 32 33 35 36 36 37 38 44 44 44 45 47 47 50 Kết luận 52 Tài liệu tham khảo 53 3.4 Thuật tốn FPSGD 41 Hình 3.7: So sánh phương pháp ngẫu nhiên phương pháp thứ tự với tập liệu Yahoo!Music Ở xét luồng sử dụng Thực nghiệm cho thấy truy cập ngẫu nhiên liệu/biến có ích cho hội tụ Đặc tính quan sát kỹ thuật tối ưu hóa có liên quan Ví dụ, kết hợp phương pháp để giải vấn đề tối ưu hóa phương pháp ngẫu nhiên nhanh xếp để cập nhật biến góp phần cải thiện đáng kể tốc độ hội tụ Từ liên quan liệu liên tục tốc độ hội tụ FPSGD, tác giả tài liệu [11] đề xuất phương pháp ngẫu nhiên phần dùng để chọn xếp hạng khối có trật tự, nhiên việc lựa chọn khối ngẫu nhiên Mặc dù lập lịch gần với việc xác định khối với số truy cập nhỏ nhất, tính ngẫu nhiên tăng lên phân chia R thành nhiều khối Sau đó, thời điểm vài khối xử lý thời điểm, lịch trình chọn ngẫu nhiên số Hình 3.8 minh họa hoạt động phương pháp ngẫu nhiên phần Trình tự cập nhật tổng thể user by user hay item by item nên số ngẫu nhiên chọn thành cơng Hình 3.8: Minh họa phương pháp ngẫu nhiên phần Mỗi màu khác luồng khác Chấm tô màu khối khởi tạo luồng Hình 3.9 mở rộng so sánh thời gian chạy hình 3.6 bao gồm FPSGD Chúng ta thấy FPSGD có hội tụ nhanh RMSE tốt 3.4 Thuật tốn FPSGD 42 Hình 3.9: So sánh phương pháp thứ tự, phương pháp ngẫu nhiên ngẫu nhiên phần tập liệu Yahoo!Music Ở xét luồng sử dụng Một số phương pháp có liên quan nghiên cứu, chúng cho thấy hội tụ phương pháp xếp tồi phương pháp ngẫu nhiên bị điều kiện huấn luyện Quan sát đối lập với kết thực nghiệm; lý việc xét RMSE tập liệu kiểm tra chúng bị huấn luyện Có vài chi tiết cần lưu ý sau: Chúng ta biết FPSGD áp dụng xáo trộn ngẫu nhiên để tránh số lượng không cân cập nhật khối Tuy nhiên, sau áp dụng xáo trộn ngẫu nhiên chia R thành khối, xếp hạng khối không xếp theo người sử dụng item Áp dụng phương pháp ngẫu nhiên phần phải xếp danh tính người dùng item trước xử lý khối phương pháp thứ tự áp dụng bị khóa (block) trước Tổng quan FPSGD Thuật tốn 3: tiến trình tổng thể FPSGD 1: trộn ngẫu nhiên R 2: chia R thành tập B với (s + 1) × (s + 1) khối 3: thứ tự khối theo định dạng người dùng (item) 4: xây dựng lập lịch 5: khởi động s luồng làm việc 6: chờ tổng số cập nhật đạt giá trị người dùng (item) xác định Đầu tiên, trộn ngẫu nhiên R để tránh cân liệu Sau chia R thành (s + 1) × (s + 1) khối thứ tự khối theo định dạng người dùng (hay item) phương pháp ngẫu nhiên phần áp dụng Cuối tạo lập lịch khởi động s luồng làm việc Sau số lượng yêu cầu lặp đến đạt thông báo lên lịch để ngăn chặn tất luồng làm việc Thuật toán 4: lập lịch cho FPSGD 1: procedur:e GET_JOB 2: bx = N U LL 3: for all b thuộc B 4: if b không rỗi then 5: tiếp tục 3.4 Thuật toán FPSGD 43 6: else if b.ut ≤ bx ut then 7: bx = b 8: end if 9: end for 10: return bx 11: end procedure 12: procedure PUT_JOB 13: b.ut = b.ut + 14: end procedure Thuật toán 5: Luồng làm việc FPSGD 1: while true 2: lấy khối b từ schedule → get_job() 3: xử lý phần tử thứ tự khối 4: scheduler → put_job(b) 5: end while Mã giả lập lịch luồng làm việc thể tương ứng thuật toán Mỗi luồng làm việc liên tục lấy khối từ lập lịch việc gọi hàm get_job lập lịch trả khối đáp ứng tiêu chí đề cập Sau luồng làm việc lấy khối xử lý xếp hạng khối theo kiểu thứ tự Cuối cùng, luồng gọi hàm put_job lập lịch để cập nhật số thời lần mà khối xử lý Chương Thực nghiệm đánh giá 4.1 4.1.1 Cấu hình thử nghiệm Dữ liệu thử nghiệm Mơ hình đề xuất tiến hành thử nghiệm tập liệu liệu MovieLens MovieLens hệ thống khuyến nghị phổ biến, trang web cộng đồng mạng gợi ý phim cho người dùng xem, dựa sở thích phim họ sử dụng phương pháp lọc cộng tác Trang web dự án GroupLens nghiên cứu, phịng thí nghiệm nghiên cứu Khoa Kỹ thuật Khoa học Máy tính Đại học Minnesota tạo MovieLens vào năm 1997 Mục tiêu cuối trang web thu thập liệu nghiên cứu hệ thống khuyến nghị cá nhân hóa Trang web MovieLens gợi ý vào người sử dụng cung cấp cho trang web, bao gồm phim người dùng thích, từ người dùng khác có thị hiếu tương tự thích Khi người dùng tham gia vào trang web, họ chọn ngẫu nhiên số phim phải xếp hạng cho phim từ đến (5 tốt nhất) Sau hệ thống tiến hành so sánh xếp hạng người sử dụng với người khác có thị hiếu cho phù hợp với gợi ý từ phim mà người dùng chưa thấy Khi người dùng tìm kiếm phim cụ thể trang web, hệ thống trả dự đốn họ tin người dùng đánh giá phim sau xem Trang web cho thấy người sử dụng xếp hạng nhiều phim mà họ nhìn thấy tốt khuyến nghị đưa xác hơn, hệ thống có mẫu tốt thị hiếu điện ảnh người dùng Tập liệu MovieLen thử nghiệm gồm 6000 người dùng 4000 phim với 600000 đánh giá (ratings) Để tiến hành thử nghiệm mơ hình, tiến hành việc chọn ngẫu nhiên tập liệu MovieLen 500 người dùng làm liệu huấn luyện, chọn ngẫu nhiên số lại 150 người dùng làm liệu kiểm tra Hệ thống liệu MovieLens cho cách biểu diễn mối liên hệ người dùng, phim xếp hạng (ratings) sau: 4.1 Cấu hình thử nghiệm 45 Trong đó, User - người dùng; Item - phim Rating xếp hạng Với mối liên hệ người dùng - phim tạo nên ma trận m × n 4.1.2 Thực thử nghiệm Dưới yêu cầu cấu hình thử nghiệm: Cấu hình máy: Máy tính Laptop CORE i3, RAM 6GB Môi trường thử nghiệm: Linux Phần mềm: Thuật tốn DSGD, FDSGD cài đặt ngơn ngữ C, biểu đồ so sánh vẽ ngôn ngữ R Dữ liệu: - Lập trình C với gói liệu LIBMF: http://www.csie.ntu.edu.tw/∼cjlin/libmf/ - Các hướng dẫn: http://www.csie.ntu.edu.tw/∼cjlin/papers/libmf.pdf Các chuyển đổi thành ma trận (convert) thuật toán huấn luyện (training), kết hợp liệu thực ngôn ngữ C Biểu đồ so sánh RMSE thuật tốn DSGD FPSGD thực ngơn ngữ R Dưới lệnh chạy liệu R: - Copy thư mục data vào thư mục chạy thử nghiệm - Mở R lên, vào tab menu, kích vào File/Change dir , trỏ đến thư mục data 4.1 Cấu hình thử nghiệm 46 Cách đặt tên file data: - testk20-003.txt => liệu DSGD, đó, k = 20, γ = 0.003 - test-fpsgd-20-003.txt => liệu FPSGD, đó, k = 20, γ = 0.003 Trong file liệu DSGD FPSGD gồm có cột: cột số thời gian, cột RMSE; dòng bước lặp - số bước lặp lần cập nhật liệu cho ma trận (ở cho bước lặp chạy 100) k số nhân tố ẩn (trong trường hợp thực nghiệm với liệu phim ảnh MovieLens, k số tiêu chí đánh giá phim, ví dụ k = 3, ta có tiêu chí đánh giá: thể loại phim, đạo diễn, diễn viên) γ tỉ lệ học máy (learning rate) thuật toán DSGD FPSGD (tỉ lệ học máy chọn 0.003 kết đẹp với nhiều nghiên cứu thực nghiệm chọn tỉ lệ Mục tiêu tỉ lệ học cần chọn ngẫu nhiên) Mô tả tập liệu huấn luyện: Là thư mục chứa file liệu cho phim Dòng file chứa ID phim sau dấu hai chấm Dòng tương ứng với đánh giá khách hàng ngày đánh giá theo định dạng sau: CustomerID, Rating, Date - MovieID: xếp - CustomerID: xếp có khoảng trống với user tương ứng - Rating: đánh giá từ đến - Date: có định dạng YYYY-MM-DD Mô tả file liệu phim ảnh: Thông tin phim lưu file "movie-titles.txt" theo định dạng: MovieID, YearOfRelease, Title - MovieID: tương ứng với ID phim thực tế - YearOfRelease: dao động từ 1890 - 2005, tương ứng với năm phát hành DVD - Title: tiêu đề phim, tiêu đề tiếng Anh 4.2 Phân tích kết đánh giá 4.2 4.2.1 47 Phân tích kết đánh giá Phân tích kết Hình 4.1: Biểu đồ liệu MovieLens 600K Trong biểu đồ trên, ta thấy có cột so sánh gồm RMSE Time(s), đường màu đỏ (red) biểu diễn thuật toán DSGD, đường màu xanh (green) đại diện cho thuật toán FPSGD Biểu đồ thực so sánh với tham số nhân tố ẩn k tỉ lệ học máy γ Dưới số kết thu với tham số k khác tỉ lệ học máy γ = 0.003: Hình 4.2: Biểu đồ liệu MovieLens với tham số k = γ = 0.003 với đoạn mã chạy R là: 4.2 Phân tích kết đánh giá 48 - Với k = 5: + Đối với DSGD: Qua 100 bước lặp, bước cuối dừng 2.92 s với RMSE = 0.8231 + Đối với FPSGD: Qua 100 bước lặp, bước cuối dừng 0.93 s với RMSE = 0.8218 Hình 4.3: Biểu đồ liệu MovieLens với k = 10 γ = 0.003 - Với k = 10: + Đối với DSGD: Qua 100 bước lặp, bước cuối dừng 4.64 s với RMSE = 0.7900 + Đối với FPSGD: Qua 100 bước lặp, bước cuối dừng 1.07 s với RMSE = 0.7835 4.2 Phân tích kết đánh giá 49 Hình 4.4: Biểu đồ liệu MovieLens với k = 20 γ = 0.003 - Với k = 20: + Đối với DSGD: Qua 100 bước lặp, bước cuối dừng 3.83 s với RMSE = 0.7582 + Đối với FPSGD: Qua 100 bước lặp, bước cuối dừng 1.23 s với RMSE = 0.7556 Hình 4.5: Biểu đồ liệu MovieLens với k = 50 γ = 0.003 - Với k = 50: + Đối với DSGD: Qua 100 bước lặp, bước cuối dừng 3.83 s với RMSE = 0.7124 + Đối với FPSGD: Qua 100 bước lặp, bước cuối dừng 1.96 s với RMSE = 0.7118 4.2 Phân tích kết đánh giá 50 Hình 4.6: Biểu đồ liệu MovieLens với k = 100 γ = 0.003 - Với k = 100: + Đối với DSGD: Qua 100 bước lặp, bước cuối dừng 5.71 s với RMSE = 0.6761 + Đối với FPSGD: Qua 100 bước lặp, bước cuối dừng 3.59 s với RMSE = 0.6451 4.2.2 Nhận xét đánh giá Nhìn vào kết trên, ta có số đánh giá sau: - Thuật tốn FPSGD (đường màu xanh) có số RMSE tiệm cận nhanh thuật toán DSGD (đường màu đỏ) FPSGD có số RMSE nhỏ DSGD Điều cho thấy, thuật toán FPSGD thực nhanh tốt so với thuật toán DSGD - Thời gian chạy lâu RMSE tiệm cận nhanh Có thể nói, thuật tốn có độ phức tạp phụ thuộc thời gian - Với k lớn RMSE nhỏ Vì vậy, việc phân tích ma trận với nhân tố ẩn k lớn dự đốn xác Kết thực nghiệm trình bày so sánh mơ hình trực quan hiệu cho phương pháp phân tích ma trận ứng dụng cho hệ thống khuyến nghị Mô hình biểu diễn đồ thị mối quan hệ thuật toán DSGD FPSGD với đặc trưng tương quan Các đánh giá nhằm kế thừa thuật tốn đánh giá tìm kiếm hiệu cho người dùng thông tin sản phẩm, nội dung thông tin phù hợp với người dùng Kết thử nghiệm liệu MovieLens cho thấy mơ hình cho kết tốt phương pháp lọc cộng tác dựa độ tương quan lọc theo nội dung túy Đặc biệt, mơ hình FPSGD thực hiệu trường hợp có nhiều liệu đánh giá 4.2 Phân tích kết đánh giá 51 Ngồi ra, phương pháp thực nghiệm thực liệu lớn liệu Netflix với 100 triệu đánh giá (ratings) từ 480000 người dùng ngẫu nhiên 17000 tiêu đề phim Bộ liệu xây dựng nhằm hỗ trợ người tham gia giải thưởng Netflix Nó thu thập vào tháng 10 năm 1998 tháng 12 năm 2005, phản ánh phân phối tất xếp hạng đánh giá nhận giai đoạn Kết luận Kết đạt được: Trong trình thực luận văn, học viên đạt kết sau: - Nghiên cứu tổng quan hệ khuyến nghị - Nghiên cứu tổng quan phương pháp lọc cộng tác - Phân tích số kĩ thuật phân tích ma trận (một kĩ thuật phương pháp lọc cộng tác) ứng dụng hệ khuyến nghị - Thử nghiệm đánh giá với liệu phim ảnh (MovieLens) Định hướng phát triển luận văn: - Luận văn phát triển theo hướng nghiên cứu kĩ thuật phân tích ma trận khác cho hệ khuyến nghị như: phương pháp phân tích ma trận sử dụng chuỗi Markov Monte Carlo, áp dụng phân phối xác suất phân tích ma trận, - Cài đặt so sánh thuật toán nhằm tối ưu RMSE, thử nghiệm liệu lớn Netflix - Thử nghiệm mơ hình với việc xây dựng hệ thống khuyến nghị thương mại điện tử cụ thể Tài liệu tham khảo [1] Francesco Ricci, Lior Rokach, Bracha Shapira, Paul B Kantor, Recommender Systems Handbook, Springer, 2011 [2] Xiaoyuan Su, Taghi M Khoshgoftaar, A Survey of Collaborative Filtering Techniques, Department of Computer Science and Engineering, Florida Atlantic University, 2009 [3] Michael D.Ekstrand, John T Riedl, Joseph A Konstan, Collaborative Filtering Recommender Systems, University of Minnesota, 2011 [4] Yehuda Koren, Robert Bell and Chris Volinsky, Matrix Factorization Techniques For Recommender Systems, 2009 [5] Shameem Ahamed Puthiya Parambath, Matrix Factorization Methods for Recommender Systems, Master’s Thesis in Computing Science, 2013 [6] Julia Baum, Cynthia Cook, Michael Curtis, Joshua Edgerton, and Scott Rabidoux, Parallelization of Matrix Factorization for Recommender Systems, Worcester Polytechnic Institute, Catawba College University of Maryland, Baltimore County, Cornell University, Wake Forest University, AT& T Labs - Research, 2011 [7] Hsiang-Fu Yu, Cho-Jui Hsieh, Si Si, and Inderjit S Dhillon, Parallel Matrix Factorization for Recommender Systems, Department of Computer Science, The University of Texa at Austin, Austin, 2013 [8] Y Koren, R Bell, and C Volinsky, Matrix Factorization Techniques for Recommender Systems, IEEE Computer, 2009 [9] Balabanovic, M and Y Shoham Fab: Content-based, collaborative recommendation, Communications of the ACM, 40(3):66-72,1997 [10] R Gemulla, P J Haas, E Nijkamp, and Y Sismanis, Large - scale Matrix Factorization with Distributed Stochastic Gradient Descent, Technical Report RJ10481, IBM Almaden Research Center, San Jose, CA, 2011, 2013 [11] Wei-Sheng Chin, Yong Zhuang, Yu-chin Juan, and Chih-Jen Lin A Fast Parallel SGD for Matrix Factorization in Shared Memory Systems, Dept of Computer Science, National Taiwan University Taipei 106, Taiwan, 2013 TÀI LIỆU THAM KHẢO 54 [12] T Hofmann, Latent Semantic Models for Collaborative Filtering, ACM Trans Inf Syst., 22(1):89-115, 2004 [13] C Teflioudi, F Makari, and R Gemulla, Distributed Matrix Completion, In ICDM, pages 655-664, 2012 [14] H J Kushner and G Yin, Stochastic Approximation and Recursive Algorithms and Applications, Springer, 2nd edition, 2003 [15] Soboroff, I and C Nicholas, Combining content and collaboration in text filtering, In 43 IJCAI’99 Workshop,Machine Learning for Infomation Filtering, 1999 [16] Basu, C., H Hirsh and W Cohen, Using social and content - based information in recommendation, In Recommender Systems Papers from 1998 Workshop Technical Report WS-98-08 AAAI Press, 1998 [17] Popescul, A., L H Ungar, D M Pennock, and S Lawrence, Probabilistic Models for Unified Collaborative and Content-Based Recommendation in Sparse-Data Environments, In Proc of the 17th Conf on Uncertanty in Artificial Intelligence, Seattle, WA, 2001 [18] Herlocker, J L., Konstan, J A., Borchers, A., Andriedl, An algorithmic framwork for performing collaborative filtering, InProceedings of the 22nd Annual International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR’99) ACM, New York, 1999 [19] G.Linden, B Smith, and J York, Amazon.com recommendations: Item - item collaborative filtering, IEEE Internet Comput, 2003 [20] Bell, R.M, and Koren, Y 2007b, Scalable collaborative filtering with jointly derived neighborhood interpolation weights, In Proceedings of the IEEE International Conference on Data Mining (ICDM) IEEE Computer Society, 43 - 52 [21] Gasbor Takács, István Pilászy, Bottyán Németh Major components of the Gravity Recommendation System, Volume 9, Issue 2, 2007 [22] Gasbor Takács, István Pilászy, Bottyán Nesmeeth, Investigation of Various Matrix Factorization Methods for Large Recommender Systems, 2nd Netflix-KDD Workshop, August 24, 2008 [23] Ansari, A., S Essegaier, and R Kohli, Internet recommendations systems, Journal of Marketing Research, pp 363-375, 2000 [24] Markus Weimer, Alexandros Karatzoglou, Alex Smola, Improving maximum margin matrix factorization, Mach Learn, 2008 TÀI LIỆU THAM KHẢO 55 [25] Peter Forbes, Mu Zhu, Content-boosted Matrix Factorization for Recommender Systems: Experiments with Recipe Recommendation, RecSys’11, October 23-27, 2011, Chicago, Illinois, USA [26] http://www.amazon.com [27] https://www.netflix.com [28] https://movielens.umn.edu [29] http://www.netperceptions.com

Ngày đăng: 23/09/2020, 22:02

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan