Dies ist Teil 2 meiner Serie über Recommender Systems. Der letzte Beitrag war eine Einführung in RecSys. Heute werde ich drei Arten von Collaborative Filtering näher erläutern: User-Based Collaborative Filtering (UB-CF) und Item-Based Collaborative Filtering (IB-CF).
Lassen Sie uns beginnen.
Stellen Sie sich vor, wir wollen unserem Freund Stanley einen Film empfehlen. Wir könnten davon ausgehen, dass ähnliche Menschen einen ähnlichen Geschmack haben. Nehmen wir an, Stanley und ich haben die gleichen Filme gesehen, und wir haben sie alle fast gleich bewertet. Aber Stanley hat „Der Pate“ nicht gesehen: Teil II‘ gesehen, ich aber schon. Wenn ich diesen Film liebe, ist es logisch anzunehmen, dass er ihn auch lieben wird. Damit haben wir eine künstliche Bewertung geschaffen, die auf unserer Ähnlichkeit beruht.
Nun, UB-CF nutzt diese Logik und empfiehlt Artikel, indem es ähnliche Benutzer wie den aktiven Benutzer (dem wir einen Film empfehlen wollen) findet. Eine spezielle Anwendung dafür ist der benutzerbasierte Nearest Neighbor-Algorithmus. Dieser Algorithmus hat zwei Aufgaben:
1.Finde die K-nächsten Nachbarn (KNN) des Benutzers a, wobei eine Ähnlichkeitsfunktion w verwendet wird, um den Abstand zwischen jedem Benutzerpaar zu messen:
2.Vorhersage der Bewertung, die Nutzer a allen Gegenständen geben wird, die die k Nachbarn konsumiert haben, a aber nicht. Wir suchen den Artikel j mit der besten vorhergesagten Bewertung.
Mit anderen Worten, wir erstellen eine Benutzer-Element-Matrix, in der wir die Bewertungen für Artikel vorhersagen, die der aktive Benutzer nicht gesehen hat, und zwar auf der Grundlage der anderen ähnlichen Benutzer. Diese Technik ist speicherbasiert.
PROS:
- Einfach zu implementieren.
- Kontextunabhängig.
- Im Vergleich zu anderen Verfahren, z. B. inhaltsbasierten, ist es genauer.
KONSE:
- Sparsamkeit: Der Prozentsatz der Personen, die Artikel bewerten, ist sehr gering.
- Skalierbarkeit: Je mehr K-Nachbarn wir berücksichtigen (unter einem bestimmten Schwellenwert), desto besser sollte meine Klassifizierung sein. Doch je mehr Nutzer im System sind, desto höher sind die Kosten für die Suche nach den nächsten K Nachbarn.
- Kaltstart: Neue Nutzer haben keine oder nur wenige Informationen über sich, die mit anderen Nutzern verglichen werden können.
- Neues Element: Genau wie beim letzten Punkt fehlt es neuen Artikeln an Bewertungen, um ein solides Ranking zu erstellen (mehr dazu unter ‚Wie man Artikel sortiert und einstuft‘).
Item-Based Collaborative Filtering (IB-CF)
Zurück zu Stanley. Anstatt sich auf seine Freunde zu konzentrieren, könnten wir uns darauf konzentrieren, welche Gegenstände aus allen Optionen den Dingen ähnlicher sind, von denen wir wissen, dass sie ihm Spaß machen. Dieser neue Fokus ist als Item-Based Collaborative Filtering (IB-CF) bekannt.
Wir könnten IB-CF in zwei Teilaufgaben unterteilen:
1.Berechnung der Ähnlichkeit zwischen den Elementen:
- Kosinusbasierte Ähnlichkeit
- Korrelationsbasierte Ähnlichkeit
- angepasste Kosinusähnlichkeit
- 1-Jaccard-Abstand
2.Berechnung der Vorhersage:
- Gewichtete Summe
- Regression
Der Unterschied zwischen UB-CF und dieser Methode besteht darin, dass wir in diesem Fall die Ähnlichkeit zwischen den gemeinsam bewerteten Elementen direkt vorausberechnen und die K-Nachbarschaftssuche überspringen.
Slope One
Slope One gehört zur Familie des Item-Based Collaborative Filtering und wurde 2005 von Daniel Lemire und Anna Maclachlan unter dem Titel Slope One Predictors for Online Rating-Based Collaborative Filtering eingeführt.
Die Hauptidee hinter diesem Modell ist die folgende:
Angenommen, wir haben zwei verschiedene Benutzer: A und B. Außerdem haben wir Artikel I und Artikel J. Benutzer A bewertete Artikel I mit 1 Stern und den Artikel J mit 1,5. Wenn der Benutzer B den Artikel I mit einer 2 bewertet hat, können wir davon ausgehen, dass die Differenz zwischen den beiden Artikeln die gleiche ist wie bei Benutzer A. In diesem Sinne würde Benutzer B den Artikel J wie folgt bewerten 2+ (1,5-1) = 2,5