SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
Fortschritte im Bereich Collaborative Filtering

Vortrag von Martin Esche

06.12.2013
Gliederung
Kurze Einführung in die Funktionsweise von
Collaborative Filtering
 Vorstellung Verschiedener Methoden zur
Verbesserung der Ergebnisse
 Neighborhood Model
 Matrix Factorization Model
 Vergleich der vorgestellten Methoden

Einführung in die Funktionalität von Collaborative
Filtering
Einführung zu Collaborative Filtering
Grundsätzliche Funktionsweise:
● Es werden Verhaltensmuster von Nutzern
auf Grundlage verschiedener Informationen
(z.B. Bewertungen, Kaufhistorie) in Bezug zu
Produkten erstellt
● Aufgrund der erstellten Muster werden die
Interessen einzelner Nutzer vorhergesagt
● Dem Nutzer werden dann Dinge empfohlen,
die den vorausgesagten Interessen
entsprechen
Einführung zu Collaborative Filtering
Es gibt hierbei zwei grundsätzlich unterschiedliche
Ansätze:
● Neighborhood Modelle:
Je nach Model werden Gruppen ähnlicher
Nutzer/Gruppen ähnlicher Produkte bestimmt,
die dann für Empfehlungen genutzt werden
● Matrix Factorization:
Nutzer und Produkte werden in einer Matrix
auf einen Faktor reduziert und dann verglichen
Herausforderungen von
Collaborative Filtering
Probleme mit beiden Verfahren (naiv):
● Datenknappheit:
Bei großen Datenbanken: Große Mehrheit
der Bewertungen ist unbekannt
● Skalierbarkeit:
Der Berechnungsaufwand steigt exponentiell
mit der Anzahl der Nutzer/Produkte
● Ignorieren von Synonymen:
Ähnliche Produkte können übersehen
werden, weil sie unterschiedlich benannt sind
Neighborhood-Modelle
Neighborhood-Modelle: Einführung
Grundsätzlicher Ablauf (Nutzervergleich):
● Eine Nachbarschaft(Neighborhood) von Nutzern
wird für einen Nutzer bestimmt, indem betrachtet
wird, welche anderen Nutzer Produkte ähnlich
wie dieser Nutzer bewerten
● Aus der Nachbarschaft werden die von den
einzelnen Nutzern bewerteten Produkte nach
Güte der Wertung und Häufigkeit des Auftretens
verglichen, worauf die besten ausgewählt und
dem Nutzer empfohlen werden
Neighborhood-Modelle: Einführung
Grundsätzlicher Ablauf (Produktvergleich):
● Analog zum Nutzervergleich wird eine Produktnachbarschaft bestimmt
● Für das bestimmte Produkt wird über die
Bewertung der Nachbarschaftsprodukte eine
Wertung des Nutzers geschätzt
● Die Produkte mit der höchsten geschätzten
Wertung werden dann angezeigt
Neighborhood-Modelle: Berechnung
der Ähnlichkeit
Bei der Schätzung von Bewertungen ist zu
beachten, dass es Nutzer gibt, die im allgemeinen
höher abstimmen.
Ebenso gibt es Produkte, die im allgemeinen eine
bessere Bewertung erhalten.
→ Dies ist in den Schätzungen mit einzubeziehen!
Standardbewertung :
x
Abweichung Nutzer u:
b(u)
Abweichung Produkt i:
b(i)
Standardbewertung Nutzer u, Produkt i:
b ui =x+b u+bi
Neighborhood-Modelle: Berechnung
der Ähnlichkeit
Die Tendenz von Nutzern, die Produkte i und j
ähnlich zu bewerten, wird dann mit dem PearsonKorrelationskoeffizient berechnet.
Dabei wird die Gruppe Nutzer U betrachtet, die
sowohl i als auch j bewertet haben. Auch wird die
Abweichung von Nutzern und Produkten b(u,i)
und b(u,j) mit einbezogen.
pij =

(∑ u∈U (r ui −b ui )(r uj −b uj ))

√

2

2

