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?
quelle
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?
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:
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.
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."
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.