Phương pháp thừa số hóa ma trận một nhánh nghiên cứu trong phương pháp lọc cộng tác [4] nhanh chóng trở thành một xu hướng nghiên cứu mới, mang lại nhiều thành tựu vượt trội và cho đến n
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINH
Vy Vân
NÂNG CAO HIỆU NĂNG HỆ TƯ VẤN
DỰA TRÊN THỪA SỐ HÓA MA TRẬN
LUẬN VĂN THẠC SĨ MÁY TÍNH
Thành phố Hồ Chí Minh – 2018
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINH
Vy Vân
NÂNG CAO HIỆU NĂNG HỆ TƯ VẤN
DỰA TRÊN THỪA SỐ HÓA MA TRẬN
Chuyên ngành : Khoa Học Máy Tính
LUẬN VĂN THẠC SĨ MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS HỒ BẢO QUỐC
Thành phố Hồ Chí Minh - 2018
Trang 3MỤC LỤC
Lời cam đoan
Lời cám ơn
Danh mục thuật ngữ viết tắt
Danh mục các bảng
Danh mục hình vẽ
Chương 1 GIỚI THIỆU 1
1.1 Giới thiệu 1
1.2 Mục tiêu của luận văn 4
1.3 Nội dung thực hiện 5
1.4 Giới hạn luận văn 6
1.5 Tóm tắt những đóng góp của luận văn 6
1.5.1 Đóng góp về mặt khoa học 6
1.5.2 Đóng góp về mặt thực tiễn 7
1.6 Tổ chức luận văn 7
Chương 2 CÁC HỆ THỐNG TƯ VẤN 9
2.1 Tổng quan về hệ thống tư vấn 9
2.2 Các hệ thống tư vấn lọc cộng tác 15
2.2.1 Phương pháp lân cận gần nhất 16
2.2.2 Các mô hình thống kê ngẫu nhiên (Statistical Random Effects Models) 17
2.2.3 Phương pháp thừa số hóa ma trận 19
2.2.4 Bài toán thừa số hóa ma trận không âm 26
Chương 3 TƯ VẤN THÔNG TIN DỰA TRÊN THỪA SỐ HÓA MA TRẬN KHÔNG ÂM 28
3.1 Cách tiếp cận 28
3.2 Các thuật toán đề xuất cho hệ thống 31
3.2.1 Khởi tạo giá trị ban đầu cho hai ma trận thành phần 31
3.2.2 Hàm chi phí cho bài toán thừa số hóa ma trận không âm 33
3.2.3 Thuật toán đề xuất nâng cao hiệu năng cho bài toán thừa số hóa ma trận không âm 40
Trang 4Chương 4 KẾT QUẢ THỰC NGHIỆM 43
4.1 Qui trình thực nghiệm 43
4.1.1 Tập dữ liệu Dataset 44
4.1.2 Các thước đo đánh giá 44
4.2 Kết quả thực nghiệm 45
4.2.1 Độ chính xác 46
4.2.2 Độ hội tụ 47
4.2.3 Thời gian thực thi 48
Chương 5 TỔNG KẾT 50
5.1 Kết quả đạt được 50
5.1.1 Về mặt lý thuyết 50
5.1.2 Về mặt thực nghiệm 51
5.2 Ưu và nhược điểm của phương pháp đề xuất 52
5.3 Hướng mở rộng trong tương lai 52
TÀI LIỆU THAM KHẢO 54
Trang 5LỜI CAM ĐOAN
Học viên thực hiện
Vy Vân
Trang 6LỜI CÁM ƠN
Đầu tiên, tôi xin bày tỏ lòng biết ơn chân thành và sâu sắc nhất đến PGS.TS Hồ Bảo Quốc – giảng viên hướng dẫn luận văn Trong quá trình làm luận văn, Thầy đã luôn hỗ trợ, động viên, hết lòng hướng dẫn tôi hoàn thành luận văn này
Tôi xin gửi lời cảm ơn chân thành đến Quý Thầy Cô − Trường Đại học Sư Phạm TP HCM đã truyền đạt những kiến thức quý báu cho tôi trong quá trình học tập Đồng thời, tôi xin gửi lời cảm ơn chân thành đến các bạn đồng nghiệp Trường THPT chuyên Lương Thế Vinh – Đồng Nai đã hỗ trợ và tạo điều kiện cho tôi trong thời gian qua
Cuối cùng, tôi xin bày tỏ lòng biết ơn sâu sắc đối với gia đình, những người sát cánh cùng tôi trong suốt quá trình học tập cũng như thực hiện luận văn
TP HCM, tháng 09 năm 2018 Học viên thực hiện
Vy Vân
Trang 7DANH MỤC THUẬT NGỮ VIẾT TẮT
Collaborative Filtering
Content-based
Frobenius - Kullback Leibler - Itakura Saito
Latent Semantic Indexing
Mean Absolute Error
Mean Measure of Divergence
Method of Moments
Non-negative Matrix Factorization
Pearson Correlation Coefficient
Principal Component Analysis
Root Mean Square Error
Singular Value Decomposition
Stochastic Gradient Descent
CF
CB FKI LSI
MF MAE MMD
MM NMF PCC
PJ PCA
RS RMSE SVD SGD
Trang 9DANH MỤC HÌNH VẼ
Hình 2.1 Một số hướng nghiên cứu tiếp cận của hệ thống tư vấn 10
Hình 2.2 Ma trận đánh giá được phân tích thành 2 ma trận low-rank
U và I 21
Hình 3.1 Kiến trúc NMF cho phương pháp đề xuất 30
tương ứng 35
Hình 4.1 Minh họa độ hội tụ của phương pháp đề xuất và một số
phương pháp khác 48
Trang 10Chương 1 GIỚI THIỆU 1.1 Giới thiệu
Đầu tiên, ý tưởng đơn giản về hệ thống tư vấn xuất hiện vào đầu những
năm 1990 nhằm khai thác ý kiến của hàng triệu người dùng (users) trực tuyến với mong muốn giúp users dễ dàng tìm kiếm những nội dung hữu ích và thú vị
hơn [1] Trải qua thực tế, ý tưởng đơn giản ban đầu này đã chứng minh tính hiệu quả
Hệ thống tư vấn thu thập thông tin về sở thích của users cho tập hợp các
items (ví dụ: phim, bài hát, sách, truyện cười, tiện ích, ứng dụng, trang web,
điểm đến du lịch và tài liệu học trực tuyến) Thông tin có thể được thể hiện một
cách rõ ràng (thường bằng cách thu thập các xếp hạng đánh giá của users) hoặc ngầm định (thường là theo dõi hành vi của users, chẳng hạn như bài hát được nghe, tải xuống ứng dụng, truy cập trang web và đọc sách)
Hệ thống tư vấn có thể sử dụng các thông tin trong hồ sơ người dùng (như tuổi tác, quốc tịch, giới tính), thông tin xã hội (như người theo dõi, theo dõi và
bài đăng) thường được sử dụng trong hệ thống website, mạng xã hội Một xu hướng khác cũng đang được quan tâm, đó là sử dụng thông tin từ Internet (ví dụ: vị trí GPS, RFID, tín hiệu sức khỏe theo thời gian thực)
Hiện nay, hệ thống tư vấn trên Internet đã trở nên khá phổ biến, điều này
đã tạo điều kiện cho việc áp dụng hệ thống tư vấn trong các lĩnh vực đa dạng khác nhau Các nghiên cứu thường tập trung vào tư vấn giới thiệu phim, tư vấn
âm nhạc, chương trình truyền hình, sách, tài liệu, e-learning, thương mại điện
tử và tìm kiếm thông tin [2]
Thông qua các nguồn thông tin khác nhau từ users, hệ thống tư vấn sử
dụng các thông tin đó để cung cấp các dự đoán và đưa ra đề xuất về hàng hóa
Trang 11hay dịch vụ (items) tư vấn trở lại cho users Mục tiêu của hệ thống tư vấn chính
là đảm bảo độ chính xác (tư vấn đúng những gì users cần hoặc mong muốn), mới lạ (tư vấn những thứ users chưa từng có kinh nghiệm nhưng gây được sự thích thú đối với users), phân tán (tư vấn phong phú nhiều lĩnh vực) và ổn định
trong các tư vấn Các phương pháp lọc cộng tác đóng một vai trò quan trọng trong tư vấn, mặc dù phương pháp này thường được sử dụng cùng với các kỹ thuật khác như các kỹ thuật dựa trên nội dung, dựa trên tri thức hoặc xã hội Các loại lọc thông tin được sử dụng nhiều nhất vào thời kì đầu của hệ thống tư vấn là cộng tác, dựa trên nội dung và hồ sơ người dùng [3] Ngoài ra,
hệ thống tư vấn không chỉ dựa trên lọc cộng tác mà còn dựa trên cơ sở tri thức
về users và items như Burke và cộng sự năm 1996 đã xây dựng hệ thống
FindMe, hệ thống này đã chứng minh tính khả thi và tính hiệu quả của các hệ
thống tư vấn và tạo ra sự khích lệ đáng kể cho nghiên cứu và thực hiện ở lĩnh vực thương mại
Sự phát triển của hệ thống tư vấn đã cho thấy tầm quan trọng của kỹ thuật lai của hệ thống tư vấn, kết hợp các kỹ thuật khác nhau để có được những ưu điểm của mỗi kỹ thuật Thậm chí người ta còn mở các cuộc khảo sát tập trung vào hệ thống tư vấn lai hóa Bên cạnh đó thương mại hóa diễn ra với tốc độ nhanh chóng đi cùng các hệ thống tư vấn nổi lên trong một môi trường kinh
doanh Internet mở rộng Để thành công, các công ty tư vấn phải áp dụng lý
thuyết hệ thống tư vấn sang thực tiễn để chứng minh được những dự đoán chính xác, có thể cung cấp các tư vấn có giá trị - thường dưới hình thức chọn một vài
items cụ thể để đề xuất tư vấn cho các giao dịch mua thêm (ví dụ như khi khách
hàng mua máy laptop, hệ thống sẽ tư vấn thêm các sản phẩm khác như chuột, bàn phím rời, USB, )
Trong thực tế, các hệ thống tư vấn phải làm việc ở quy mô lớn hơn quy
mô nghiên cứu trong phòng thí nghiệm, tức là phải xử lý hàng triệu users và
Trang 12items với hàng trăm hoặc hàng ngàn giao dịch mỗi giây Thách thức mới cho
hệ thống tư vấn ngoài việc đảm bảo tính chính xác (tư vấn đúng items khách
hàng có nhu cầu hoặc yêu thích) thì còn đảm bảo không làm chậm tốc độ truy
cập các trang web Thực ra có thể nói không quá là hệ thống tư vấn phát triển không được nhắm vào nghiên cứu mà là nhắm vào vấn đề tiếp thị items
Nghiên cứu về hệ tư vấn ở giai đoạn phát triển đã giải quyết nhiều thách thức về vấn đề nêu trên Thuật toán mới được phát triển để giảm thời gian tính
toán trực tuyến, bao gồm các thuật toán tương quan dựa trên items và những
phương pháp tiếp cận nhằm giảm kích thước dữ liệu đều được sử dụng cho tới hiện nay Một loạt các nghiên cứu khám phá các vấn đề liên quan đến các xếp
hạng đánh giá của users dưới dạng ngầm định, vấn đề thiếu thông tin ở những
users mới và items mới (cold-start) cũng như các vấn đề liên quan đến trải
nghiệm users, chẳng hạn như độ tin cậy và tính minh bạch
Các hệ thống tư vấn mới ra đời được áp dụng rộng rãi trong thương mại điện tử Đồng thời, với việc nghiên cứu về các hệ thống tư vấn bùng nổ là việc
tiếp cận tới các lĩnh vực khác như thu thập thông tin, khai phá dữ liệu (data
mining) Nghiên cứu kinh doanh tiếp thị sản phẩm đã xuất hiện các phân tích
và cách tiếp cận mới cho các hệ thống tư vấn Nghiên cứu thuật toán mới được thúc đẩy bởi sự xuất hiện các tập dữ liệu lớn, sẵn có trong thương mại điện tử
từ thực tiễn
Đa số các hệ thống tư vấn hiện nay được xây dựng theo ba cách tiếp cận
chính: dựa trên nội dung (Content Based), dựa trên lọc cộng tác (Collaborative
Filtering) và dựa trên việc lai ghép các phương pháp với nhau (Hybrid Approach) Chi tiết từng cách tiếp cận sẽ được trình bày tiếp ở chương 2 của
luận văn
Trang 13Phương pháp thừa số hóa ma trận (một nhánh nghiên cứu trong phương pháp lọc cộng tác) [4] nhanh chóng trở thành một xu hướng nghiên cứu mới, mang lại nhiều thành tựu vượt trội và cho đến nay vẫn được coi là một phương
pháp thế mạnh của hệ thống tư vấn Y Koren [4] đã chiến thắng giải Netflix cho bài toán tư vấn dựa trên phương pháp thừa số hóa ma trận Giải Netflix trị giá
một triệu đô la để cải thiện độ chính xác cho dự đoán tư vấn 10 phần trăm đã mang lại sự phấn kích cho các nhà nghiên cứu, cùng nhau nỗ lực để đưa ra các phương pháp dự đoán chính xác hơn
Xuất phát từ những nhu cầu thực tiễn như đã nêu trên, cùng với việc áp dụng thành quả nghiên cứu của phương pháp thừa số hóa ma trận đã đạt được
từ các nghiên cứu trước đó Đặc biệt, việc học các nhân tố ẩn (latent factor) [5],
[6] trong phương pháp thừa số hóa ma trận không âm nhằm mang lại độ chính xác cao hơn cho hệ thống tư vấn Luận văn sẽ sử dụng, tiếp thu những kiến thức nghiên cứu trước, đi vào tập trung nghiên cứu và đề xuất nâng cao hiệu quả việc áp dụng thừa số hóa ma trận không âm trong các hệ thống tư vấn với mong muốn cải tiến một số nhược điểm cho hệ thống tư vấn
1.2 Mục tiêu của luận văn
Trong luận văn, tác giả tập trung vào nghiên cứu việc nâng cao hiệu năng
hệ tư vấn dựa trên thừa số hóa ma trận Mục tiêu cụ thể:
i Nghiên cứu các phương pháp tiếp cận nhằm nâng cao chất lượng hệ thống tư vấn theo hướng thừa số hóa ma trận
ii Nghiên cứu hệ thống tư vấn theo hướng thừa số hóa ma trận không âm dựa trên việc học các nhân tố ẩn, đặc biệt:
Các phương pháp cải thiện các hệ số tốt hơn cho ma trận khởi tạo ban đầu
Trang 14 Các phương pháp cập nhật ma trận thành phần cho bài toán lặp để đạt được hội tụ nhanh hơn
Việc kiểm tra hiệu quả cụ thể của thuật toán sẽ sử dụng một một số tập
dữ liệu phổ biến trong hệ thống tư vấn như MovieLens, Book-Crossing Việc
đánh giá chất lượng cho phương pháp, luận văn sẽ sử dụng các độ đo thông
dụng như Mean Absolute Error (MAE) và Root Mean Square Error (RMSE)
1.3 Nội dung thực hiện
Nhằm đạt được những mục tiêu đã nêu, luận văn sẽ thực hiện các công việc sau đây:
i Tiến hành nghiên cứu những công trình nghiên cứu có liên quan đến phương pháp thừa số hóa ma trận
ii Tìm hiểu hiện trạng về các hệ thống tư vấn, phân tích ưu và khuyết điểm của những phương pháp được áp dụng phổ biến
iii Tìm hiểu về các phương pháp thừa số hóa ma trận cùng với các thuật
toán tư vấn: Phương pháp lân cận gần nhất, Các mô hình thống kê, Matrix
factorization, Non-negative matrix factorization, …
iv Nghiên cứu các thuật toán của Machine learning
v Xây dựng thuật toán cho tư vấn theo thừa số hóa ma trận không âm dựa
trên các thuật toán Machine learning đang áp dụng, kết hợp với các kiến
thức toán học khác để tối ưu hóa cho bài toán ma trận khởi tạo lẫn bài toán lặp, đặc biệt chú trọng đến vấn đề dữ liệu thưa
Về mặt thực nghiệm, những thuật giải tư vấn do luận văn đề xuất sẽ được thử nghiệm và đánh giá trên một bộ dữ liệu mẫu trong lĩnh vực hệ thống tư vấn,
ví dụ như MovieLens [7] được xem là một bộ dữ liệu “chuẩn” để tiến hành những thực nghiệm trong lĩnh vực của luận văn Quá trình thử nghiệm của luận văn sẽ được tiến hành theo những bước chính như sau:
Trang 15 Chuẩn bị dữ liệu
Thu thập các chỉ số đánh giá và xây dựng quy trình thực nghiệm
Tiến hành thử nghiệm để phân tích và đánh giá các độ đo về tính chính xác, tính hội tụ và thời gian thực thi
1.4 Giới hạn luận văn
Trong phạm vi nghiên cứu, luận văn chỉ tập trung nghiên cứu bài toán theo hướng thừa số hóa ma trận không âm
Việc cập nhật trong quá trình huấn luyện, luận văn chỉ sử dụng một
phương pháp cập nhật duy nhất là Stochastic gradient descent, chưa tiến hành
thử nghiệm các phương pháp cập nhật khác của machine learning như
Conjugate gradient
Thời gian thực thi của phương pháp đề xuất trong luận văn nhiều hơn phương pháp thừa số hóa ma trận không âm thông thường
1.5 Tóm tắt những đóng góp của luận văn
Luận văn có những đóng góp về mặt khoa học và thực tiễn, chi tiết được trình bày ở phần 1.5.1 và 1.5.2
sở để cập nhật cho hai ma trận thành phần U, I trong quá trình huấn
luyện (tối ưu hóa) bằng vòng lặp
Trang 16 Chương 1: Giới thiệu Trong chương này, tác giả trình bày về đề tài
nghiên cứu của luận văn như mục tiêu, nội dung nghiên cứu, giới hạn luận văn cũng như những đóng góp của luận văn
Chương 2: Các hệ thống tư vấn Trong chương này, tác giả trình bày
về hiện trạng của các hệ thống tư vấn truyền thống, những cách tiếp cận lọc cộng tác cũng như trình bày mô hình thường được áp dụng trong
Matrix Factorization gồm: Matrix Factorization và Non-negative Matrix Factorization
Chương 3: Tư vấn thông tin dựa trên thừa số hóa ma trận không âm
Trong chương này, tác giả trình bày về thuật toán đề xuất, được xây
dựng từ việc lai hóa công thức tính độ tương đồng PJ cho ma trận khởi tạo và hàm chi phí FKI cũng như công thức cập nhật cho các ma trận
thành phần khi thực hiện phân tích nhân tử ma trận không âm
Chương 4: Kết quả thực nghiệm Trong chương này, tác giả trình bày
quá trình tiến hành cũng như kết quả thử nghiệm của các thuật toán đề
xuất trên bộ dữ liệu MovieLens Những đánh giá và phân tích cũng được
Trang 17trình bày nhằm giúp làm rõ kết quả thực nghiệm cho các thuật toán đề xuất
Chương 5: Tổng kết Trong chương này, tác giả trình bày phần kết luận
và nêu lên một số hướng phát triển trong tương lai của luận văn
Trang 18Chương 2 CÁC HỆ THỐNG TƯ VẤN 2.1 Tổng quan về hệ thống tư vấn
Các hệ thống tư vấn (Recommender Systems - RS) được quan tâm nghiên
cứu xuất phát từ mục đích thương mại, các công ty bán hàng mong muốn có
những hệ thống tư vấn tự động, nhằm cung cấp thông tin hữu ích cho users về các loại hàng hóa hay dịch vụ (items) đáp ứng chính xác, phù hợp hơn nhu cầu
riêng của từng cá nhân [2], [8] Ví dụ các hệ thống như Ebay, Amazon,
MovieLens… có chức năng tư vấn những thông tin về một số items đáp ứng theo nhu cầu hay sở thích của từng user Nhìn chung các hệ thống tư vấn hiện
có dựa trên hai cách tiếp cận chính: tiếp cận dựa trên nội dung (Content-Based
- CB ) và tiếp cận dựa trên lọc cộng tác (Collaborative Filtering – CF) Ngoài
ra, cách tiếp cận “lai hóa” giữa 2 cách trên còn sử dụng, nhằm mang lại hiệu quả và sự phong phú cho các hệ thống tư vấn Hình 2.1 thể hiện một số hướng nghiên cứu trong hệ thống tư vấn hiện nay
Theo cách tiếp cận dựa trên nội dung (CB) [9], [10] người ta chủ yếu dựa
vào nội dung và đặc trưng của các items Từ đó người ta tính được mức độ tương đồng của các items dựa vào các vector đặc trưng của items Khi một user
u đánh giá item i j , hệ thống sẽ tìm các items i k , i h , có vector đặc trưng tương
đồng với item i j để tư vấn cho user u đó Cách tiếp cận này có ưu điểm là khả năng cao users sẽ nhận được các tư vấn về items phù hợp với sở thích của mình thông qua việc tính mức độ tương đồng của các items với nhau chứ không phải cùng đánh đồng sở thích của mọi users là như nhau Khuyết điểm là nội dung
mà user được tư vấn bị giới hạn, nghĩa là user chỉ nhận được các tư vấn về những items có độ tương đồng với items mà mình đã đánh giá, điều này vô tình làm cho user không có cơ hội nhận được những tư vấn về các items ở lĩnh vực khác mà có thể user cũng quan tâm
Trang 19Hình 2.1 Một số hướng nghiên cứu tiếp cận của hệ thống tư vấn
Cách tiếp cận dựa trên lọc cộng tác (CF) [11], [12] chủ yếu dựa vào tính tương đồng của các users với nhau, theo cách này khi một user u i cung cấp
đánh giá của mình cho một item i trong một ma trận đánh giá R (ratings matrix), với mỗi u i hệ thống sẽ xác định một cộng đồng các users u j , u k, có tính tương
đồng với user u i đó, dựa trên độ tương đồng vector đặc trưng của các users với nhau Sau khi xác định cộng đồng những người tương đồng với user u i, hệ thống
tư vấn sẽ đưa ra tư vấn những items mà cộng đồng này cho điểm cao Ưu điểm của CF chính là sự chia sẻ thông tin trong cộng đồng các users, nghĩa là khi có một user u đánh giá thích một item i nào đó, thì hệ thống tư vấn có thể sử dụng thông tin này để tư vấn cho các users khác trong cùng cộng đồng Việc này sẽ làm cho nội dung tư vấn được phong phú, khác với trường hợp CB chỉ tư vấn xung quanh các items cùng độ tương đồng nhất định dựa vào vector đặc trưng của items Khuyết điểm của CF, có khả năng sẽ có một số users cá biệt trong cộng đồng, nghĩa là sở thích của họ về một số items nào đó có thể trái ngược
Trang 20hoặc khác hoàn toàn với cộng đồng mà users đó đang thuộc về, dẫn đến tư vấn
không còn chính xác Cũng theo cách tiếp cận dựa trên lọc cộng tác, có hai
hướng đi chính là dựa trên Memory based và hướng còn lại dựa trên Model
based, cụ thể như sau:
Hướng tiếp cận Memory based (Neighborhood base) [13] thu thập dữ liệu
ratings trong hệ thống và dùng nó để tính toán ratings cho items mới Memory based có thể được thực hiện theo hai cách, tư vấn dựa trên users hoặc dựa trên items Tuy nhiên hướng tiếp cận Memory based bị hạn chế bởi các nhược điểm,
đầu tiên là độ thưa thớt dữ liệu (sparsity), Memory based đưa ra tư vấn các
items đa phần dựa vào sở thích của users đã có trong quá khứ, nếu xuất hiện users mới thì hệ thống sẽ cần thông tin đánh giá đủ số lượng items cho phép để
hệ thống nắm bắt được sở thích của những users mới này một cách chính xác, như vậy khả năng đưa ra các tư vấn tin cậy càng lớn Tương tự, các items mới cũng có chung một vấn đề Khi các items mới được thêm vào hệ thống, chúng cần được đánh giá bởi số lượng users đáng kể trước khi các items có thể được
tư vấn cho những users có cùng sở thích trong cộng đồng Thứ hai về khả năng
mở rộng (scalability) hay còn có thể hiểu là tốc độ xử lí sẽ giảm khi số lượng
users-items lớn lên Các thuật toán CF truyền thống gặp phải các vấn đề nghiêm
trọng, với hàng chục triệu users và hàng triệu items thì độ phức tạp của bài toán
là cả vấn đề
Theo hướng tiếp cận Model based [14], người ta sẽ thiết lập mô hình để huấn luyện và đánh giá những ratings chưa biết của users Các nghiên cứu trước
đây tập trung áp dụng nhiều phương pháp như: Phân tích ngữ nghĩa tiềm ẩn
(Latent Semantic Analysis) [15], Cực đại entropy (Maximum Entropy) [16], Cấp phát Dirichlet ẩn (Latent Dirichlet Allocation) [17], Gom cụm Bayes (Bayesian Clustering) [18], Support Vector Machine và phân rã các giá trị đơn (Singular Value Decomposition) [8] Mặt khác, phương pháp thừa số hóa ma
Trang 21trận thông qua việc phân rã ma trận và xét tính tương đồng [19] cũng được sử dụng
Dùng phương pháp thừa số hóa ma trận (Matrix Factorization –MF) [4]
là một hướng tiếp cận trong Model based và thu hút các nhà nghiên cứu
Phương pháp thừa số hóa ma trận có ưu điểm là độ chính xác cao, ngoài ra
phương pháp này còn có ưu điểm về tốc độ xử lí khi dữ liệu users và items
trong thế giới thực lớn lên Phương pháp thừa số hóa ma trận (đặc biệt việc thừa
số hóa ma trận không âm) được thực hiện bằng cách chuyển đổi cả users và
items sang cùng một không gian đặc trưng ẩn (latent feature) [20], xác định
mỗi thực thể với một vector đặc trưng được suy ra từ những ratings có sẵn, sau
đó phát sinh dự đoán cho những ratings chưa biết bằng cách tính tích trong (inner product) của các cặp vector tương ứng Tuy phương pháp thừa số hóa
ma trận không âm cho kết quả tốt hơn các phương pháp khác, nhưng việc phân
rã ma trận không âm hiện nay vẫn còn một vài hạn chế, như kết quả thường phụ
thuộc vào sự khởi tạo ban đầu của ma trận users và items Điều này đòi hỏi các chiến lược thích hợp và hiệu quả cho ma trận khởi tạo ban đầu U và I Hiện nay, người ta chủ yếu dùng phương pháp random ngẫu nhiên cho hai ma trận
ban đầu này, điều này dẫn đến trường hợp nếu một khởi tạo ngẫu nhiên không
có lợi sẽ dẫn tới hội tụ chậm, hoặc cho kết quả không chính xác Hạn chế thứ hai của bài toán thừa số hóa ma trận không âm là sự hội tụ sau quá trình lặp
Cứ sau mỗi bước lặp, thuật toán sẽ cập nhật các giá trị cho hai ma trận thành
phần U và I Đối với những ma trận lớn, độ thưa dữ liệu cao, câu hỏi đặt ra là
cần phải qua bao nhiêu bước lặp để cho ra kết quả tốt mà chi phí về thời gian
có thể chấp nhận được? Nếu cải tiến được một thuật toán tốt hơn các thuật toán hiện có, hi vọng rằng quá trình hội tụ kết quả sẽ diễn ra nhanh hơn và cho kết quả chính xác hơn
Trang 22Bài toán tư vấn hiện nay có rất nhiều ứng dụng ngoài thực tế đồng thời cũng có nhiều thách thức lớn, chẳng hạn:
Thiếu dữ liệu: Thiếu dữ liệu ở đây có nghĩa là thiếu thông tin về users
Vấn đề lớn nhất đối với các hệ thống tư vấn là cần rất nhiều dữ liệu để đưa ra các tư vấn một cách hiệu quả Không phải ngẫu nhiên mà các công ty được xác
định có các tư vấn xuất sắc là những công ty có nhiều dữ liệu về users như:
Google, Amazon, Netflix, Last.fm Một hệ thống tư vấn tốt trước hết cần có dữ
liệu đầy đủ về các items tư vấn, sau đó phải nắm bắt và phân tích dữ liệu users
(các sự kiện, hành vi), và cuối cùng là thuật toán tư vấn Mối quan hệ giữa dữ
liệu (users-items) và chất lượng tư vấn là một mối quan hệ biện chứng Hệ thống tư vấn càng có nhiều dữ liệu về items và users, cơ hội đưa ra các tư vấn
càng chính xác Ngược lại, để có được các tư vấn tốt, hệ thống cần rất nhiều
users cũng như thông tin về các users đó
Thay đổi dữ liệu: Thay đổi dữ liệu ở đây có nghĩa là users có những thay
đổi thông tin cá nhân hay items có xu hướng lỗi thời Đối với vấn đề thay đổi
dữ liệu các hệ thống thường có xu hướng thiên vị đối với items cũ và gặp khó khăn khi tư vấn items mới Một ví dụ về điều này đã được viết bởi David Reinke
của StyleHop, thuộc cộng đồng nguồn nhân lực dành cho những người đam mê
thời trang David cho rằng hành vi quá khứ của users không phải là một công
cụ tốt bởi vì “các xu hướng luôn luôn thay đổi” Rõ ràng một cách tiếp cận thuật toán sẽ gặp phải khó khăn nếu không thể theo kịp xu hướng thời trang Hầu hết những người không am hiểu nhiều về thời trang thường dựa vào những người bạn và gia đình có kiến thức về thời trang tư vấn quần áo mới cho họ David Reinke tiếp tục nói rằng các tư vấn sản phẩm không hoạt động hiệu quả vì có quá nhiều thuộc tính sản phẩm trong thời trang và mỗi thuộc tính (sự phù hợp, giá cả, màu sắc, phong cách, vải, thương hiệu…) có tầm quan trọng khác nhau, thời gian khác nhau cho cùng một người tiêu dùng nếu áp dụng hệ thống tư vấn
Trang 23tự động Tuy nhiên các tư vấn xã hội (tư vấn từ người thân, đồng nghiệp, bạn bè) có lẽ sẽ giải quyết được vấn đề này
Thay đổi sở thích users: Việc user thay đổi sở thích ở đây là trong khi
hôm nay user chú ý item này nhưng ngày mai user có thể sẽ chú ý tới một item khác Một ví dụ điển hình là một hôm nào đó user sẽ lướt trên trang Amazon tìm những cuốn sách mới, nhưng ngày hôm sau, user sẽ tìm trên Amazon một món quà sinh nhật cho người thân chẳng hạn Về chủ đề sở thích user, hệ thống
tư vấn cũng có thể gắn nhãn không chính xác cho user
Những items không thể dự đoán: Trong giải thưởng Netflix, trị giá một
triệu đô do Netflix thưởng cho các nhóm nghiên cứu cung cấp thuật toán lọc cộng tác để cải thiện thuật toán tư vấn của Netflix 10%, người ta lưu ý rằng có vấn đề xảy ra với phim kinh dị Loại phim mà mọi người hoặc yêu thích hoặc ghét, như Napoleon Dynamite, rất khó đưa ra các tư vấn, bởi vì phản ứng của
users đối với loại phim này có xu hướng đa dạng và không thể đoán trước
Những thách thức kể trên của hệ thống tư vấn được các nhà khoa học tập trung nghiên cứu nhằm cải thiện chất lượng hệ tư vấn, đặc biệt đối với thách
thức đầu tiên, tức bài toán cold-start, đã có rất nhiều cố gắng giải quyết vấn đề
thưa dữ liệu Một phương pháp được đưa ra với một số thành công đó là phương pháp nhằm làm giảm số chiều của ma trận đánh giá Chiến lược đơn giản để
giảm số chiều là hình thành tập hợp các cụm items hoặc users, sau đó sử dụng
các cụm này như một thành phần cơ bản trong dự đoán Để phương pháp gom cụm này tốt hơn thì người ta sử dụng kỹ thuật thống kê như nguyên lý phân tích
thành phần PCA và kỹ thuật truy vấn thông tin như chỉ mục ngữ nghĩa tiềm tàng LSI Về bản chất, những phương pháp giảm số chiều giải quyết vấn đề thưa dữ liệu bằng cách sinh ra nhiều ma trận tương tác user – item được xem là gần gũi nhất với users và items Tuy nhiên, trong một vài trường hợp, thông tin
Trang 24hữu ích có thể bị mất trong suốt tiến trình giảm chiều ma trận, làm cho các dự đoán không còn đáng tin cậy nữa
Giải quyết vấn đề thưa dữ liệu chính là sự kết hợp giữa phương pháp lọc cộng tác với những phương pháp tiếp cận dựa trên nội dung Thêm vào đó là
những tương tác giữa user – item, vì vậy các kỹ thuật này cũng xem độ tương đồng items xuất phát từ nội dung của chính các items đó, điều này tạo ra dự
đoán chính xác hơn Tuy nhiên, khuyết điểm chính của những kỹ thuật này là chỉ có thể được sử dụng khi nội dung thông tin có sẵn trong hệ thống, điều này
có thể gây khó khăn trong một số trường hợp
2.2 Các hệ thống tư vấn lọc cộng tác
Lọc cộng tác là một kỹ thuật mạnh và nó đã được áp dụng khá thành công trong nhiều hệ tư vấn Về thực chất, lọc cộng tác là một hình thức tư vấn tự
động bằng cách dựa trên sự tương đồng giữa những users hoặc giữa những
items trong hệ thống và đưa ra tư vấn cho user một hoặc một vài items, hoặc
gợi ý một item mới cho user nào đó
Có rất nhiều phương pháp tiếp cận trên hình thức này được trình bày,
nhưng các kỹ thuật này hầu chỉ xét đến sự tương đồng trực tiếp giữa hai users hoặc hai items Trong phương pháp lọc cộng tác, hai users được coi là tương đồng nếu họ thể hiện mối quan tâm giống nhau về cùng các items thông qua việc mua hoặc đưa ra đánh giá về items đó Tuy nhiên, trên thực tế hai người
có thể mua những items hoàn toàn khác nhau nhưng lại có những sở thích giống nhau Tương tự vậy, hai items có thể không được mua bởi cùng một user nhưng
hoàn toàn có thể tương tự nhau Một điểm khác của cách tiếp cận này là sự nhạy
cảm của nó khi có quá ít dữ liệu, điều này xảy ra khi có nhiều users nhưng mỗi người lại chỉ mua hoặc đánh giá ở một hoặc một vài items hoặc khi có nhiều
items nhưng mỗi item lại chỉ được mua bởi một hoặc một vài users Tuy nhiên,
Trang 25trong rất nhiều trường hợp thực tế, việc dữ liệu thưa là điều không thể tránh Ví
dụ như khi user mới đăng ký vào hệ thống nên không có hoặc có ít thông tin về
sở thích, hoặc khi một item mới được thêm vào hệ thống nên có thể chưa hoặc mới được mua hay đánh giá bởi rất ít users Vấn đề này còn được gọi là cold-
start
Hạn chế của phương pháp lọc cộng tác, có nghĩa là các dự đoán giá trị R ij
đã cho sẽ được tư vấn cho cộng đồng những users có độ tương đồng với user u
nào đó, trong khi có thể xảy ra trường hợp trong cộng đồng của user u này có
một vài users cá biệt, có sở thích khác các users còn lại trong cộng đồng Sau
đây là phần trình bày ba phương pháp chính trong số các phương pháp lọc cộng tác
2.2.1 Phương pháp lân cận gần nhất
Để dự đoán rating R ij được đánh giá bởi user i cho item j, người ta tìm
những users khác trong tập dữ liệu đã được đánh giá cho item j và những users
có các mẫu ratings tương tự với user i về các items khác (tìm lân cận cho user
i) Lấy 𝑅̅𝑖𝑗 là mức trung bình ratings của item j trong số những láng giềng lân cận với user i, sau đó đưa ra dự đoán ratings cho user i dựa trên 𝑅̅𝑖𝑗 Đây gọi
đây là phương pháp k-lân cận gần nhất (k-Nearest Neighbor hay kNN)
Ban đầu trong lĩnh vực hệ thống tư vấn có xu hướng sử dụng phương pháp này Tất nhiên, một trong những vấn đề nảy sinh đó là định nghĩa của gần nhất,
rất khó để đánh giá định nghĩa gần nhất và tìm lân cận gần cho một user khi mà
trong thực tế là hầu hết các dữ liệu đánh giá bị thiếu Vấn đề thưa dữ liệu này tiếp tục được trình bày ở các phương pháp dưới đây
Trang 262.2.2 Các mô hình thống kê ngẫu nhiên (Statistical Random Effects
Method of Moments (MM) nhanh hơn nhiều vì có các giả định ít nghiêm ngặt
hơn, và tạo ra các biểu thức dạng đóng (biểu thức toán học có thể được tính toán với số phép toán hữu hạn):
Trong đó ba đại lượng ở bên phải biểu thức là giá trị trung bình của hàng i, giá trị trung bình của cột j và giá trị trung bình tổng thể giữa các giá trị đã biết trong
R
Một phương pháp mở rộng phổ biến của phương pháp thừa số hóa ma trận
là kết hợp các độ lệch của user và item, phản ánh xu hướng của một số users đánh giá ratings hào phóng hơn những users khác và xu hướng một số items được xếp hạng cao hơn những items khác Những điều này sẽ được trình bày
tiếp theo đây, nhưng trước hết chúng ta hãy đặt tên 𝛼𝑖 cho user i và 𝛽𝑗 chi item
j
Các mẫu mô hình thống kê ngẫu nhiên tạo thành một nhánh của phương pháp thống kê truyền thống, và rất hữu ích trong một ứng dụng hiện đại như hệ thống tư vấn Mô hình như sau:
Trang 27Trong đó cố định và không biết, với đại lượng ngẫu nhiên và không thể đếm được khác, có giá trị trung bình là 0 Yếu điểm của mô hình, ở đây đề cập
đến thực tế rằng users trong dữ liệu được coi là một mẫu ngẫu nhiên từ một số
users, tương tự như thế cho các items
Sau đó được tính là trung bình tổng thể của ratings (được tính bằng tổng tất cả các ratings mà users đã đánh giá cho các items đem chia cho số lượng
ratings đó), 𝛼𝑖 là độ khác biệt giữa trung bình ratings mà user i sẽ đánh giá cho tất cả các items có thể; và 𝛽𝑗 là trung bình ratings mà tất cả các users đánh giá cho item j 𝜖 đại diện cho các biến đổi không được kết hợp với đại lượng khác
Ba đại lượng ngẫu nhiên được giả định độc lập trên tất cả i và j Trong công thức cực đại Likelihood, các đại lượng ngẫu nhiên cũng được giả định là
phân phối chuẩn
Theo lịch sử được nêu ra ở [21], các kiểu mô hình thống kê ngẫu nhiên khác nhau đã được sử dụng trong thời gian đầu của các hệ thống tư vấn, nhưng
bị từ chối vì kém hiệu quả khi các tập dữ liệu trở nên lớn hơn nhiều Gần đây hơn, [21] và [22] đã đề xuất phá vỡ vấn đề này bằng cách sử dụng ước lượng
Method of Moments (MM)
MM thích hợp cho các biểu thức phổ biến tức thời (như trung bình, phương
sai chẳng hạn) với các mẫu tương tự Phương trình bên dưới đây khá đơn giản
để lấy được biểu thức dạng đóng cho ước lượng:
Trang 28Trong đó R là trung bình tổng các mẫu có trong dữ liệu, 𝑅𝑖. là trung bình
các mẫu của user i, và 𝑅.𝑗 là trung bình các mẫu của item j
Giá trị R ij chưa biết được dự đoán bởi:
𝑅̂𝑖𝑗 = 𝜇̂ + 𝛼̂𝑖 + 𝛽̂𝑗 = 𝑅𝑖.+ 𝑅.𝑗 − 𝑅̅ (2-7)
2.2.3 Phương pháp thừa số hóa ma trận
Một hướng tiếp cận khác cho CF dựa trên MF, tức phân tích ma trận thành
nhân tử hay nói cách khác là thừa số hóa ma trận Ý tưởng chính của việc thừa
số hóa ma trận cho hệ thống tư vấn là tồn tại các đặc trưng ẩn (latent features)
mô tả sự liên quan giữa các items và users Ví dụ với hệ thống tư vấn cho các
bộ phim, tính chất ẩn có thể là thể loại phim, như phim tình cảm, phim hành động, phim hài Tính chất ẩn cũng có thể là một sự kết hợp nào đó của các thể phim loại này, hoặc cũng có thể là bất cứ tính chất nào mà chúng ta không thể đặt tên được hoặc thực sự cần đặt tên, chẳng hạn như tính chất ẩn có thể là sự kết hợp của 3 tính chất: thể loại phim tình cảm, kinh điển, có kết thúc không có
hậu Mỗi item j sẽ mang tính chất ẩn ở một mức độ nào đó tương ứng với các
hệ số trong vector đặc trưng I j của nó, hệ số càng cao tương ứng với việc tính
chất ẩn đó càng cao Tương tự, mỗi user v cũng sẽ có xu hướng thích những tính chất ẩn nào đó và được mô tả bởi các hệ số trong vector đặc trưng U v của
nó Hệ số cao tương ứng với việc user thích các bộ phim có tính chất ẩn đó Giá
trị của biểu thức 𝑈𝑣𝐼𝑗𝑇 sẽ cao nếu các thành phần tương ứng của U v và I j đều
cao Điều này nghĩa là item j mang các tính chất ẩn mà user v thích, vậy nên hệ thống tư vấn sẽ gợi ý item j này cho user v đó
Để cụ thể hơn, bài toán trong Content-based Filtering, mỗi item được mô
tả bằng một vector I j được gọi là item profile Trong phương pháp này, ta cần
Trang 29tìm một vector hệ số U v tương ứng với mỗi user sao cho rating đã biết mà user
đó cho item xấp xỉ với: 𝑅𝑣𝑗 ≈ 𝑈𝑣𝐼𝑗𝑇
Với cách làm này, ma trận đánh giá R, giả sử đã được điền hết các giá trị,
Với m, n lần lượt là số users và items
Chú ý rằng, I j được xây dựng dựa trên thông tin mô tả của item và quá trình xây dựng này độc lập với quá trình đi tìm hệ số phù hợp cho mỗi user Như vậy, việc xây dựng item profile đóng vai trò rất quan trọng và có ảnh
hưởng trực tiếp lên hiệu năng của mô hình Thêm nữa, việc xây dựng từng mô
hình riêng lẻ cho mỗi user dẫn đến kết quả chưa thực sự tốt vì không khai thác được đặc điểm của những users gần giống nhau
Bây giờ, giả sử rằng ta không cần xây dựng từ trước các item profile I j mà
vector đặc trưng cho mỗi item này có thể được huấn luyện đồng thời với mô
hình của mỗi user (ở đây là một vector hệ số) Điều này nghĩa là, biến số trong bài toán tối ưu là cả U và I, trong đó U là ma trận của toàn bộ user models, mỗi hàng tương ứng với một user, I là ma trận của toàn bộ item profiles, mỗi hàng tương ứng với một item
Với cách làm này, chúng ta đang cố gắng xấp xỉ ma trận đánh giá 𝑅 ∈
ℝ𝑚×𝑛 bằng tích của hai ma trận 𝑈 ∈ ℝ𝑚×𝑘 và ma trận chuyển vị của 𝐼 ∈ ℝ𝑛×𝑘
Thông thường, k được chọn là một số nhỏ hơn rất nhiều so với m, n Khi
đó, cả hai ma trận U và I đều có bậc (rank) không vượt quá k Chính vì vậy, phương pháp này còn được gọi là low-rank MF
Trang 30R
Hình 2.2 Ma trận đánh giá được phân tích thành 2 ma trận low-rank U và I T
Một câu hỏi được đặt ra là tại sao phương pháp thừa số hóa ma trận lại
được xếp vào nhóm lọc cộng tác? Câu trả lời đến từ việc đi tối ưu hàm mất (loss
function hay cost function) sẽ được trình bày ở mục 3.1.2 Về cơ bản, để tìm
nghiệm của bài toán tối ưu, ta phải lần lượt đi tìm U và I T khi thành phần còn
lại được cố định Như vậy, mỗi hàng của U sẽ phụ thuộc vào toàn bộ các cột của I T Ngược lại, mỗi cột của I T lại phục thuộc vào toàn bộ các hàng của U
Như vậy, có những mối quan hệ ràng buộc qua lại giữa các thành phần của hai
ma trận trên Tức chúng ta cần sử dụng thông tin của hai ma trận thành phần U
và I T để tổng hợp và suy luận cho ma trận đánh giá Vì thế phương pháp thừa
số hóa ma trận cũng được xếp vào nhóm Collaborative Filtering
Trong các bài toán thực tế, số lượng users m và số lượng items n thường rất lớn, users có thể lên đến hàng triệu người và items cũng có tới hàng ngàn
items Nhu cầu tìm ra các mô hình đơn giản vừa giúp dự đoán ratings chính xác
vừa được thực hiện sao cho tối ưu tốc độ xử lí cho hệ thống tư vấn Nếu như
phương pháp Neighborhood-based CF (ghi chú Neighborhood-based là tên gọi cho phương pháp chung để tính toán các thuật toán như K-Nearest Neighbors,
k-Means, k-d Trees, Locality Sensitive Hashing) không yêu cầu
việc learning quá nhiều, nhưng trong quá trình dự đoán (predict), ta cần đi tìm
items
Trang 31độ tương đồng của user đang xét với toàn bộ các users còn lại rồi suy ra kết quả Ngược lại, với phương pháp MF, việc learning có thể hơi phức tạp một
chút vì phải lặp đi lặp lại việc tối ưu một ma trận trong khi cố định ma trận còn
lại, nhưng việc dự đoán ratings đơn giản hơn vì ta chỉ cần tính tích của hai
vector UI T , mỗi vector có độ dài k là một số nhỏ hơn nhiều so với m, n Vậy
nên quá trình dự đoán không yêu cầu hệ thống tính toán phức tạp Điều này khiến cho phương pháp thừa số hóa ma trận phù hợp với các mô hình có tập dữ liệu lớn
Mặt khác, việc lưu trữ hai ma trận U và I chỉ yêu cầu bộ nhớ lưu trữ nhỏ hơn nhiều so với việc lưu toàn bộ ma trận tương đồng (Similarity matrix) trong phương pháp Neighborhood-based Collaborative Filtering Cụ thể hơn, với phương pháp thừa số hóa ma trận, ta chỉ cần bộ nhớ để chứa k(m+n) phần tử thay vì lưu m 2 hoặc n 2 so với việc lưu ma trận tương đồng trong Neighborhood-
based Collaborative Filtering
Cơ sở toán học của phương pháp thừa số hóa ma trận:
Sau khi trình bày bằng trực giác bài toán thừa số hóa ma trận, bây giờ
chúng ta có thể tiếp tục tìm hiểu trên cơ sở toán học Thứ nhất, cho tập user U
và item I Cho R kích thước m×n là ma trận chứa tất cả các ratings mà users đã gán cho các items Ngoài ra, giả định rằng ta muốn khám phá các đặc trưng ẩn
k Nhiệm vụ bài toán là tìm hai ma trận U (có kích thước m×k) và I (có kích thước n×k) sao cho tích của chúng xấp xỉ với ma trận đánh giá R:
Bằng cách này, mỗi hàng của U sẽ đại diện cho xu hướng liên kết giữa một user và các đặc trưng ẩn Tương tự, mỗi hàng I sẽ đại diện cho xu hướng liên kết giữa một item và các đặc trưng ẩn Để có được dự đoán về rating của
Trang 32item I q theo user U p , chúng ta có thể tính tích vô hướng (dot product) giữa hai
vector của chúng [4]:
Bây giờ, chúng ta phải tìm cách để có được U và I Một cách để tiếp cận vấn đề này là khởi tạo hai ma trận U và I ban đầu với các giá trị ngẫu nhiên, tính toán tích UI T và so sánh sự khác biệt với R (e = R- UI T), sau đó cố gắng giảm thiểu sự khác biệt này bằng cách lặp đi lặp lại quá trình tính toán, cập nhật
cho hai ma trận U và I Phương thức này được gọi là gradient descent được đề xuất bởi Lee and Seung [23], nhằm tìm ra tối ưu hóa cực tiểu cục bộ cho hàm
lỗi
Sự khác biệt ở đây, thường được gọi là hàm lỗi (cost function hoặc loss
function) giữa ratings dự đoán và ratings thực tế, có thể được tính theo phương
trình sau cho mỗi cặp user-item:
𝑒𝑝𝑞2 = (𝑅𝑝𝑞 − 𝑅̂𝑝𝑞)2 = (𝑅𝑝𝑞 − ∑𝑘𝑘=1𝑈𝑝𝑘𝐼𝑘𝑞)2 (2-10)
Ở đây chúng ta xét bình phương hàm lỗi vì ratings dự đoán có thể cao hơn hoặc thấp hơn ratings thực tế
Để cực tiểu hóa hàm lỗi, chúng ta phải biết chúng ta phải sửa đổi các giá
trị của u pk và i kq theo hướng nào Nói cách khác, chúng ta cần biết gradient ở
các giá trị hiện tại, và do đó chúng ta cần tính đạo hàm riêng phần phương trình trên đối với hai biến này:
Trang 33bởi vì nếu chúng ta thực hiện một bước tiến quá lớn đến giá trị tối tiểu, chúng
ta có thể gặp nguy cơ không tìm được giá trị tối tiểu này mà chỉ tìm được giá trị dao động xung quanh giá trị tối tiểu
Một câu hỏi đặt ra là nếu ta tìm thấy hai ma trận U và I sao cho U × I T xấp
xỉ R, không phải là dự đoán của chúng ta về tất cả các ratings chưa biết sẽ là
zero? Trong thực tế, chúng ta không cần cố gắng tìm ra U và I sao cho chúng
ta có thể tái tạo chính xác R Thay vào đó, chúng ta sẽ chỉ cố gắng giảm thiểu các lỗi của các cặp user-item được quan sát thấy Nói cách khác, gọi D là một tập hợp các bộ dữ liệu, mỗi bộ có dạng (U p , I q , R pq ), sao cho D chứa tất cả các
cặp users được quan sát cùng với các ratings liên quan, chúng ta chỉ cố gắng giảm thiểu mọi e pq sao cho (U p , I q , R pq )∈ D Nói cách khác, D là tập hợp dữ liệu
huấn luyện Đối với những giá trị chưa biết còn lại, chúng ta có thể xác định
giá trị của chúng khi các kết hợp giữa users, items và những đặc trưng đã được
học
Sử dụng các quy tắc cập nhật ở trên, chúng ta có thể thực hiện thao tác lặp cho đến khi lỗi hội tụ đến mức tối tiểu Chúng ta có thể kiểm tra lỗi tổng thể bằng phương trình sau và xác định khi nào chúng ta nên dừng quá trình lặp:
𝐸 = ∑(𝑈𝑝,𝐼𝑞,𝑅𝑝𝑞)∈𝐷𝑒𝑝𝑞 = ∑(𝑈𝑝,𝐼𝑞,𝑅𝑝𝑞)∈𝐷(𝑅𝑝𝑞 − ∑ 𝑈𝑘1 𝑝𝑘𝐼𝑘𝑞)2 (2-15)