( ( ∑ u∈U (r ui −bui ) ∗( ∑ u∈U (r uj −b uj ) )))
Neighborhood-Modelle: Berechnung
der Ähnlichkeit
Es lässt sich dann für jeden Nutzer u die geschätzte
Wertung für das Produkt i berechnen, indem man
einen gewichteten Durchschnitt der Wertungen für
die durch die obige Formel bestimmten nächsten
Nachbarn K errechnet.
r ui =b ui +

( ∑ j∈ K pij (r uj −b uj ))
( ∑ j∈ K pij )
Neighborhood-Modelle: Berechnung
der Ähnlichkeit
Hierbei ist zu beachten, dass die Gewichtung des
Durchschnitts hierbei von der Ähnlichkeitsfunktion
der Nachbarn abhängt, was einige Probleme mit
sich bringt.
Eine verbesserte Version dieser Berechnung würde
Für die Gewichtung die tatsächlichen Bewertungen
verwenden.
Matrix Factorization
Matrix Factorization: Einführung
Bei Matrix Factorization erhalten Produkte und
Nutzer gemeinsame Faktoren, auf denen ihre
Abhängigkeit voneinander abgebildet wird.
Beispiel: Filme
Faktor: Komödie oder Drama
Ein Film hat einen hohen Komödienfaktor,
ein Nutzer einen großes Interesse an hohem
Komödienfaktor
→ Der Film ist für den Nutzer interessant
Matrix Factorization: SVD(Singular
Value Decomposition)
Jedes Produkt i ist mit einem Vektor q(i) assoziiert,
und jeder Nutzer u mit einem Vektor p(u).
Für i sagen die Elemente von q aus, wie hoch der
Anteil an dem jeweiligen Faktor für das Produkt ist,
für u sagt p aus, wie hoch das jeweilige Interesse ist.
Das Skalarprodukt der Vektoren zeigt dann das
Intresse des Nutzers am gegebenen Produkt.
Matrix Factorization: SVD
Multipliziert man also für Faktoren q(i) und p(u) skalar
und nimmt noch die zuvor erklärten Abweichungen
b(u) und b(i) sowie die Standardwertung x hinzu, so
Lässt sich die vorhergesehene Bewertung des
Produktes i durch den Nutzer u r(u,i) wie folgt
berechnen:
T
i

r ui = x+bi +b u +q pu
Matrix Factorization: SVD
Um die Modellparameter (b(i), b(u), q(i), p(u) )
herauszufinden, wird die mittlere Quadratische
Abweichung berechnet:

min(

∑

(u , i)∈K

T
i

2

2

2

2

2

r ui −x−bi −bu −q p u ) +k (bi +bu +∥qi ∥+∥pu∥)
Matrix Factorization: SVD
Um die Modellparameter (b(i), b(u), q(i), p(u) )
herauszufinden, wird die mittlere Quadratische
Abweichung berechnet:
min(

∑

(u , i)∈K

T
i

2

2
i

2
u

2
i

2
u

r ui −x−bi −bu −q p u ) +k (b +b +∥q ∥+∥p ∥)

Hier kann man dann mit Hilfe der kleinstenQuadrate-Methode abwechselnd p's fest setzt
um nach den q's aufzulösen und q's fest setzt
um nach den p's aufzulösen.
Matrix Factorization: SVD++
Die SVD-Methode kann dadurch verbessert werden,
dass auch implizite Information einbezogen wird
Implizite Information bedeutet alle Information, die
nicht direkt durch Bewertungen gegeben wird.
Dies kann zum Beispiel sein, wie oft sich ein Nutzer
ein Produkt ansieht, oder ob er ein Produkt bewertet
hat.
Matrix Factorization: SVD++
Beim SVD++ Model ist diese Zusatzinformation,
welche Produkte der Nutzer bewertet hat. Diese
Information wird durch einen weiteren Vektor y(i) beim
Produkt dargestellt. Die neue Gleichung ist dann:
T
i

(

r ui =x+bi +b u +q ( p u +∣R(u)∣

−1
)
2

∗∑ j∈ R(u) y j )

