Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2...

43
8-1 Data Mining WS 2018/19 Data Mining Kapitel 8: Recommendation Systems Johannes Zschache Wintersemester 2018/19 Abteilung Datenbanken, Universität Leipzig http://dbs.uni-leipzig.de

Transcript of Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2...

Page 1: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-1Data Mining WS 2018/19

Data Mining

Kapitel 8: Recommendation Systems

Johannes Zschache

Wintersemester 2018/19

Abteilung Datenbanken, Universität Leipzig

http://dbs.uni-leipzig.de

Page 2: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-2Data Mining WS 2018/19

Übersicht

Hoch-dimension.

Daten

Locality sensitive hashing

Clustering

Dimension.reduction

Graph-daten

PageRank, SimRank

Network Analysis

Spam Detection

UnbegrenzteDaten

Filtering data

streams

Web advertising

Queries on streams

MaschinellesLernen

Support Vector

Machines

Decision Trees

Nearest Neighbors

Anwendung

Recommen.Systems

Association Rules

Duplicate document detection

Page 3: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-3Data Mining WS 2018/19

Inhaltsverzeichnis

• Einführung

• Inhaltsbasiert Analyse

• Collaborative Filtering

– Netflix Prize

– CF mit Bias und gelernten Gewichten

• Latentes Variablenmodell

Page 4: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-4Data Mining WS 2018/19

Empfehlungen

Suche Empfehlungen

Produkte, Webseiten,

Blogs, Nachrichten,

Filme, Musik, Bilder, …

Beispiele:

Page 5: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-5Data Mining WS 2018/19

Empfehlungen

• Unzählige Informationen im WWW benötigen Filter

– Assoziationsregeln

– Empfehlungssysteme

• Arten der Empfehlung

– Redaktion: Liste der beliebtesten/wichtigsten Produkte

– Einfache Aggregate: Top 10, Meist gekauften Produkte, Neuesten Filme, …

– Auf einzelnen Nutzer zugeschnitten

• Nutzenmatrix

– Menge von Nutzern 𝑋

– Menge von Objekten 𝑆

– Nutzenfunktion 𝑢: 𝑋 x 𝑆 → ℝ

– Beispiel: 1-10 Sterne

Avatar LotR Matrix Pirates

Alice 10 2

Bob 5 3

Carol 1 5

David 4

Page 6: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-6Data Mining WS 2018/19

Fragestellung

• Schätzung der unbekannten Bewertungen

– Hauptsächlich möchte man die hohen Bewertungen wissen

– Weniger interessant, welche Objekte nicht gemocht werden

• Drei Herangehensweisen (u.a.):

1. Inhaltsbasiert Analyse

2. Collaborative Filter

3. Latente Variablen

Avatar LotR Matrix Pirates

Alice 10 2

Bob 5 3

Carol 1 5

David 4

Page 7: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-7Data Mining WS 2018/19

Inhaltsverzeichnis

• Einführung

• Inhaltsbasiert Analyse

• Collaborative Filtering

– Netflix Prize

– CF mit Bias und gelernten Gewichten

• Latentes Variablenmodell

Page 8: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-8Data Mining WS 2018/19

Inhaltsbasierte Analyse

• Idee: Empfehlung von Objekten für einen Nutzer, wenn ähnliche Objekte

von dem Nutzer positiv bewertet wurden

• Beispiele:

– Empfehle Filme mit gleichen Schauspielern, Regisseur, Genre, …

– Empfehle Webseiten mit ähnlichen Themen/Wörtern

Hohe Bewertung

Objektprofil

Rot

Kreise

DreieckeNutzerprofil

Zuordnung

Empfehlung

Page 9: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-9Data Mining WS 2018/19

Inhaltsbasierte Analyse

• Objektprofil: Menge von Merkmalen

– Filme: Titel, Schauspieler, Regisseur, …

