Unterschied zwischen Faktorisierungsmaschinen und Matrixfaktorisierung?

14

Ich bin auf den Begriff Faktorisierungsmaschinen in Empfehlungssystemen gestoßen. Ich weiß, was Matrix Factorization für Empfehlungssysteme ist, habe aber noch nie von Factorization Machines gehört. Was ist der Unterschied?

Jack Twain
quelle

Antworten:

7

Die Matrixfaktorisierung ist eine Methode zur Faktorisierung von Matrizen. Es erledigt eine Aufgabe, eine Matrix in zwei Matrizen zu zerlegen, so dass ihr Produkt der ursprünglichen Matrix genau entspricht.

Faktorisierungsmaschinen sind jedoch im Vergleich zur Matrixfaktorisierung recht allgemeiner Natur. Die Problemformulierung selbst ist sehr unterschiedlich. Es ist als lineares Modell mit Wechselwirkungen zwischen Features als zusätzlichen Parametern formuliert. Diese Feature-Interaktion erfolgt in der Darstellung des latenten Raums anstelle des einfachen Formats. Zusammen mit den Merkmalwechselwirkungen wie bei der Matrixfaktorisierung werden also auch die linearen Gewichte verschiedener Merkmale berücksichtigt.

Im Vergleich zur Matrix-Faktorisierung gibt es hier wichtige Unterschiede:

  1. In empfohlenen Systemen, in denen im Allgemeinen die Matrixfaktorisierung verwendet wird, können keine Nebenfunktionen verwendet werden. Bis auf ein Filmempfehlungssystem können wir die Filmgenres, die Sprache usw. nicht in Matrix Factorization verwenden. Die Faktorisierung selbst muss diese aus den vorhandenen Wechselwirkungen lernen. Aber wir können diese Information in Faktorisierungsmaschinen weitergeben
  2. Faktorisierungsmaschinen können auch für andere Vorhersageaufgaben wie Regression und binäre Klassifizierung verwendet werden. Dies ist normalerweise bei der Matrixfaktorisierung nicht der Fall

Das in der vorherigen Antwort genannte Papier ist das Originalpapier, das sich mit FMs befasst. Es gibt auch ein gutes anschauliches Beispiel dafür, was FM genau ist.

Dileep Kumar Patchigolla
quelle
4

Die Matrixfaktorisierung ist ein anderes Faktorisierungsmodell. Aus dem Artikel über FM :

Es gibt viele verschiedene Faktorisierungsmodelle wie Matrixfaktorisierung, Parallelfaktoranalyse oder spezialisierte Modelle wie SVD ++, PITF oder FPMC. Der Nachteil dieser Modelle ist, dass sie nicht für allgemeine Vorhersageaufgaben geeignet sind, sondern nur mit speziellen Eingabedaten arbeiten. Darüber hinaus werden ihre Modellgleichungen und Optimierungsalgorithmen für jede Aufgabe individuell abgeleitet. Wir zeigen, dass FMs diese Modelle nur durch Angabe der Eingangsdaten (dh der Merkmalsvektoren) imitieren können. Dies macht FMs auch für Benutzer ohne Expertenwissen in Faktorisierungsmodellen leicht anwendbar.

Von libfm.org:

"Faktorisierungsmaschinen (FM) sind ein generischer Ansatz, mit dem die meisten Faktorisierungsmodelle durch Feature-Engineering nachgebildet werden können. Auf diese Weise kombinieren Faktorisierungsmaschinen die Allgemeingültigkeit von Feature-Engineering mit der Überlegenheit von Faktorisierungsmodellen bei der Abschätzung von Wechselwirkungen zwischen kategorialen Variablen großer Domänen."

Glücklicher Zufall
quelle
1

Nur eine Erweiterung von Dileeps Antwort.

Wenn es sich nur um zwei kategoriale Variablen handelt (z. B. Benutzer und Elemente), entspricht FM dem Matrixfaktorisierungsmodell. FM kann jedoch problemlos auf mehr als zwei echte Merkmale angewendet werden.

dontloo
quelle