Die Modellparameter werden hier wieder durch
Minimieren der mittleren quadratischen Abweichung
und stochastischen Gradientenabstieg bestimmt.
Matrix Factorization: timeSVD++
Beim timeSVD++ Model wird zusätzlich zur normalen
Bewertungsinformation noch berücksichtigt, dass sich
Wertungen mit der Zeit ändern können, so können
Beispielsweise Horrorfilme ein Jahr lang hohe
Popularität genießen, jedoch dann abfallen.
Das bedeutet, dass Nutzerausrichtung b(u),
Produktbevorzugung b(i) und Nutzervorlieben p(u)
jeweils noch eine zeitliche Komponente mit sich
bringen: bi (t) , b u (t) und p u (t )
Matrix Factorization: timeSVD++
Durch diese Anpassungen kann Beispielsweise
erkannt werden, welche Art von Filmen zu
Weihnachten mehr ausgeliehen werden als sonst im
Jahr, oder wie ein Nutzer seine Vorlieben im Laufe
der Zeit ändert.
Vergleich der Vorgestellten Modelle
Vergleich der Modelle:
Neighbourhood Nutzer/Produkte
Produkt-fokussierte Neighbourhood-Modelle können
Im Vergleich zu Nutzerfokussierten Modellen deutlich
einfacher neue Bewertungen und Nutzer einfügen,
solange sich die Beziehungen zwischen Produkten
nicht ändert, was sehr selten geschieht.
Vergleich der Modelle: Matrix
Factorisation

Die Standardmethode SVD kann durch verschiedene
Zusatzvektoren so erweitert werden, dass sie in
einem Datenbanktest von den hier betrachteten
Modellen die höchste Genauigkeit bei der Empfehlung
Von Produkten erzielt.
Die timeSVD++ Methodik, bei der dies der Fall war,
kann auch mit weniger Information gute Ergebnisse
liefern, da sie sich nicht nur auf Bewertungen
verlässt.
Ausblick: Modellmischformen
Es ist durchaus möglich, die hier präsentierten
Modelle erfolgreich zu vermischen;
Beispielsweise lässt sich ein Neighborhood Modell
auch mit Faktoren realisieren, auch zeitliche
Aspekte können bei erweiterten Modellen eine
Rolle spielen.
Quellen
●

Advances in Collaborative Filtering
Yehuda Koren and Robert Bell

Analysis of Recommendation Algorithms for E-Commerce
Badrul Sarwar, George Karypis, Joseph Konstan, and John Riedl
●

Application of Dimensionality Reduction in Recommender System - A
Case Study
Badrul Sarwar, George Karypis, Joseph Konstan, and John Riedl
●

Weitere ähnliche Inhalte

Andere mochten auch (13)

Social and political environment
Social and political environmentSocial and political environment
Social and political environment
 
Cátedra universitaria, alania
Cátedra universitaria, alaniaCátedra universitaria, alania
Cátedra universitaria, alania
 
Netiqueta
NetiquetaNetiqueta
Netiqueta
 
US09512516
US09512516US09512516
US09512516
 
Presentació tallers
Presentació tallersPresentació tallers
Presentació tallers
 
Obra de la independencia(1)
Obra de la independencia(1)Obra de la independencia(1)
Obra de la independencia(1)
 
Argibideak froga1
Argibideak froga1Argibideak froga1
Argibideak froga1
 
European youth the citizens of tomorrow
European youth  the citizens of tomorrowEuropean youth  the citizens of tomorrow
European youth the citizens of tomorrow
 
MActiva2
MActiva2MActiva2
MActiva2
 
Maltrato
MaltratoMaltrato
Maltrato
 
DIA DOS NAMORADOS LACQUA DI FIORI
DIA DOS NAMORADOS LACQUA DI FIORIDIA DOS NAMORADOS LACQUA DI FIORI
DIA DOS NAMORADOS LACQUA DI FIORI
 
programme_japon
programme_japonprogramme_japon
programme_japon
 
Grupo5[1]
Grupo5[1]Grupo5[1]
Grupo5[1]
 

Ähnlich wie Fortschritte im Bereich Collaborative Filtering

