INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat...

26
INTELLIGENTE DATENANALYSE IN MATLAB Collaborative Filtering

Transcript of INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat...

Page 1: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

INTELLIGENTE DATENANALYSE

IN MATLAB

Collaborative Filtering

Page 2: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Benjamin Marlin: Collaborative Filtering – A Machine

Learning Perspective.

Thomas Hofmann: Collaborative Filtering with Privacy

via Factor Analysis.

Robert Bell et. al: Scalable Collaborative Filtering with

Jointly Derived Neighborhood Interpolation Weights.

Markus Weimer at al.: CoFiRank.

Literatur

2

Page 3: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Schritte der Datenanalyse:

Überblick

3

Aggregation und

Selektion von

Daten.

Integration und

Säuberung der

Daten.

Feature-

Extraktion.

Algorithmen für

das Optimieren

des Zielkriteriums

finden.

Implementieren

der Algorithmen.

Modell-Selektion

& -Anpassung.

Training &

Evaluation des

Modells auf

gegebenen Daten.

Vorhersage für

neue Daten.

Daten-

vorverarbeitungProblemlösung

Anwendung

der LösungProblemanalyse

Bestimmen von

gegeb./gesuchten

Größen.

Wahl des

Performanzmaß/

Zielkriteriums.

Modellraum und

Modellannahmen.

Page 4: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Gegeben: Trainingsdaten mit mehreren (teilweise)

bekannten nutzerabhängigen Sortierungen.

Eingabe: Menge von Instanzen (mit/ohne Attribute),

Nutzer (mit/ohne Attribute) und nutzerspezifische

Instanz-Bewertungen.

Ausgabe: Sortierung der Instanzen pro Nutzer.

Collaborative Filtering: Nur Instanz-Bewertungen teilweise

bekannt.

Content-based Filtering: Eigenschaften von Instanzen und

Nutzern bekannt; Präferenzen teilweise bekannt.

Problemstellung

4

Page 5: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Beispiel:

Empfehlungssysteme (Recommendation Systems) für Filme,

Musik, Restaurants, Nachrichten, Bücher usw.

Collaborative FilteringMotivation

5

Film Nutzer 1 Nutzer 2 Nutzer 3

About a Boy 5 4

Chicago 4 2 ?

And Your M… 5

Monsoon Wedding 4 1 ?

Talk to Her 4

Titanic ?

The Bourne Identity 2 2 ?

SAW 1 5 ?

Se7en 4 1

Earth 5

Stuart Little 1 ?

Tra

inin

gsd

ate

n

Zielgröße

Page 6: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Explizit:

Bewertung einer Instanz auf einer Skala bzw. mehreren

Skalen (z.B. bzgl. Qualität, Preis-Leistungsverhältnis).

Textbeitrag (z.B. Buch-Rezension, Restaurant- & Hotel-

beschreibung).

Implizit:

Kauf eines Artikels auf einer Webseite.

Anklicken, Verweilen, Wechseln einer Webseite.

Standortinformationen bei der Auswahl (z.B. Telefon-,

GPS- oder WLAN-Position).

Collaborative FilteringBewertungen: Erhebung

6

Page 7: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Umfang der Daten:

Sehr wenig Bewertungen, z.B.

Einzelner Kunde eines Web-Shops bewertet nur Bruchteil des Angebotes.

Durchschnittliche „Besetzung“ einer Filmdatenbank beträgt nur ca. 2-5%.

Sehr viele Nutzer und Instanzen.

Qualität der Daten:

Nicht-zufälliges Fehlen von Bewertungen.

Unterschiedliche Verteilung der Scores verschiedener Benutzer.

Fehlerhafte/unfaire Bewertungen.

Zeitliche Abhängigkeiten von Bewertungen (selbstverstärkend).

Collaborative FilteringBewertungen: Eigenschaften

7

Skalierbarkeit bzgl. Laufzeit

und Speicherverbrauch

Robustheit und

Generalisierungsfähigkeit

Page 8: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Gegeben: Bewertungsmatix Y wobei Instanz i = 1…m

von Nutzer j = 1…n mit bewertet wurde

und zahlreiche Bewertungen Yij unbekannt sind.

Gesucht: Ranking Scores bzw. Sortierung für

jeden Nutzer und jede Instanz.

Ziel: Modell zur Vorhersage unbekannter Scores.

Ranking für bekannte Yij und zugehörige vorhergesagte