– Text: Wichtige Wörter (Tf-idf-Maß, Siehe Folie 4-53 in Kap 4 - Link Analysis)

– Beispiel:

• Nutzerprofil:

– Gewichteter Durchschnitt der bewerteten Objektprofile

– Gewichtet nach (normalisierter) Bewertung

– Normalisierung: Subtraktion des Mittelwerts

Cameron Wachowski UK Action Fantasy

Avatar 1 0 1 1 1

Matrix 0 1 1 1 0

Cameron Wachowski UK Action Fantasy

Alice 4 -4 0 0 4

Carol -2 2 0 0 -2

Avatar Matrix

Alice 10 2

Carol 1 5

Nutzenmatrix

Page 10: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-10Data Mining WS 2018/19

Inhaltsbasierte Analyse

• Unbewerteter Film

• Ähnlichkeit mit Nutzern, z.B. über Kosinus-Ähnlichkeit

cos(𝒙, 𝒊) =𝒙 · 𝒊

𝒙 ⋅ 𝒊

• Beispiel

– Alice: cos 𝒙, 𝒊 =4

64∙1= 0.063

– Carol: cos 𝒙, 𝒊 =−2

8= −0.25

• LSH zum Auffinden unbewerteter Filme mit wahrscheinlich hoher

Ähnlichkeit

Cameron Wachowski UK Action Fantasy

Titanic 1 0 1 0 0

Cameron Wachowski UK Action Fantasy

Alice 4 -4 0 0 4

Carol -2 2 0 0 -2

Page 11: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-11Data Mining WS 2018/19

Inhaltsverzeichnis

• Einführung

• Inhaltsbasiert Analyse

• Collaborative Filtering

– Netflix Prize

– CF mit Bias und gelernten Gewichten

• Latentes Variablenmodell

Page 12: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-12Data Mining WS 2018/19

Collaborative Filtering

• Nutzer X

• Suche nach einer Menge N von Nutzern mit ähnlichen Präferenzen

(Bewertungen in Nutzenmatrix)

• Schätzung der unbekannten

Bewertungen über die

Bewertungen der Nutzer aus N

x

N

Page 13: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-13Data Mining WS 2018/19

Ähnlichkeit

• Ähnlichkeit zwischen A und B vs A und C:

cos 𝐴, 𝐵 = 0.38 > 0.32 = cos(𝐴, 𝐶)

• Problem: Fehlende Werte gehen als Null in die Berechnung ein

• Null wäre die schlechteste Bewertung

• Lösung: Normalisierung über Subtraktion des Mittelwerts

cos 𝐴, 𝐵 = 0.092cos 𝐴, 𝐶 = −0.559

𝒔𝒊𝒎(𝒙, 𝒚) =σ𝒊 𝒓𝒙𝒊 ⋅ 𝒓𝒚𝒊

σ𝒊 𝒓𝒙𝒊𝟐 ⋅ σ𝒊 𝒓𝒚𝒊

𝟐

Page 14: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-14Data Mining WS 2018/19

Schätzung unbekannter Bewertungen

• Sei 𝑟𝑥 der Vektor mit den Bewertungen des Nutzers X

• Keine Bewertung für Objekt 𝑖

• Sei 𝑁 die Menge der 𝑘 ähnlichsten Nutzer mit einer Bewertung für 𝑖

• Schätzung:

Ƹ𝑟𝑥𝑖 =1

𝑘

𝑦∈𝑁

𝑟𝑦𝑖

• Alternative:

Ƹ𝑟𝑥𝑖 =σ𝑦∈𝑁 𝑠𝑥𝑦 ⋅ 𝑟𝑦𝑖σ𝑦∈𝑁 𝑠𝑥𝑦

• Notation: 𝑠𝑥𝑦 bezeichnet die Ähnlichkeit zwischen den Nutzern 𝑥 und 𝑦

Page 15: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-15Data Mining WS 2018/19

Collaborative Filtering für Objekte