Nutzerforschung als Grundlage für A/B Tests, die bessere Ergebnisse bringen
Nutzerforschung als Grundlage für A/B Tests, die bessere Ergebnisse bringenNutzerforschung als Grundlage für A/B Tests, die bessere Ergebnisse bringen
Nutzerforschung als Grundlage für A/B Tests, die bessere Ergebnisse bringenOptimizely
 
USECON_Experience Tools
USECON_Experience ToolsUSECON_Experience Tools
USECON_Experience ToolsUSECON
 
Ansätze für gemeinschaftliches Filtering
Ansätze für gemeinschaftliches FilteringAnsätze für gemeinschaftliches Filtering
Ansätze für gemeinschaftliches FilteringFlorian Stegmaier
 
Kontext basierte Personalisierungsansätze
Kontext basierte PersonalisierungsansätzeKontext basierte Personalisierungsansätze
Kontext basierte PersonalisierungsansätzeLucas M
 
Wettschätzen mit der Bet-Cost-Matrix
Wettschätzen mit der Bet-Cost-MatrixWettschätzen mit der Bet-Cost-Matrix
Wettschätzen mit der Bet-Cost-MatrixScreamin Wrba
 
Angebotsoptimierung durch Empfehlungssysteme im E-Commerce
Angebotsoptimierung durch Empfehlungssysteme im E-CommerceAngebotsoptimierung durch Empfehlungssysteme im E-Commerce
Angebotsoptimierung durch Empfehlungssysteme im E-CommerceBusiness Intelligence Research
 

Ähnlich wie Fortschritte im Bereich Collaborative Filtering (7)

Nutzerforschung als Grundlage für A/B Tests, die bessere Ergebnisse bringen
Nutzerforschung als Grundlage für A/B Tests, die bessere Ergebnisse bringenNutzerforschung als Grundlage für A/B Tests, die bessere Ergebnisse bringen
Nutzerforschung als Grundlage für A/B Tests, die bessere Ergebnisse bringen
 
USECON_Experience Tools
USECON_Experience ToolsUSECON_Experience Tools
USECON_Experience Tools
 
Sozialtarif_Evaluationsbericht.pdf
Sozialtarif_Evaluationsbericht.pdfSozialtarif_Evaluationsbericht.pdf
Sozialtarif_Evaluationsbericht.pdf
 
Ansätze für gemeinschaftliches Filtering
Ansätze für gemeinschaftliches FilteringAnsätze für gemeinschaftliches Filtering
Ansätze für gemeinschaftliches Filtering
 
Kontext basierte Personalisierungsansätze
Kontext basierte PersonalisierungsansätzeKontext basierte Personalisierungsansätze
Kontext basierte Personalisierungsansätze
 
Wettschätzen mit der Bet-Cost-Matrix
Wettschätzen mit der Bet-Cost-MatrixWettschätzen mit der Bet-Cost-Matrix
Wettschätzen mit der Bet-Cost-Matrix
 
Angebotsoptimierung durch Empfehlungssysteme im E-Commerce
Angebotsoptimierung durch Empfehlungssysteme im E-CommerceAngebotsoptimierung durch Empfehlungssysteme im E-Commerce
Angebotsoptimierung durch Empfehlungssysteme im E-Commerce
 

Mehr von Florian Stegmaier

Realtime
 Distributed Analysis
 of Datastreams
Realtime
 Distributed Analysis
 of DatastreamsRealtime
 Distributed Analysis
 of Datastreams
Realtime
 Distributed Analysis
 of DatastreamsFlorian Stegmaier
 
Effiziente Verarbeitung von großen Datenmengen
Effiziente Verarbeitung von großen DatenmengenEffiziente Verarbeitung von großen Datenmengen
Effiziente Verarbeitung von großen DatenmengenFlorian Stegmaier
 
Trust-based recommender systems
Trust-based recommender systemsTrust-based recommender systems
Trust-based recommender systemsFlorian Stegmaier
 
Trust und Interest Similarity und deren Anwendung für Empfehlungssysteme
Trust und Interest Similarity und deren Anwendung für EmpfehlungssystemeTrust und Interest Similarity und deren Anwendung für Empfehlungssysteme
Trust und Interest Similarity und deren Anwendung für EmpfehlungssystemeFlorian Stegmaier
 
