1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Nâng cao hiệu năng hệ tư vấn dựa trên thừa số hóa ma trận

67 21 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 67
Dung lượng 1,17 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

BỘ 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 2

BỘ 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 3

MỤ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 4

Chươ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 5

LỜI CAM ĐOAN

Học viên thực hiện

Vy Vân

Trang 6

LỜ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 7

DANH 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 9

DANH 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 10

Chươ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 11

hay 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 12

items 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 13

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 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 17

trì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 18

Chươ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 19

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

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 20

hoặ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 21

trậ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 22

Bà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 23

tự độ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 24

hữ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 25

trong 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 26

2.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 27

Trong đó  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 28

Trong đó 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 29

tì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

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 30

R

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 32

item 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 33

bở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)

Ngày đăng: 01/12/2020, 21:04

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w