Спільна фільтрація за допомогою матричної факторизації з логістичною функцією втрат


9

Розглянемо проблему спільної фільтрації. У нас є матрицяМ розміру # користувачі * #items. Мi,j=1 якщо користувачеві мені подобається предмет j, Мi,j=0 якщо користувач мені не подобається пункт j і Мi,j=?якщо немає даних про (i, j) пари. Ми хочемо передбачитиМi,j для майбутнього користувача, пара елементів.

Стандартний підхід спільної фільтрації полягає у поданні M як добутку двох матриць U×V такий як ||М-U×V||2 мінімальна (наприклад, мінімізація середньої квадратичної помилки для відомих елементів М).

Мені здається, що функція логістичних втрат більше підходить, чому всі алгоритми використовують MSE?


1
У цьому випадку це має сенс, але більшість часу M_i, j може бути рейтингом, і в цьому випадку MSE є більш корисним. Я б сказав, що MSE є більш загальним.
ThiS

Відповіді:


9

Ми використовуємо логістичні втрати для неявної матричної факторизації на Spotify в контексті музичних рекомендацій (з використанням відліку). Ми нещодавно опублікували документ про наш метод у майбутньому семінарі NIPS 2014. Стаття має назву Факторизація логістичної матриці для непередбачених даних зворотного зв’язку і їх можна знайти тут http://stanford.edu/~rezab/nips2014workshop/submits/logmat.pdf

Код паперу можна знайти на моєму Github 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 подивився на ваш код, і ви використовуєте 1 + α.r_ui l64: A = (self.counts + self.ones) * A github.com/MrChrisJohnson/logistic-mf/blob/master/ … Тому я щось пропускаю?
Ласкаво з

Я придивився до публікації, яку ви опублікували. Це дуже цікаво, оскільки матрична факторизація з логістичною регресією не вивчалася активно. У всякому разі, я трохи плутаю вашу функцію Loss (2) L (R | X, Y, β) = Prod (p (lui | xu, yi, βu, βi) ^ α.r_ui * (1 - p (lui | xu, yi, βu, βi)) Щодо (3), я думаю, що існує помилка помилки L (R | X, Y, β) = Prod (p (lui | xu, yi, βu, βi) ^ α .r_ui * (1 - p (lui | xu, yi, βu, βi)) ^ (1 + α.r_ui ) Але насправді я все ще трохи розгублений. Дійсно, я б очікував такого закону, який нагадує Бернуї. as
fstrub

Можливо, я досить пізно зайнявся цією проблемою .. хтось мав шанс спробувати це альго поза контекстом музичної рекомендації, а натомість класичний контекст рекомендації щодо продукту? Дякую.
Марко Фумагалі

3

Більшість робіт, які ви знайдете з цього приводу, стосуватимуться матриць, де оцінки оцінюються за шкалою [0,5]. Наприклад, у контексті премії Netflix, матриці мають дискретні оцінки від 1 до 5 (+ відсутні значення). Ось чому квадратна помилка є найбільш розповсюдженою вартістю. Можна побачити деякі інші заходи помилок, такі як розбіжність Куллбека-Лейблера.

Ще одна проблема, яка може виникнути при стандартній матричній факторизації, полягає в тому, що деякі елементи матриць U і V можуть бути негативними (особливо під час перших кроків). Ось чому ви не використовуєте тут втрату журналу як функцію витрат.

Однак якщо ви говорите про негативну факторизацію матриць, ви повинні мати можливість використовувати втрату журналу як функцію витрат. Ви знаходитесь в аналогічному випадку, ніж логістична регресія, де втрата журналу використовується як функція витрат: ваші спостережувані значення - 0 і 1, і ви прогнозуєте число (ймовірність) від 0 до 1.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.