• Für ein Objekt i, suche nach einer Menge ähnlicher Objekte

• Schätzung von fehlenden Bewertungen über die Bewertungen ähnlicher

Objekte

Ƹ𝑟𝑥𝑖 =σj∈𝑁(i;x) 𝑠𝑖𝑗 ⋅ 𝑟𝑥𝑗

σ𝑦∈𝑁(i;x) 𝑠𝑖𝑗

• Vorteil: Objekte sind oft einfacher klassifizierbar als Menschen

– Ein Musikalbum ist entweder Rock oder Klassik

– Menschen können beide Musikrichtungen mögen

– Es ist leicht möglich, das zwei Menschen Rock mögen und gleichzeitig eine andere

Musikrichtung, für die sich der jeweils andere gar nicht begeistert

𝒔𝒊𝒋 = Ähnlichkeit zwischen Objekt i und j

𝑵(𝒊; 𝒙) = Objekte, die ähnlich zu i sind

und von x bewertet wurden

Page 16: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-16Data Mining WS 2018/19

Objekt CF

121110987654321

455311

3124452

534321423

245424

5224345

423316

NutzerF

ilm

e

Unbekannt Bewertung

?

Page 17: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-17Data Mining WS 2018/19

Objekt CF

121110987654321

455?311

3124452

534321423

245424

5224345

423316

NutzerF

ilm

e

Unbekannt Bewertung

1.00

-0.18

0.41

-0.10

-0.31

0.59

𝒔𝟏𝒋

?

Page 18: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-18Data Mining WS 2018/19

Objekt CF

121110987654321

4552.6311

3124452

534321423

245424

5224345

423316

NutzerF

ilm

e

1.00

-0.18

0.41

-0.10

-0.31

0.59

𝒔𝟏𝒋

𝑟𝑖𝑥 =σ𝑗∈𝑁(𝑖;𝑥) 𝑠𝑖𝑗 ⋅ 𝑟𝑗𝑥

σ𝑗∈𝑁(𝑖;𝑥) 𝑠𝑖𝑗=0.41 ∙ 2 + 0.59 ∙ 3

0.41 + 0.59= 2.6

Page 19: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-19Data Mining WS 2018/19

Vergleich: Vorteile

Collaborative Filtering Inhaltsbasierte Analyse

Keine Auswahl von Merkmalen notwendig

(insb. bei Bildern/Musik)

Benötigt keine Daten anderer Nutzer

Trennung verschiedener Interessen eines

Nutzers möglich (Objekt CF)

Empfehlungen für Nutzer mit einzigartigem

Geschmack möglich

Empfehlungen von neuen/unpopulären

Objekten möglich

Erklärung für Empfehlung möglich: Auflisten

der Merkmale mit höchstem Gewicht

• Allgemeines Problem: Nutzenmatrix ist oft spärlich besetzt

• Lösung (siehe auch Übungsaufgabe):

• Clusteranalyse auf Objekte und Zusammenfassen der Objekte eines Clusters

(Mittelwert über Bewertungen)

• Anschließend Clusteranalyse auf Nutzer und Zusammenfassen der Nutzer eines

Clusters (Mittelwert über gemittelte Bewertungen)

• Wiederholung des Prozesses bis Matrix ausreichend besetzt

Page 20: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-20Data Mining WS 2018/19

Inhaltsverzeichnis

• Einführung

• Inhaltsbasiert Analyse

• Collaborative Filtering

– Netflix Prize

– CF mit Bias und gelernten Gewichten

• Latentes Variablenmodell

Page 21: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-21Data Mining WS 2018/19

Netflix Prize

• Trainingsdaten

– 100 Million Bewertungen (1-5 Sterne)

– ca. 480 000 zufällig ausgewählte Nutzer

– ca. 17 770 Filme

– Zeitraum: 2000-2005

• Testdaten

– Menge R: die letzten Bewertungen der ausgewählten Nutzer (2.8 Millionen)