Robustheit in Empfehlungssystemen
Robustheit in EmpfehlungssystemenRobustheit in Empfehlungssystemen
Robustheit in EmpfehlungssystemenFlorian Stegmaier
 
Linked Open Data als Basis für Empfehlungssysteme
Linked Open Data als Basis für EmpfehlungssystemeLinked Open Data als Basis für Empfehlungssysteme
Linked Open Data als Basis für EmpfehlungssystemeFlorian Stegmaier
 
Entscheidungshilfe: Recommender System
Entscheidungshilfe: Recommender SystemEntscheidungshilfe: Recommender System
Entscheidungshilfe: Recommender SystemFlorian Stegmaier
 
Funktionsweise und Ansätze von inhaltsbasiertem Filtern
Funktionsweise und Ansätze von inhaltsbasiertem FilternFunktionsweise und Ansätze von inhaltsbasiertem Filtern
Funktionsweise und Ansätze von inhaltsbasiertem FilternFlorian Stegmaier
 
Evaluierung von Empfehlungssystemen
Evaluierung von EmpfehlungssystemenEvaluierung von Empfehlungssystemen
Evaluierung von EmpfehlungssystemenFlorian Stegmaier
 
Effiziente Verarbeitung von grossen Datenmengen
Effiziente Verarbeitung von grossen DatenmengenEffiziente Verarbeitung von grossen Datenmengen
Effiziente Verarbeitung von grossen DatenmengenFlorian Stegmaier
 
Introduction to the FP7 CODE project @ BDBC
Introduction to the FP7 CODE project @ BDBCIntroduction to the FP7 CODE project @ BDBC
Introduction to the FP7 CODE project @ BDBCFlorian Stegmaier
 
Generische Datenintegration zur semantischen Diagnoseunterstützung im Projekt...
Generische Datenintegration zur semantischen Diagnoseunterstützung im Projekt...Generische Datenintegration zur semantischen Diagnoseunterstützung im Projekt...
Generische Datenintegration zur semantischen Diagnoseunterstützung im Projekt...Florian Stegmaier
 
AIR: Architecture for Interoperable Retrieval on Distributed and Heterogeneou...
AIR: Architecture for Interoperable Retrieval on Distributed and Heterogeneou...AIR: Architecture for Interoperable Retrieval on Distributed and Heterogeneou...
AIR: Architecture for Interoperable Retrieval on Distributed and Heterogeneou...Florian Stegmaier
 

Mehr von Florian Stegmaier (14)

Realtime
 Distributed Analysis
 of Datastreams
Realtime
 Distributed Analysis
 of DatastreamsRealtime
 Distributed Analysis
 of Datastreams
Realtime
 Distributed Analysis
 of Datastreams
 
Effiziente Verarbeitung von großen Datenmengen
Effiziente Verarbeitung von großen DatenmengenEffiziente Verarbeitung von großen Datenmengen
Effiziente Verarbeitung von großen Datenmengen
 
Trust-based recommender systems
Trust-based recommender systemsTrust-based recommender systems
Trust-based recommender systems
 
Trust und Interest Similarity und deren Anwendung für Empfehlungssysteme
Trust und Interest Similarity und deren Anwendung für EmpfehlungssystemeTrust und Interest Similarity und deren Anwendung für Empfehlungssysteme
Trust und Interest Similarity und deren Anwendung für Empfehlungssysteme
 
Musikempfehlungssysteme
MusikempfehlungssystemeMusikempfehlungssysteme
Musikempfehlungssysteme
 
Robustheit in Empfehlungssystemen
Robustheit in EmpfehlungssystemenRobustheit in Empfehlungssystemen
Robustheit in Empfehlungssystemen
 
Linked Open Data als Basis für Empfehlungssysteme
Linked Open Data als Basis für EmpfehlungssystemeLinked Open Data als Basis für Empfehlungssysteme
Linked Open Data als Basis für Empfehlungssysteme
 