Scores Rij sollen möglichst gleich sein.

Hohe Generalisierungsfähigkeit/Robustheit.

Collaborative FilteringAnsatz

8

ijR

min max[ , ]ijY Y Y

Page 9: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Modellierung als nutzerspezifische…

Vorhersage des Scores (Klassifikations- bzw. Regressions-

Problem).

Vorhersage der Sortierung (Ranking-Problem).

Lösungsansätze:

Ähnlichkeitsbasiert (memory-based): Ähnliche Nutzer

bewerten ähnlich und/oder ähnliche Instanzen werden

ähnlich bewertet.

Modellbasiert: Jede Instanz hat versteckte Eigenschaften

welche jeder Nutzer unterschiedlich bewertet; Eigenschaften

und Bewertungen gleichzeitig aus Daten schätzen.

Collaborative FilteringAnsatz

9

Page 10: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Annahmen:

Ähnlichkeit Uij zwischen Nutzer i

und Nutzer j entspricht Ähnlichkeit

gemeinsamer Bewertungen.

Nächste-Nachbarn-Modell:

Unbekannte Bewertung = bekannte Bewertungen gewichtet

mit Nutzer-Ähnlichkeit:

Ähnlichkeitsbasiertes FilternNutzer-Nutzer-Ähnlichkeit

10

Film Nutzer 1 Nutzer 2 Nutzer 3

About a Boy 5 3 4

Chicago 4 2

And Your M… 5

Monsoon Wedding 4 1 4

Talk to Her 1 4

jj

kj

ij ik

k B pjp B

UR Y

U

Nutzer 1 Nutzer 2 Nutzer 3

Nutzer 1 1,0 0,2 0,5

Nutzer 2 0,2 1,0 0,3

Nutzer 3 0,5 0,3 1,0

23

0,5 4 0,3 23,25

0,5 0,3R

Bj = Indexmenge {k} für welche Ykj bekannt

Page 11: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Annahmen:

Ähnlichkeit Vij zwischen Instanz i

und Instanz j entspricht Ähnlichkeit

gemeinsamer Bewertungen.

Nächste-Nachbarn-Modell:

Unbekannte Bewertung = bekannte Bewertungen gewichtet

mit Instanz-Ähnlichkeit:

Ähnlichkeitsbasiertes FilternInstanz-Instanz-Ähnlichkeit

11

ii

ikij kj

k B ipp B

VR Y

V

Film 1 Film 2 Film 3 Film 4 Film 5

Film 1 1,0 0,8 0,7 0,9 0,4

Film 2 0,8 1,0 0,1 0,9 0,2

Film 3 0,7 0,1 1,0 0,8 0,8

Film 4 0,9 0,9 0,8 1,0 0,6

Film 5 0,4 0,2 0,8 0,6 1,0

23

0,8 4 0,1 5 0,9 4 0,2 44,05

0,8 0,1 0,9 0,2R

Film Nutzer 1 Nutzer 2 Nutzer 3

About a Boy 5 3 4

Chicago 4 2

And Your M… 5

Monsoon Wedding 4 1 4

Talk to Her 1 4

Bi = Indexmenge {k} für welche Yik bekannt

Page 12: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Allgemeiner Ansatz:

Bestimmung eines Kernels K für Nutzer-Nutzer- und/oder

Instanz-Instanz-Ähnlichkeit.

Bestimmung von Gewichten W, so dass

Beispiel Nächste-Nachbarn-Modell (bspw. Instanz-Instanz):

Ähnlichkeitsbasiertes FilternLösungsidee

12

1

n

ij ik kj

k

R K W

R KW

ii

ikij kj

k B ipp B

VR Y

V

Ähnlichkeit Kik zwischen

Instanz i und Instanz k

Gewichtungsfaktor Wkj für

Instanz k und Nutzer j

Page 13: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

1. Möglichkeit: Empirische Korrelation (beispielhaft

bzgl. Nutzern).

mit mittlerem Nutzer-Rating (empirischer Mittelwert)

und mittlerer Abweichung (empirische Varianz).

Ähnlichkeitsbasiertes FilternBestimmung des Ähnlichkeitskernel

13

1

i

i ik

k Bi

YB

Bij = Indexmenge {k} für

welche Yik und Yjk bekannt

1

1ij

jk jik iij

k B i jij

YYK

B

2 21( )

1i

i ik i

k Bi

YB

Bi = Indexmenge {k} für

welche Yik bekannt

Page 14: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

