Ich lerne etwas über Matrixfaktorisierung für Empfehlungssysteme und sehe, dass der Begriff latent features
zu häufig vorkommt, verstehe aber nicht, was er bedeutet. Ich weiß, was ein Feature ist, aber ich verstehe die Idee latenter Features nicht. Könnten Sie es bitte erklären? Oder zeigst du mir wenigstens eine Zeitung / einen Ort, an dem ich darüber lesen kann?
machine-learning
data-mining
recommender-system
Jack Twain
quelle
quelle
Antworten:
Auf Kosten einer zu starken Vereinfachung sind latente Merkmale "verborgene" Merkmale, um sie von beobachteten Merkmalen zu unterscheiden. Latente Merkmale werden aus beobachteten Merkmalen unter Verwendung der Matrixfaktorisierung berechnet. Ein Beispiel wäre die Analyse von Textdokumenten. 'Wörter', die aus den Dokumenten extrahiert wurden, sind Merkmale. Wenn Sie die Daten von Wörtern faktorisieren, finden Sie "Themen", wobei "Thema" eine Gruppe von Wörtern mit semantischer Relevanz ist. Die Matrixfaktorisierung mit niedrigem Rang ordnet mehrere Zeilen (beobachtete Merkmale) einer kleineren Gruppe von Zeilen (latente Merkmale) zu. In diesem Dokument könnten Merkmale (Wörter) wie [Segelboot, Schoner, Jacht, Dampfer, Kreuzer] beobachtet worden sein, die zu latenten Merkmalen (Themen) wie "Schiff" und "Boot" "faktorisieren" würden.
[Segelboot, Schoner, Jacht, Dampfer, Kreuzer, ...] -> [Schiff, Boot]
Der Grundgedanke ist, dass latente Merkmale semantisch relevante „Aggregate“ beobachteter Merkmale sind. Wenn Sie über große, hochdimensionale und verrauschte beobachtete Features verfügen, ist es sinnvoll, Ihren Klassifikator auf latenten Features aufzubauen.
Dies ist natürlich eine vereinfachte Beschreibung, um das Konzept zu erläutern. Sie können die Details zu Latent Dirichlet Allocation (LDA) - oder probabilistischen Latent Semantic Analysis (pLSA) -Modellen lesen, um eine genaue Beschreibung zu erhalten.
quelle
Angenommen, Sie haben einexich j
(MxN)
dünne Matrix, wobeiM
- für die Anzahl der Benutzer steht, die Empfehlungen gegeben haben, undN
für die Anzahl der empfohlenen Elemente. Das -Element der Matrix ist die gegebene Empfehlung, wobei einige Elemente fehlen, dh vorhergesagt werden sollen.Dann kann Ihre Matrix durch Einführen von
K
"latenten Faktoren" "faktorisiert" werden, so dass Sie anstelle einer Matrix zwei haben: - für(MxK)
Benutzer und(KxN)
- für Elemente, deren Matrixmultiplikation die ursprüngliche Matrix ergibt.Abschließend zu Ihrer Frage: Was sind latente Merkmale bei der Matrixfaktorisierung? Sie sind unbekannte Merkmale (
K
) im Geschmack der Benutzer und empfohlene Elemente. Wenn diese beiden Matrizen multipliziert werden, erzeugen sie eine Matrix bekannter Empfehlungen. Bestimmte Gewichte (von Benutzerpräferenzen in Bezug auf ein bestimmtes Merkmal und die Menge eines Merkmals in einem bestimmten Gegenstand) werden über das so genannte Alternating Least Squares Algo definiert. Mehr dazu erfahren Sie hierquelle
Es scheint mir, dass latente Merkmale ein Begriff ist, der verwendet wird, um Kriterien zum Klassifizieren von Entitäten nach ihrer Struktur zu beschreiben , mit anderen Worten nach Merkmalen (Merkmalen), die sie enthalten, anstelle von Klassen, zu denen sie gehören. Die Bedeutung des Wortes "latent" ähnelt hier wahrscheinlich der Bedeutung in den Sozialwissenschaften, wobei der sehr beliebte Begriff latente Variable ( http://en.wikipedia.org/wiki/Latent_variable ) eine nicht beobachtbare Variable (Konzept) bedeutet.
Der Abschnitt "Einführung" im folgenden Artikel bietet eine gute Erklärung der Bedeutung und Verwendung latenter Merkmale bei der Modellierung sozialwissenschaftlicher Phänomene: http://papers.nips.cc/paper/3846-nonparametric-latent-feature-models-for- link-prediction.pdf .
quelle
Ein weiteres Beispiel ist der Fall, dass Benutzer eine Filmbewertungsmatrix wie das Netflix-Setup verwenden. Dies wird eine riesige, spärliche Matrix sein, die schwer zu verarbeiten ist.
Beachten Sie, dass jeder Benutzer eine bestimmte Vorliebe hat, z. B. Science-Fiction-Filme oder Liebesfilme. Anstatt alle Filmbewertungen zu speichern, können Sie auch eine einzelne latente Funktion wie die Filmkategorie speichern, die zu verschiedenen Genres gehört, z. B. Science-Fiction oder Romantik, je nachdem, welcher sein Geschmack für jede Kategorie quantifiziert. Diese werden Latent Features genannt , die das Wesentliche seines Geschmacks erfassen, anstatt die gesamte Filmliste zu speichern.
Natürlich wird dies eine Annäherung sein, aber auf der anderen Seite haben Sie sehr wenig zu speichern.
quelle