Entscheidungshilfe: Recommender System
Entscheidungshilfe: Recommender SystemEntscheidungshilfe: Recommender System
Entscheidungshilfe: Recommender System
 
Funktionsweise und Ansätze von inhaltsbasiertem Filtern
Funktionsweise und Ansätze von inhaltsbasiertem FilternFunktionsweise und Ansätze von inhaltsbasiertem Filtern
Funktionsweise und Ansätze von inhaltsbasiertem Filtern
 
Evaluierung von Empfehlungssystemen
Evaluierung von EmpfehlungssystemenEvaluierung von Empfehlungssystemen
Evaluierung von Empfehlungssystemen
 
Effiziente Verarbeitung von grossen Datenmengen
Effiziente Verarbeitung von grossen DatenmengenEffiziente Verarbeitung von grossen Datenmengen
Effiziente Verarbeitung von grossen Datenmengen
 
Introduction to the FP7 CODE project @ BDBC
Introduction to the FP7 CODE project @ BDBCIntroduction to the FP7 CODE project @ BDBC
Introduction to the FP7 CODE project @ BDBC
 
Generische Datenintegration zur semantischen Diagnoseunterstützung im Projekt...
Generische Datenintegration zur semantischen Diagnoseunterstützung im Projekt...Generische Datenintegration zur semantischen Diagnoseunterstützung im Projekt...
Generische Datenintegration zur semantischen Diagnoseunterstützung im Projekt...
 
AIR: Architecture for Interoperable Retrieval on Distributed and Heterogeneou...
AIR: Architecture for Interoperable Retrieval on Distributed and Heterogeneou...AIR: Architecture for Interoperable Retrieval on Distributed and Heterogeneou...
AIR: Architecture for Interoperable Retrieval on Distributed and Heterogeneou...
 

