Lọc cộng tác thông qua nhân tố ma trận với chức năng mất logistic


9

Xem xét vấn đề lọc hợp tác. Chúng tôi có ma trận có kích thước #users * #items. nếu người dùng tôi thích mục j, nếu người dùng tôi không thích mục j và M_ {i, j} =? nếu không có dữ liệu về cặp (i, j). Chúng tôi muốn dự đoán M_ {i, j} cho các cặp vật phẩm, người dùng trong tương lai.M i , j = 1MMi,j=1Mi,j=0M i , jMi,j=?Mi,j

Phương pháp lọc cộng tác tiêu chuẩn là biểu diễn M là sản phẩm của 2 ma trận U×V sao cho ||MU×V||2 là tối thiểu (ví dụ: giảm thiểu lỗi bình phương trung bình cho các phần tử đã biết của M ).

Đối với tôi chức năng mất logistic có vẻ phù hợp hơn, tại sao tất cả các thuật toán sử dụng MSE?


1
Trong trường hợp này có ý nghĩa nhưng hầu hết thời gian M_i, j có thể là một đánh giá và trong trường hợp đó MSE hữu ích hơn. Tôi muốn nói rằng MSE là tổng quát hơn.
ThiS

Câu trả lời:


9

Chúng tôi sử dụng tổn thất logistic cho yếu tố ma trận ngầm tại Spotify trong bối cảnh đề xuất âm nhạc (sử dụng số lần phát). Chúng tôi vừa xuất bản một bài báo về phương pháp của chúng tôi trong một hội thảo NIPS 2014 sắp tới. Bài viết có tiêu đề Hệ số ma trận logistic cho dữ liệu phản hồi ngầm và có thể tìm thấy ở đây http://stanford.edu/~rezab/nips2014workshop/submits/logmat.pdf

Mã cho bài báo có thể được tìm thấy trên Github của tôi https://github.com/MrChrisJohnson/logistic-mf


1
L (R | X, Y,) = Prod (p (lui | xu, yi, u, i) ^ α.r_ui * (1 - p (lui | xu, yi, βu, i)) ^ (1 - α.r_ui) A đã xem mã của bạn và bạn sử dụng 1 + α.r_ui l64: A = (self.counts + self.ones) * Một github.com/MrChrisJohnson/logistic-mf/blob/master/ ... Vì vậy, tôi đang thiếu một cái gì đó Kind regards?
fstrub

Tôi đã xem qua bài báo mà bạn đã xuất bản. Nó rất thú vị vì nhân tố ma trận với hồi quy logistic chưa được nghiên cứu tích cực. Dù sao, tôi hơi bối rối với chức năng Mất của bạn (2) L (R | X, Y,) = Prod (p (lui | xu, yi, βu, i) ^ α.r_ui * (1 - p (lui | xu, yi, u, i)) Về (3), tôi nghĩ rằng có một lỗi đánh máy L (R | X, Y, β) = Prod (p (lui | xu, yi, u, i) ^ α .r_ui * (1 - p (lui | xu, yi, u, i)) ^ (1 + α.r_ui ) Nhưng, thực sự, tôi vẫn hơi bối rối. Thật vậy, tôi đã mong đợi một luật giống như Bernouilli như
fstrub

Có lẽ tôi khá muộn về chủ đề này .. ai đó đã có cơ hội thử cái này ngoài bối cảnh đề xuất âm nhạc và thay vào đó là bối cảnh cổ điển của đề xuất sản phẩm? Cảm ơn.
Marco Fumagalli

3

Hầu hết các bài báo bạn sẽ tìm thấy về chủ đề này sẽ xử lý các ma trận trong đó xếp hạng theo thang điểm [0,5]. Ví dụ, trong bối cảnh Giải thưởng Netflix, ma trận có các xếp hạng riêng biệt từ 1 đến 5 (+ các giá trị còn thiếu). Đó là lý do tại sao lỗi bình phương là hàm chi phí lan truyền nhiều nhất. Một số biện pháp lỗi khác như phân kỳ Kullback - Leibler có thể được nhìn thấy.

Một vấn đề khác có thể xảy ra với nhân tố ma trận tiêu chuẩn là một số yếu tố của ma trận UV có thể âm (đặc biệt là trong các bước đầu tiên). Đó là lý do tại sao bạn không sử dụng mất log ở đây làm hàm chi phí.

Tuy nhiên, nếu bạn đang nói về Hệ số ma trận không âm, bạn sẽ có thể sử dụng mất nhật ký làm hàm chi phí. Bạn đang ở trong một trường hợp tương tự như Hồi quy logistic, trong đó tổn thất log được sử dụng làm hàm chi phí: các giá trị quan sát của bạn là 0 và 1 và bạn dự đoán một số (xác suất) trong khoảng từ 0 đến 1.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.