– Evaluation über Root Mean Square Error (RMSE):

1

𝑅

(𝑖,𝑥)∈𝑅

Ƹ𝑟𝑥𝑖 − 𝑟𝑥𝑖2

– System von Netflix: CineMatch

– RMSE von CineMatch: 0.9514 (durchschnittliche Fehler: ein Stern)

• Wettbewerb: $1 Million für das erste Team dessen Algorithmus eine

Verbesserung um 10% (RMSE von 0.8572 oder weniger) erreicht

Page 22: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-22Data Mining WS 2018/19

Grand Prize: 0.8563

CineMatch: 0.9514

Filmdurchschnitt: 1.0533

Nutzerdurchschnitt: 1.0651

Globaler Durchschnitt: 1.1296

Netflix Prize: RMSE

Collaborative filtering: 0.94

Page 23: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-23Data Mining WS 2018/19

Inhaltsverzeichnis

• Einführung

• Inhaltsbasiert Analyse

• Collaborative Filtering

– Netflix Prize

– CF mit Bias und gelernten Gewichten

• Latentes Variablenmodell

Page 24: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-24Data Mining WS 2018/19

CF mit Bias

• CF für Objekte:

• Bessere Ergebnisse durch Berücksichtigung „globaler Effekte“:

– Globaler Durchschnitt aller Bewertungen 𝝁

– Nutzerbias: 𝒃𝒙 =𝟏

𝒏𝒙σ𝒊 𝒓𝒙𝒊 −𝝁 (𝑛𝑥 ist Anzahl der Bewertungen von x)

– Filmbias: 𝒃𝒊=𝟏

𝒏𝒊σ𝒙 𝒓𝒙𝒊 −𝝁 (𝑛𝑖 ist Anzahl der Bewertungen für i)

– Baseline-Schätzer für 𝒓𝒙𝒊: 𝒃𝒙𝒊 = 𝝁 + 𝒃𝒙 + 𝒃𝒊

