intelligente datenanalyse in matlab - cs.uni-potsdam.de · jede instanz (z.b. film, produkt) hat...

26
INTELLIGENTE DATENANALYSE IN MATLAB Collaborative Filtering

Upload: others

Post on 29-Oct-2019

4 views

Category:

Documents


0 download

TRANSCRIPT

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