Fortschritte im Bereich Collaborative Filtering

  • 1. Fortschritte im Bereich Collaborative Filtering Vortrag von Martin Esche 06.12.2013
  • 2. Gliederung Kurze Einführung in die Funktionsweise von Collaborative Filtering  Vorstellung Verschiedener Methoden zur Verbesserung der Ergebnisse  Neighborhood Model  Matrix Factorization Model  Vergleich der vorgestellten Methoden 
  • 3. Einführung in die Funktionalität von Collaborative Filtering
  • 4. Einführung zu Collaborative Filtering Grundsätzliche Funktionsweise: ● Es werden Verhaltensmuster von Nutzern auf Grundlage verschiedener Informationen (z.B. Bewertungen, Kaufhistorie) in Bezug zu Produkten erstellt ● Aufgrund der erstellten Muster werden die Interessen einzelner Nutzer vorhergesagt ● Dem Nutzer werden dann Dinge empfohlen, die den vorausgesagten Interessen entsprechen
  • 5. Einführung zu Collaborative Filtering Es gibt hierbei zwei grundsätzlich unterschiedliche Ansätze: ● Neighborhood Modelle: Je nach Model werden Gruppen ähnlicher Nutzer/Gruppen ähnlicher Produkte bestimmt, die dann für Empfehlungen genutzt werden ● Matrix Factorization: Nutzer und Produkte werden in einer Matrix auf einen Faktor reduziert und dann verglichen
  • 6. Herausforderungen von Collaborative Filtering Probleme mit beiden Verfahren (naiv): ● Datenknappheit: Bei großen Datenbanken: Große Mehrheit der Bewertungen ist unbekannt ● Skalierbarkeit: Der Berechnungsaufwand steigt exponentiell mit der Anzahl der Nutzer/Produkte ● Ignorieren von Synonymen: Ähnliche Produkte können übersehen werden, weil sie unterschiedlich benannt sind
  • 8. Neighborhood-Modelle: Einführung Grundsätzlicher Ablauf (Nutzervergleich): ● Eine Nachbarschaft(Neighborhood) von Nutzern wird für einen Nutzer bestimmt, indem betrachtet wird, welche anderen Nutzer Produkte ähnlich wie dieser Nutzer bewerten ● Aus der Nachbarschaft werden die von den einzelnen Nutzern bewerteten Produkte nach Güte der Wertung und Häufigkeit des Auftretens verglichen, worauf die besten ausgewählt und dem Nutzer empfohlen werden
  • 9. Neighborhood-Modelle: Einführung Grundsätzlicher Ablauf (Produktvergleich): ● Analog zum Nutzervergleich wird eine Produktnachbarschaft bestimmt ● Für das bestimmte Produkt wird über die Bewertung der Nachbarschaftsprodukte eine Wertung des Nutzers geschätzt ● Die Produkte mit der höchsten geschätzten Wertung werden dann angezeigt
  • 10. Neighborhood-Modelle: Berechnung der Ähnlichkeit Bei der Schätzung von Bewertungen ist zu beachten, dass es Nutzer gibt, die im allgemeinen höher abstimmen. Ebenso gibt es Produkte, die im allgemeinen eine bessere Bewertung erhalten. → Dies ist in den Schätzungen mit einzubeziehen! Standardbewertung : x Abweichung Nutzer u: b(u) Abweichung Produkt i: b(i) Standardbewertung Nutzer u, Produkt i: b ui =x+b u+bi
  • 11. Neighborhood-Modelle: Berechnung der Ähnlichkeit Die Tendenz von Nutzern, die Produkte i und j ähnlich zu bewerten, wird dann mit dem PearsonKorrelationskoeffizient berechnet. Dabei wird die Gruppe Nutzer U betrachtet, die sowohl i als auch j bewertet haben. Auch wird die Abweichung von Nutzern und Produkten b(u,i) und b(u,j) mit einbezogen. pij = (∑ u∈U (r ui −b ui )(r uj −b uj )) √ 2 2 ( ( ∑ u∈U (r ui −bui ) ∗( ∑ u∈U (r uj −b uj ) )))
  • 12. Neighborhood-Modelle: Berechnung der Ähnlichkeit Es lässt sich dann für jeden Nutzer u die geschätzte Wertung für das Produkt i berechnen, indem man einen gewichteten Durchschnitt der Wertungen für die durch die obige Formel bestimmten nächsten Nachbarn K errechnet. r ui =b ui + ( ∑ j∈ K pij (r uj −b uj )) ( ∑ j∈ K pij )
  • 13. Neighborhood-Modelle: Berechnung der Ähnlichkeit Hierbei ist zu beachten, dass die Gewichtung des Durchschnitts hierbei von der Ähnlichkeitsfunktion der Nachbarn abhängt, was einige Probleme mit sich bringt. Eine verbesserte Version dieser Berechnung würde Für die Gewichtung die tatsächlichen Bewertungen verwenden.
  • 15. Matrix Factorization: Einführung Bei Matrix Factorization erhalten Produkte und Nutzer gemeinsame Faktoren, auf denen ihre Abhängigkeit voneinander abgebildet wird. Beispiel: Filme Faktor: Komödie oder Drama Ein Film hat einen hohen Komödienfaktor, ein Nutzer einen großes Interesse an hohem Komödienfaktor → Der Film ist für den Nutzer interessant
  • 16. Matrix Factorization: SVD(Singular Value Decomposition) Jedes Produkt i ist mit einem Vektor q(i) assoziiert, und jeder Nutzer u mit einem Vektor p(u). Für i sagen die Elemente von q aus, wie hoch der Anteil an dem jeweiligen Faktor für das Produkt ist, für u sagt p aus, wie hoch das jeweilige Interesse ist. Das Skalarprodukt der Vektoren zeigt dann das Intresse des Nutzers am gegebenen Produkt.
  • 17. Matrix Factorization: SVD Multipliziert man also für Faktoren q(i) und p(u) skalar und nimmt noch die zuvor erklärten Abweichungen b(u) und b(i) sowie die Standardwertung x hinzu, so Lässt sich die vorhergesehene Bewertung des Produktes i durch den Nutzer u r(u,i) wie folgt berechnen: T i r ui = x+bi +b u +q pu
  • 18. Matrix Factorization: SVD Um die Modellparameter (b(i), b(u), q(i), p(u) ) herauszufinden, wird die mittlere Quadratische Abweichung berechnet: min( ∑ (u , i)∈K T i 2 2 2 2 2 r ui −x−bi −bu −q p u ) +k (bi +bu +∥qi ∥+∥pu∥)
  • 19. Matrix Factorization: SVD Um die Modellparameter (b(i), b(u), q(i), p(u) ) herauszufinden, wird die mittlere Quadratische Abweichung berechnet: min( ∑ (u , i)∈K T i 2 2 i 2 u 2 i 2 u r ui −x−bi −bu −q p u ) +k (b +b +∥q ∥+∥p ∥) Hier kann man dann mit Hilfe der kleinstenQuadrate-Methode abwechselnd p's fest setzt um nach den q's aufzulösen und q's fest setzt um nach den p's aufzulösen.
  • 20. Matrix Factorization: SVD++ Die SVD-Methode kann dadurch verbessert werden, dass auch implizite Information einbezogen wird Implizite Information bedeutet alle Information, die nicht direkt durch Bewertungen gegeben wird. Dies kann zum Beispiel sein, wie oft sich ein Nutzer ein Produkt ansieht, oder ob er ein Produkt bewertet hat.
  • 21. Matrix Factorization: SVD++ Beim SVD++ Model ist diese Zusatzinformation, welche Produkte der Nutzer bewertet hat. Diese Information wird durch einen weiteren Vektor y(i) beim Produkt dargestellt. Die neue Gleichung ist dann: T i ( r ui =x+bi +b u +q ( p u +∣R(u)∣ −1 ) 2 ∗∑ j∈ R(u) y j ) Die Modellparameter werden hier wieder durch Minimieren der mittleren quadratischen Abweichung und stochastischen Gradientenabstieg bestimmt.
  • 22. Matrix Factorization: timeSVD++ Beim timeSVD++ Model wird zusätzlich zur normalen Bewertungsinformation noch berücksichtigt, dass sich Wertungen mit der Zeit ändern können, so können Beispielsweise Horrorfilme ein Jahr lang hohe Popularität genießen, jedoch dann abfallen. Das bedeutet, dass Nutzerausrichtung b(u), Produktbevorzugung b(i) und Nutzervorlieben p(u) jeweils noch eine zeitliche Komponente mit sich bringen: bi (t) , b u (t) und p u (t )
  • 23. Matrix Factorization: timeSVD++ Durch diese Anpassungen kann Beispielsweise erkannt werden, welche Art von Filmen zu Weihnachten mehr ausgeliehen werden als sonst im Jahr, oder wie ein Nutzer seine Vorlieben im Laufe der Zeit ändert.
  • 25. Vergleich der Modelle: Neighbourhood Nutzer/Produkte Produkt-fokussierte Neighbourhood-Modelle können Im Vergleich zu Nutzerfokussierten Modellen deutlich einfacher neue Bewertungen und Nutzer einfügen, solange sich die Beziehungen zwischen Produkten nicht ändert, was sehr selten geschieht.
  • 26. Vergleich der Modelle: Matrix Factorisation Die Standardmethode SVD kann durch verschiedene Zusatzvektoren so erweitert werden, dass sie in einem Datenbanktest von den hier betrachteten Modellen die höchste Genauigkeit bei der Empfehlung Von Produkten erzielt. Die timeSVD++ Methodik, bei der dies der Fall war, kann auch mit weniger Information gute Ergebnisse liefern, da sie sich nicht nur auf Bewertungen verlässt.
  • 27. Ausblick: Modellmischformen Es ist durchaus möglich, die hier präsentierten Modelle erfolgreich zu vermischen; Beispielsweise lässt sich ein Neighborhood Modell auch mit Faktoren realisieren, auch zeitliche Aspekte können bei erweiterten Modellen eine Rolle spielen.
  • 28. Quellen ● Advances in Collaborative Filtering Yehuda Koren and Robert Bell Analysis of Recommendation Algorithms for E-Commerce Badrul Sarwar, George Karypis, Joseph Konstan, and John Riedl ● Application of Dimensionality Reduction in Recommender System - A Case Study Badrul Sarwar, George Karypis, Joseph Konstan, and John Riedl ●