• CF mit Bias:

);(

);(ˆ

xiNj ij

xiNj xjij

xis

rsr

);(

);()(

xiNj ij

xiNj xjxjij

xixis

brsbr^

Page 25: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-25Data Mining WS 2018/19

CF mit Bias und gelernten Gewichten

• Problem bei Verwendung von 𝑠𝑖𝑗 : Willkürlich festgelegtes Maß (z.B.

Kosinus-Ähnlichkeit)

• Anpassung über gewichtete Summe:

ෞ𝑟𝑥𝑖 = 𝑏𝑥𝑖 +

𝑗∈𝑁(𝑖;𝑥)

𝑤𝑖𝑗 𝑟𝑥𝑗 − 𝑏𝑥𝑗

• 𝑵(𝒊; 𝒙) bezeichnet weiterhin die Menge der ähnlichen Filme

• Die Gewichte 𝒘𝒊𝒋 werden gelernt: Minimierung des RMSE bei

Anwendung auf Trainingsdaten

• Idee: ein Empfehlungssystem, das optimal auf den Trainingsdaten

arbeitet, funktioniert auch gut auf neuen Daten (mit unbekannten

Bewertungen)

Page 26: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-26Data Mining WS 2018/19

CF mit Bias und gelernten Gewichten

• Finde Gewichte 𝒘 = (𝑤𝑖𝑗)𝑖𝑗, die folgenden Ausdruck minimieren:

𝐽 𝑤 =

𝑥,𝑖

𝑏𝑥𝑖 +

𝑗∈𝑁 𝑖;𝑥

𝑤𝑖𝑗 𝑟𝑥𝑗 − 𝑏𝑥𝑗 − 𝑟𝑥𝑖

2

• Gradient descent: Einfacher Algorithmus um

lokales Minimum zu finden

– Wiederhole bis Konvergenz: 𝒘 ← 𝒘− 𝛻𝑤𝐽

– Lernrate:

– Gradient an der Stelle (i,j):

(𝛻𝑤𝐽)ij =𝜕𝐽(𝑤)

𝜕𝑤𝑖𝑗= 2

𝑥

𝑏𝑥𝑖 +

𝑘∈𝑁 𝑖;𝑥

𝑤𝑖𝑘 𝑟𝑥𝑘 − 𝑏𝑥𝑘 − 𝑟𝑥𝑖 𝑟𝑥𝑗 − 𝑏𝑥𝑗

𝐽(𝑤)

𝑤

Page 27: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-27Data Mining WS 2018/19

Grand Prize: 0.8563

CineMatch: 0.9514

Filmdurchschnitt: 1.0533

Nutzerdurchschnitt: 1.0651

Globaler Durchschnitt: 1.1296

Netflix Prize: RMSE

Collaborative filtering: 0.94

CF + Bias + gelernte Gewichte: 0.91

Page 28: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-28Data Mining WS 2018/19

Inhaltsverzeichnis

• Einführung

• Inhaltsbasiert Analyse

• Collaborative Filtering

– Netflix Prize

– CF mit Bias und gelernten Gewichten

• Latentes Variablenmodell

Page 29: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-29Data Mining WS 2018/19

Geared

towards

females

Geared

towards

males

Serious

Funny

Latentes Variablenmodell

The Princess

Diaries

The Lion King

Braveheart

Lethal Weapon

Independence

Day

AmadeusThe Color

Purple

Dumb and

Dumber

Ocean’s 11

Sense and

Sensibility

Page 30: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-30Data Mining WS 2018/19

Latentes Variablenmodell

• Reduktion der Dimensionen auf wenige Faktoren

• Zerlegung: 𝑅 ≈ 𝑄 · 𝑃𝑇 für nicht-leere Zellen von R

45531

312445

53432142

24542

522434

42331

.2-.4.1

.5.6-.5

.5.3-.2

.32.11.1

-22.1-.7

.3.7-1

-.92.41.4.3-.4.8-.5-2.5.3-.21.1

1.3-.11.2-.72.91.4-1.31.4.5.7-.8

.1-.6.7.8.4-.3.92.41.7.6-.42.1

Nutzer

Film

e

PT

Q

Film

e

Nutzer

RFaktoren

Fa

kto

ren

Page 31: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-31Data Mining WS 2018/19

Latentes Variablenmodell

• Schätzung der Werte der leeren Felder über Faktoren

45531

3124?45

53432142

24542

522434

42331

.2-.4.1

.5.6-.5

.5.3-.2

.32.11.1

-22.1-.7

.3.7-1

-.92.41.4.3-.4.8-.5-2.5.3-.21.1

1.3-.11.2-.72.91.4-1.31.4.5.7-.8

.1-.6.7.8.4-.3.92.41.7.6-.42.1

Nutzer

Film

e

PT

Q

Film

e

Nutzer

RFaktoren

Fa

kto

ren

ො𝒓𝒙𝒊 =

𝒇

𝒒𝒊𝒇 ⋅ 𝒑𝒙𝒇

Page 32: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-32Data Mining WS 2018/19

Latentes Variablenmodell

• Ziel: Finden zweier Matrizen Q und P, so dass folgender Ausdruck für alle

vorhandenen Felder minimiert wird

𝒊,𝒙

𝑟𝑥𝑖 − 𝑞𝑖 ⋅ px2

• Notation: 𝑞𝑖 bzw. 𝑝𝑥 bezeichnet die i-te Zeile von Q bzw. x-te Zeile von P

• Bestes Ergebnis für Trainingsdaten durch hohe Anzahl an Faktoren

(Spalten von Q und P) → Gefahr: Overfitting

– „Auswendig lernen“ der Trainingsdaten (inkl. Zufälliger Fehler)

– Hohe Fehlerrate auf Testdaten

– Keine Generalisierung auf unbekannte Daten möglich

• Regularisierung:

min𝑃,𝑄

𝒊,𝒙

𝑟𝑥𝑖 − 𝑞𝑖 ⋅ px2 + 𝜆1

𝑥

𝑝𝑥2 + 𝜆2

𝑖

𝑞𝑖2

Page 33: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-33Data Mining WS 2018/19

Effekt der Regularisierung

Geared

towards

females

Geared

towards

males

Serious

Funny

The Princess

Diaries

The Lion King

Braveheart

Lethal Weapon

Independence

Day

AmadeusThe Color

Purple

Dumb and

Dumber

Ocean’s 11

Sense and

Sensibility

Page 34: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-34Data Mining WS 2018/19

Gradient Descent

• Ziel:

min𝑃,𝑄

𝒊,𝒙

𝑟𝑥𝑖 − 𝑞𝑖 ⋅ 𝑝𝑥2 + 𝜆1

𝑥

𝑝𝑥2 + 𝜆2

𝑖

𝑞𝑖2

• Gradient descent:

– P P - ·P, wobei 𝛻P = [𝛻p𝑥𝑓] und

𝛻px𝑓 =

𝑖

−2 𝑟𝑥𝑖 − 𝑞𝑖 ⋅ 𝑝𝑥 qi𝑓 + 2𝜆1𝑝x𝑓

– Q Q - ·Q, wobei 𝛻𝑄 = [𝛻𝑞i𝑓] und

𝛻𝑞i𝑓 =

𝑥

−2 𝑟𝑥𝑖 − 𝑞𝑖 ⋅ 𝑝𝑥 𝑝𝑥𝑓 + 2𝜆2𝑞j𝑓

• Gradienten für jedes Element der beiden Matrizen sind Summen über

mehrere Trainingsdaten (𝑥, 𝑖): Berechnungen dauern sehr lange

Page 35: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-35Data Mining WS 2018/19

Stochastic Gradient Descent

Schnellere Konvergenz wenn, für jede Iteration, nur ein (zufällig

ausgewählter) Mini-Batch der Trainingsdaten verwendet wird

Iteration

Min

imie

run

gsf

un

ktio

n

— Gradient Descent

— Stochastic Gradient Descent

Page 36: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-36Data Mining WS 2018/19

Grand Prize: 0.8563

CineMatch: 0.9514

Filmdurchschnitt: 1.0533

Nutzerdurchschnitt: 1.0651

Globaler Durchschnitt: 1.1296

Netflix Prize: Bewertungen

Collaborative filtering: 0.94

CF + Bias + gelernte Gewichte: 0.91

Latente Variablen + Bias: 0.89

Latente Variablen: 0.90

ෞ𝒓𝒙𝒊 = 𝝁 + 𝒃𝒙 + 𝒃𝒊 + 𝒒𝒊⋅ 𝒑𝒙

ෞ𝒓𝒙𝒊 = 𝒒𝒊⋅ 𝒑𝒙

Latent Variablen + Bias + Zeit: 0.876 ෞ𝒓𝒙𝒊 = 𝝁 + 𝒃𝒙 (𝒕) + 𝒃𝒊 (𝒕) + 𝒒𝒊⋅ 𝒑𝒙(𝒕)

Page 37: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-37Data Mining WS 2018/19

Page 38: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-38Data Mining WS 2018/19

Referenzen, Beispiele, Übungen

Kapitel 9 aus „Mining of Massive Datasets“:

http://www.mmds.org/

Übungen:

• Inhaltbasierte Analyse: 9.2.1 und 9.2.3

• Collaborative Filtering: 9.3.2 (Gruppierung in fünf Cluster)

• Latente Variablen: 9.4.1

Page 39: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-42Data Mining WS 2018/19

Übung 9.2.1 und 9.2.3

• Kosinus-Ähnlichkeit z.B. zwischen A und B:

• cos 𝑎, 𝑏 =𝑎·𝑏

𝑎 ⋅ 𝑏=

3.06∙2.68+500∙320∙𝛼2+6∙4∙𝛽2

3.062+5002𝛼2+62∙𝛽2∙ 2.682+3202𝛼2+42𝛽2

• Nutzer:

Speed Disk Memory

A 3.06 500 6

B 2.68 320 4

C 2.92 640 6

𝜶 = 𝜷 = 𝟏 𝜶 = 𝟎. 𝟎𝟏, 𝜷 = 𝟎. 𝟓 𝜶 = 𝟎. 𝟎𝟎𝟐, 𝜷 = 𝟎. 𝟏𝟗

cos 𝑎, 𝑏 1 0.991 0.994

cos 𝑎, 𝑐 1 0.992 0.996

cos 𝑏, 𝑐 1 0.969 0.982

Speed Disk Memory

3.34 877 8.6

Sterne Normalisiert

A 4 1/3

B 2 -5/3

C 5 4/3

Nutzerprofil:

Page 40: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-45Data Mining WS 2018/19

Übung 9.3.2

a b c d e f g h

A 4 5 5 1 3 2

B 3 4 3 1 2 1

C 2 1 3 4 5 3

a b c d e f g h

A 1 1 0 1 0 0 1 0

B 0 1 1 1 0 0 0 0

C 0 0 0 1 0 1 1 1

b c d e f g h

a 1/2 0 1/3 0 0 1/2 0

b 1/2 2/3 0 0 1/3 0

c 1/3 0 0 0 0

d 0 1/3 2/3 1/3

e 0 0 0

f 1/2 1

g 1/2

Page 41: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-46Data Mining WS 2018/19

• 5 Cluster (anstelle von 4 Clustern)

Übung 9.3.2

a bgd c e fh

A 4 4.3 1 2

B 2.3 4 1 2

C 2 4 1 3.5

cos 𝑎, 𝑏 0.46

cos 𝑎, 𝑐 0.89

cos 𝑏, 𝑐 0.68

Page 42: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-48Data Mining WS 2018/19

Übung 9.4.1

• Zerlegung M ≈ U ∙ V:

5 2 4 4 3

3 1 2 4 1

2 3 1 4

2 5 4 3 5

4 4 5 4

𝑢11 𝑢12

𝑢21 𝑢22

𝑢31 𝑢32

𝑢41 𝑢42

𝑢51 𝑢52

𝑣11 𝑣21 𝑣31 𝑣41 𝑣51

𝑣12 𝑣22 𝑣32 𝑣42 𝑣52≈ ∙

5 2 4 4 3

3 1 2 4 1

2 3 1 4

2 5 4 3 5

4 4 5 4

1 1

1 1

1 x

1 1

1 1

1 1 1 1 1

1 1 1 1 1≈ ∙

Page 43: Data Mining - dbs.uni-leipzig.de · – Beispiel: 1-10 Sterne Avatar LotR Matrix Pirates Alice 10 2 Bob 5 3 Carol 1 5 David 4. Data Mining 8-6 WS 2018/19 Fragestellung • Schätzung

8-49Data Mining WS 2018/19

Übung 9.4.1

• Minimiere

2 − 1 + 𝑥2+ 3 − 1 + 𝑥

2+ 1 − 1 + 𝑥

2+ 4 − 1 + 𝑥

2=

1 − 𝑥 2 + 2 − 𝑥 2 + −𝑥 2 + 3 − 𝑥 2

• Ableitung: −2 1 − 𝑥 − 2 2 − 𝑥 + 2𝑥 − 2 3 − 𝑥 = −12 + 8𝑥

• Minimum: 𝑥 =3

2

• Unterschied zu Gradient Descent?

5 2 4 4 3

3 1 2 4 1

2 3 1 4

2 5 4 3 5

4 4 5 4

1 1

1 1

1 x

1 1

1 1

1 1 1 1 1

1 1 1 1 1≈ ∙