2. Möglichkeit: Für gegebene Gewichtematrix W,

Ähnlichkeitsfaktoren aus Daten lernen.

Minimierung einer (regularisierten) Verlustfunktion

wie z.B. die mittlere quadratische Abweichung

zwischen gegebenen und vorhergesagtem Rating:

Ähnlichkeitsbasiertes FilternBestimmung des Ähnlichkeitskernel

14

Feste Gewichte Wkj

Gesuchte Ähnlichkeiten Kik Echtes Rating Yij

Regularisierer

1 1

arg min , ( )i

n n

ik kj ij

i j B k

l K W Y

K

K

Page 15: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

1. Möglichkeit: Nächste-Nachbarn-Ansatz bspw. mit

Mittelwert-Korrektur (beispielhaft bzgl. Instanz-Instanz-

Ähnlichkeit Vij).

2. Möglichkeit: Für gegebenen Ähnlichkeitskernel K,

Gewichtematrix aus Daten lernen:

Ähnlichkeitsbasiertes FilternBestimmung der Gewichtematrix

15

( )i

i

ikij j kj k

k B ipp B

VR Y

V

Gesuchte Gewichte WkjFeste Ähnlichkeiten Kik

1 1

arg min , ( )i

n n

ik kj ij

i j B k

l K W Y

W

W

Gewichte

Page 16: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Verlustfunktion:

Squared Loss (Regressions-Problem).

Relaxiertes NDCG-Loss (Ranking-Problem).

Regularisierer:

Sparse Lösung bevorzugt, z.B. bzw. .

Kombination aus Instanz-Instanz- und Nutzer-Nutzer-

Ähnlichkeit:

Annahme: Ähnliche Instanzen werden von ähnlichen Nutzern

nahezu gleich bewertet.

Ähnlichkeitsbasiertes FilternBestimmung der Gewichtematrix

16

,

ij

i j

W W ,

ij

i j

K K

Page 17: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Annahmen:

Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor xi (i = 1…m) mit k unbekannten Attribut-Belegungen.

Jeder Nutzer hat versteckte Interessen, d.h. Vektor wj (j = 1…n) mit k unbekannten Attribut-Bewertungen (Nutzer-Profil).

Rating Rij eines Nutzers j für Instanz i ist Skalarprodukt aus Attribut-Belegung xi und Attribut-Bewertung wj: .

Ziel:

Vektoren xi und wj für alle Instanzen und Nutzer aus Daten Schätzen sodass Rij möglichst gleich den bekannten Yij.

Hohe Generalisierungsfähigkeit, d.h. Vorhersage basierend auf möglichst wenig Attributen (kleines k).

Modellbasiertes FilternAnnahmen

17

T

ij i jR x w

Page 18: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Beispiel für (versteckte) Attribut-Belegungen:

Beispiel für (versteckte) Attribut-Bewertungen:

Beispiel-Ratings:

Modellbasiertes FilternBeispiel

18

Film Drama Action Dialoge

About a Boy 0,6 0,1 1,0

Chicago 0,7 0,2 0,7

Terminator 0,1 0,9 0,1

Matrix 0,2 1,0 0,3

Nutzer Mag Drama Mag Action Mag Dialoge

Nutzer 1 0,5 4,5 1,0

Nutzer 2 3,5 0,0 2,5

Nutzer 3 1,5 2,0 1,0

Film Nutzer 1 Nutzer 2 Nutzer 3

About a Boy 1,75 4,60 2,10

Chicago 1,95 4,20 2,15

Terminator 4,20 0,60 2,05

Matrix 4,90 1,45 2,60

0.6 1.5 0.1 2.0 1.0 1.0

Page 19: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Gleichzeitiges Schätzen von allen Vektoren xi und wj

mit dem Ziel den Abstand (Verlust) zwischen vorher-

gesagtem Rating R und echtem Rating Y zu minimieren:

Modellbasiertes FilternLösungsidee

19

1

T

1 11 1

1

| |

| |

n

n

m m mn

R R

R R

w w

X W Rx

x

, 1 1

arg min , ( , )i

m k

il lj ij

i j B l

l x w Y

X W

X W

Gesuchte Instanz-Attribute

Gesuchte Attribut-Bewertungen

Page 20: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Betrachten zunächst vereinfachende Annahmen:

Alle Ratings Y bekannt.

Squared Loss.

Keine Regularisierung.

Optimale Lösung:

Optimierungsproblem besitz unendlich viele Lösungen!

