Betrachten Sie das Problem der kollaborativen Filterung. Wir haben Matrix der Größe #users * #items. wenn Benutzer i Element j mag, wenn Benutzer i Element j nicht mag, undwenn es keine Daten über (i, j) Paar gibt. Wir wollen für zukünftige Benutzer-Artikel-Paare vorhersagen .
Der Standardansatz für die kollaborative Filterung besteht darin, M als Produkt von 2 Matrizen darzustellen, so dass minimal ist (z. B. Minimierung des mittleren quadratischen Fehlers für bekannte Elemente von ).
Für mich scheint die logistische Verlustfunktion besser geeignet zu sein. Warum verwenden alle Algorithmen MSE?
Antworten:
Wir verwenden den logistischen Verlust für die implizite Matrixfaktorisierung bei Spotify im Kontext von Musikempfehlungen (unter Verwendung der Wiedergabezahlen). Wir haben gerade einen Artikel über unsere Methode in einem bevorstehenden NIPS 2014-Workshop veröffentlicht. Das Papier trägt den Titel Logistic Matrix Factorization für implizite Feedback-Daten und ist hier zu finden: http://stanford.edu/~rezab/nips2014workshop/submits/logmat.pdf
Code für das Papier finden Sie auf meinem Github https://github.com/MrChrisJohnson/logistic-mf
quelle
Die meisten Artikel zu diesem Thema befassen sich mit Matrizen, bei denen die Bewertungen auf einer Skala liegen [0,5]. Im Rahmen des Netflix-Preises haben Matrizen beispielsweise diskrete Bewertungen von 1 bis 5 (+ die fehlenden Werte). Aus diesem Grund ist der quadratische Fehler die am weitesten verbreitete Kostenfunktion. Einige andere Fehlermaßnahmen wie die Kullback-Leibler-Divergenz sind zu erkennen.
Ein weiteres Problem , das mit Standard - Matrix - Faktorisierung auftreten kann , ist , dass einige der Elemente der Matrizen U und V sein können negativ (insbesondere in den ersten Stufen). Dies ist ein Grund, warum Sie den Protokollverlust hier nicht als Kostenfunktion verwenden würden.
Wenn Sie jedoch von einer nicht negativen Matrixfaktorisierung sprechen , sollten Sie in der Lage sein, den Protokollverlust als Kostenfunktion zu verwenden. Sie befinden sich in einem ähnlichen Fall wie die logistische Regression, bei der der Protokollverlust als Kostenfunktion verwendet wird: Ihre beobachteten Werte sind Nullen und Einsen und Sie sagen eine Zahl (Wahrscheinlichkeit) zwischen 0 und 1 voraus.
quelle