Eindeutige Lösung durch Regularisierung.

Modellbasiertes FilternAnnahme: Alle Ratings bekannt

20

T 2 T

, 1 1

arg min ( ) m n

i j ij

i j

Y

X W

x w X W Y

Matrix-Faktorisierung

Page 21: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Welchen Regularisierer verwenden?

Anzahl versteckter Attribute (Rang von R) soll klein sein.

Optimale Lösung:

Spalte von U ist Koordinatenachse des Attribute-Raums.

Zeile von U ist eine Instanz (z.B. Film) in diesem Raum.

Modellbasiertes FilternAnnahme: Alle Ratings bekannt

21

T T T T

1...min , 1... 1...

( ) , ( ) ( )i i ii m n i k i k

diag diag diag

U V Y X U W V R U V

Singulärwertzerlegung mit Singulärwerten i Rang von R ist k

Page 22: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Problem: Nicht alle Ratings bekannt.

Idee: Minimiere Rang von X und W direkt.

Rang-Funktion ist nicht konvex!

Statt Minimierung des Rangs (Anzahl Singulärwerte 0),

Minimierung der Summe der quadrierten Singulärwerte

= (quadrierte) Frobenius-Norm.

Modellbasiertes FilternAnnahme: Nicht alle Ratings bekannt

22

, 1 1

arg min , ( ( ) ( ))2

i

m k

il lj ij

i j B l

l x w Y rk rk

X W

X W

2 2

, 1 1

arg min ,2 2

i

m k

il lj ij F Fi j B l

l x w Y

X W

X W

Page 23: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Für Frobenius-Norm einer Matrix gilt:

(Ein mögliches) konvexes Optimierungsproblem für

modellbasiertes Collaborative Filtering:

Lösen beispielsweise durch abwechselnde Optimierung

bzgl. X und W.

Modellbasiertes FilternAnnahme: Nicht alle Ratings bekannt

23

min( , )2 22 T

1 1

( )m n m

i iFi i

tr

X XX x

22T

, 1 1 1

arg min ( , )2 2

i

m m nx w

i j ij i j

i j B i j

l Y

X W

x w x w

Page 24: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Algorithmus:RegCoFilter(Ratings Y, Anzahl versteckter Attribute k)

Setze l = 0, und wähle zufällig

DO

FOR j = 1…n

FOR i = 1…m

WHILE

RETURN R

Modellbasiertes Filternl2-Regularized Collaborative Filtering

24

1l l

21 Targ min ( , )

2j j

l l wj j i ij j

i B

l Y

w

w w x w

21 T 1arg min ( , )2i i

l l xi i j ij i

j B

l Y

x

x x w x

0 jj w 00 k

ii x

1 1

1 1

1 1m nl l l l

i i j j

i jm n

x x w w

Lösen bspw. mit RegERM und

Trainingsbeispielen . , |l

i ij jY i Bx

Lösen bspw. mit RegERM und

Trainingsbeispielen . 1, |l

j ij iY j B w

T

1 1

l l l l

m n R x x w w

Page 25: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Ranking-Loss verwenden (z.B. CoFiRank).

Kombination mit Ähnlichkeitsbasierten Verfahren

(z.B. Jointly Derived Neighborhood).

Spezielle Regularisierer welche bspw. Ähnlichkeits-

kernel berücksichtigen.

Approximationen für hohe Skalierbarkeit.

Normierung der gegebenen Daten (z.B. mittlere

Bewertung jedes Nutzers auf 0 skalieren).

Modellbasiertes FilternErweiterungen

25

Page 26: INTELLIGENTE DATENANALYSE IN MATLAB - cs.uni-potsdam.de · Jede Instanz (z.B. Film, Produkt) hat versteckte Eigenschaften, d.h. Vektor x i (i = 1…m) mit k unbekannten Attribut-Belegungen.

Ziel: Vorhersage von Nutzerbewertungen bzw.

nutzerspezifischen Rankings.

Vorhersage basierend ausschließlich auf bekannten

Bewertungen/Rankings anderer Nutzer.

Ähnlichkeitsbasierter Ansatz:

Nächste-Nachbarn-Modell mit Ähnlichkeiten zweier Nutzer

und/oder Instanzen.

Modellbasierter Ansatz:

Versteckte Instanz-Attribute und nutzerspezifischen Attribut-

Bewertungen gleichzeitig aus Daten schätzen.

Zusammenfassung

26