88

Collaborative Filtering: Models and Algorithmsweb.stanford.edu/~montanar/OTHER/TALKS/necsys2012.pdf · Collaborative Filtering: Models and Algorithms Andrea Montanari Jose Bento,

Embed Size (px)

Citation preview

Collaborative Filtering: Models and Algorithms

Andrea Montanari

Jose Bento, Yash Deshpande, Adel Javanmard, Raghunandan Keshavan, Sewoong Oh,

Stratis Ioannidis, Nadia Fawaz, Amy Zhang

Stanford University, Technicolor

September 15, 2012

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 1 / 58

Problem statement

Given data on the activity of a set of users, provide personalizedrecommendations to users X, Y, Z,. . .

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 2 / 58

Example

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 3 / 58

An obviously useful technology

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 4 / 58

An obviously useful technology

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 5 / 58

Outline

1 A model

2 Algorithms and accuracy

3 Challenge #1: Privacy

4 Challenge #2: Interactivity

5 Conclusion

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 6 / 58

A model

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 7 / 58

Setting

Users : i 2 f1; 2; : : : ;mg

Movies : j 2 f1; 2; : : : ;ng

When user i watches movie j , she enters her rating Rij .

Want to predict ratings for missing pairs.

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 8 / 58

Setting

Users : i 2 f1; 2; : : : ;mg

Movies : j 2 f1; 2; : : : ;ng

When user i watches movie j , she enters her rating Rij .

Want to predict ratings for missing pairs.

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 8 / 58

Linear regression model

Movie j

vj =�genre; main actor; supporting actor; year; . . .

� 2 Rr

Rij � ci + hui ; vj i+ "ij

Want: User parameters vector ui

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 9 / 58

Linear regression model

Movie j

vj =�genre; main actor; supporting actor; year; . . .

� 2 Rr

Rij � ci + hui ; vj i+ "ij

Want: User parameters vector ui

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 9 / 58

Linear regression model

Movie j

vj =�genre; main actor; supporting actor; year; . . .

� 2 Rr

Rij � ci + hui ; vj i+ "ij

Want: User parameters vector ui

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 9 / 58

Linear regression model

Movie j

vj =�genre; main actor; supporting actor; year; . . .

� 2 Rr

Rij ���ci + hui ; vj i+ "ij

Want: User parameters vector ui

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 10 / 58

Least squares

ui = arg minxi2Rr

8<: Xj2WatchedBy(i)

�Rij � hxi ; vj i

�29=;

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 11 / 58

Ridge regression

ui = arg minxi2Rr

8<: Xj2WatchedBy(i)

�Rij � hxi ; vj i

�2+ � kxik2

9=;

I How do we construct the vj 's?

I Ad hoc de�nitions are not suited to recommendation!

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 12 / 58

Ridge regression

ui = arg minxi2Rr

8<: Xj2WatchedBy(i)

�Rij � hxi ; vj i

�2+ � kxik2

9=;

I How do we construct the vj 's?

I Ad hoc de�nitions are not suited to recommendation!

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 12 / 58

If I knew the users' feature vectors

Rij � hui ; vj i+ "ij

vj = arg minyj2Rr

8<: Xi2Watched(j )

�Rij � hui ; yj i

�2+ � kyj k2

9=;

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 13 / 58

If I knew the users' feature vectors

Rij � hui ; vj i+ "ij

vj = arg minyj2Rr

8<: Xi2Watched(j )

�Rij � hui ; yj i

�2+ � kyj k2

9=;

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 13 / 58

Everything together

ui = arg minxi2Rr

8<: Xj2WatchedBy(i)

�Rij � hxi ; vj i

�2+ � kxik2

9=;vj = arg min

yj2Rr

8<: Xi2Watched(j )

�Rij � hui ; yj i

�2+ � kyj k2

9=;

Minimize (E =Watched)

F (X ;Y ) =X

(i ;j )2E

�Rij � hxi ; yj i

�2+ �

mXi=1

kxik22 + �nX

j=1

kyj k22

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 14 / 58

Everything together

ui = arg minxi2Rr

8<: Xj2WatchedBy(i)

�Rij � hxi ; vj i

�2+ � kxik2

9=;vj = arg min

yj2Rr

8<: Xi2Watched(j )

�Rij � hui ; yj i

�2+ � kyj k2

9=;

Minimize (E =Watched)

F (X ;Y ) =X

(i ;j )2E

�Rij � hxi ; yj i

�2+ �

mXi=1

kxik22 + �nX

j=1

kyj k22

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 14 / 58

Objective function

Minimize (E =Watched)

F (X ;Y ) =X

(i ;j )2E

�Rij � hxi ; yj i

�2+ �

mXi=1

kxik22 + �nX

j=1

kyj k22

� kPE (R�XY T)k2F + �kX k2F + �kY k2F

PE (A) =(Aij if (i ; j ) 2 E ;

0 otherwise

XT =hx1

���x2��� � � � ���xmiY T =

hy1

���y2��� � � � ���yniAndrea Montanari (Stanford) Collaborative Filtering September 15, 2012 15 / 58

Objective function

Minimize (E =Watched)

F (X ;Y ) =X

(i ;j )2E

�Rij � hxi ; yj i

�2+ �

mXi=1

kxik22 + �nX

j=1

kyj k22

� kPE (R�XY T)k2F + �kX k2F + �kY k2F

PE (A) =(Aij if (i ; j ) 2 E ;

0 otherwise

XT =hx1

���x2��� � � � ���xmiY T =

hy1

���y2��� � � � ���yniAndrea Montanari (Stanford) Collaborative Filtering September 15, 2012 15 / 58

Low rank structure

Low-rank M U

I V T

=m

n r

r

1. Low-rank matrix M

2. R = M+ Z

3. Observed subset E

PE (R)ij =(Mij + Zij if (i ; j ) 2 E ;0 otherwise.

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 16 / 58

Low rank structure

Low-rank M U

I V T

=m

n r

r

1. Low-rank matrix M

2. R = M+ Z

3. Observed subset E

PE (R)ij =(Mij + Zij if (i ; j ) 2 E ;0 otherwise.

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 16 / 58

Low rank structure

Low-rank M U

I V T

=m

n r

r

1. Low-rank matrix M

2. R = M+ Z

3. Observed subset E

PE (R)ij =(Mij + Zij if (i ; j ) 2 E ;0 otherwise.

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 16 / 58

Low rank structure

Sample PE (R)m

n

1. Low-rank matrix M

2. R = M+ Z

3. Observed subset E

PE (R)ij =(Mij + Zij if (i ; j ) 2 E ;0 otherwise.

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 16 / 58

Algorithms and accuracy

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 17 / 58

Questions

I How do we minimize F (X ;Y )?

I What prediction accuracy? (RMSE = kM� M̂kF=pmn)

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 18 / 58

How do we minimize F (X ;Y )?

I Spectral methods.

I Gradient method. [Srebro, Rennie, Jaakkola, 2003]

I Convex relaxations. [Fazel, Hindi, Boyd, 2001]

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 19 / 58

Spectral method (for simplicity � = 0)

Replace

F (X ;Y ) = kPE (R�XY T)k2F= kPE (XY T)k2F � 2hPE (R);XY Ti+ const:

with (p = jE j=mn fraction of observed entries)

eF (X ;Y ) = p kXY Tk2F � 2hPE (R);XY Ti+ const

= p

XY T � 1

pPE (R)

2F

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 20 / 58

Spectral method (for simplicity � = 0)

Replace

F (X ;Y ) = kPE (R�XY T)k2F= kPE (XY T)k2F � 2hPE (R);XY Ti+ const:

with (p = jE j=mn fraction of observed entries)

eF (X ;Y ) = p kXY Tk2F � 2hPE (R);XY Ti+ const

= p

XY T � 1

pPE (R)

2F

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 20 / 58

Spectral method (for simplicity � = 0)

Replace

F (X ;Y ) = kPE (R�XY T)k2F= kPE (XY T)k2F � 2hPE (R);XY Ti+ const:

with (p = jE j=mn fraction of observed entries)

eF (X ;Y ) = p kXY Tk2F � 2hPE (R);XY Ti+ const

= p

XY T � 1

pPE (R)

2F

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 20 / 58

Spectral method (for simplicity � = 0)

Minimize

eF (X ;Y ) =

XY T � 1

pPE (R)

2F

Solved by SVD

PE (R) = XSY T ) M̂ =1

pXm�r (S)r�rY

T

n�r

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 21 / 58

Spectral method (for simplicity � = 0)

Minimize

eF (X ;Y ) =

XY T � 1

pPE (R)

2F

Solved by SVD

PE (R) = XSY T ) M̂ =1

pXm�r (S)r�rY

T

n�r

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 21 / 58

Random matrix r = 4, m = n = 10000, p = 0:0012

0 10 20 30 40 50 60 70 800

10

20

30

40

�1�2�3�4

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 22 / 58

Net�ix data (trimmed)

0 20 40 60 80 100 120 1400

20

40

60

80

100

120

140

RMSE � 0:99

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 23 / 58

Accuracy guarantees

Theorem (Keshavan, M, Oh, 2009)

Qssume jMij j � Mmax. Then, w.h.p., rank-r projection achieves

RMSE � CMmax

qnr=jE j+C 0 kZEk2 n

pr=jE j :

E.g. Gaussian noise: C 00(1+ �z )pr n=jE j

[Improves over Achlioptas-McSherry 2003]

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 24 / 58

Gradient descent

F (X ;Y ) =X

(i ;j )2E

�Rij � hxi ; yj i

�2+ �

mXi=1

kxik22 + �nX

j=1

kyj k22

Update rule: ( = `learning rate')

xi (1� � )xi + X

j2WatchedBy(i)

�Rij � hxi ; yj i

�yj

yj (1� � )yj + X

i2Watched(j )

�Rij � hxi ; yj i

�xi

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 25 / 58

Gradient descent

F (X ;Y ) =X

(i ;j )2E

�Rij � hxi ; yj i

�2+ �

mXi=1

kxik22 + �nX

j=1

kyj k22

Update rule: ( = `learning rate')

xi (1� � )xi + X

j2WatchedBy(i)

�Rij � hxi ; yj i

�yj

yj (1� � )yj + X

i2Watched(j )

�Rij � hxi ; yj i

�xi

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 25 / 58

Interpretation

xi (1� � )xi + X

j2WatchedBy(i)

wij yj

yj (1� � )yj + X

i2Watched(j )

wij xi

user avg of movies she liked

movie avg of users that liked it

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 26 / 58

Interpretation

xi (1� � )xi + X

j2WatchedBy(i)

wij yj

yj (1� � )yj + X

i2Watched(j )

wij xi

user avg of movies she liked

movie avg of users that liked it

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 26 / 58

A variant (stochastic gradient)

Pick (i ; j ) 2 E :

xi (1� � )xi + wij yj

yj (1� � )yj + wij xi

[Srebro, Rennie, Jaakkola, 2003]

[Srebro, Jaakkola, 2005]

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 27 / 58

A variant (stochastic gradient)

Pick (i ; j ) 2 E :

xi (1� � )xi + wij yj

yj (1� � )yj + wij xi

[Srebro, Rennie, Jaakkola, 2003]

[Srebro, Jaakkola, 2005]

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 27 / 58

In the words of SimonFunk

[Ne�ix challenge, 2006-2009]

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 28 / 58

And his results

Target RMSE � 0:8564

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 29 / 58

Three variants

0.7

0.75

0.8

0.85

0.9

0.95

1

1.05

1.1

0 5 10 15 20 25 30 35

Message PassingAlt. Min.OptSpace

iterations

RMSE

OptSpace � Gradient descent on Grassmannian [Keshavan-M.-Oh 2009]Alternating Least Squares [Koren-Bell 2008]

Message Passing [Keshavan-M. 2011]

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 30 / 58

Accuracy guarantees: Vignette (m = n = 2000 rank-8)

low-rank matrix M sampled matrix ME

OptSpace output M̂ squared error (M� M̂)2

0:25% sampled

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 31 / 58

Accuracy guarantees: Vignette (m = n = 2000 rank-8)

low-rank matrix M sampled matrix ME

OptSpace output M̂ squared error (M� M̂)2

0:50% sampled

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 31 / 58

Accuracy guarantees: Vignette (m = n = 2000 rank-8)

low-rank matrix M sampled matrix ME

OptSpace output M̂ squared error (M� M̂)2

0:75% sampled

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 31 / 58

Accuracy guarantees: Vignette (m = n = 2000 rank-8)

low-rank matrix M sampled matrix ME

OptSpace output M̂ squared error (M� M̂)2

1:00% sampled

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 31 / 58

Accuracy guarantees: Vignette (m = n = 2000 rank-8)

low-rank matrix M sampled matrix ME

OptSpace output M̂ squared error (M� M̂)2

1:25% sampled

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 31 / 58

Accuracy guarantees: Vignette (m = n = 2000 rank-8)

low-rank matrix M sampled matrix ME

OptSpace output M̂ squared error (M� M̂)2

1:50% sampled

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 31 / 58

Accuracy guarantees: Vignette (m = n = 2000 rank-8)

low-rank matrix M sampled matrix ME

OptSpace output M̂ squared error (M� M̂)2

1:75% sampled

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 31 / 58

Accuracy guarantees: Unstructured factors

Incoherence

kuik2 � � hku�k2iav ; kvj k22 � � hkv�k2iav :

[Candés, Recht 2008]

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 32 / 58

Accuracy guarantees

Theorem (Keshavan, M, Oh, 2009)

Assume jMij j � Mmax. Then, w.h.p., rank-r projection achieves

RMSE � CMmax

qnr=jE j+C 0 kZEk2 n

pr=jE j :

Theorem (Keshavan, M, Oh, 2009)

Let M be incoherent with �1(M )=�r (M ) = O(1). IfjE j � Cn minfr(logn)2; r2 logng then, w.h.p., OptSpace achieves

RMSE � C 00npr

jE j kZEk2 ;

with complexity O(nr3(logn)2).

E.g. Gaussian noise: C 00�zpr n=jE j

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 33 / 58

Accuracy guarantees

Theorem (Keshavan, M, Oh, 2009)

Assume jMij j � Mmax. Then, w.h.p., rank-r projection achieves

RMSE � CMmax

qnr=jE j+C 0 kZEk2 n

pr=jE j :

Theorem (Keshavan, M, Oh, 2009)

Let M be incoherent with �1(M )=�r (M ) = O(1). IfjE j � Cn minfr(logn)2; r2 logng then, w.h.p., OptSpace achieves

RMSE � C 00npr

jE j kZEk2 ;

with complexity O(nr3(logn)2).

E.g. Gaussian noise: C 00�zpr n=jE j

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 33 / 58

Two surprises

Can do much better than SVD !

Error = Noise = Sampling factor

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 34 / 58

Analogous guarantees for convex relaxations

Candés, Recht, 2008 �

Candés, Plan, 2009

Candés, Tao, 2009

Gross, 2010

Negahbahn, Wainwright, 2010

Koltchinskii, Lounici, Tsybakov, 2011

. . .

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 35 / 58

A noisy example

I n = 500; r = 4; �z = 1, example from [Candés, Plan, 2009]

0

0.2

0.4

0.6

0.8

1

1.2

1.4

0 100 200 300 400 500

rank-r projectionSDP

ADMiRAOptSpace

Oracle Bound

RMSE

jE j=nAndrea Montanari (Stanford) Collaborative Filtering September 15, 2012 36 / 58

Challenge #1: Privacy

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 37 / 58

Research question

User ratings ! User feature vector

User ratings ! User private attributes ???

Let us try to do it!

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 38 / 58

Research question

User ratings ! User feature vector

User ratings ! User private attributes ???

Let us try to do it!

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 38 / 58

Research question

User ratings ! User feature vector

User ratings ! User private attributes ???

Let us try to do it!

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 38 / 58

Which attribute?

Number of persons in the household

I Non-obvious

I Recommender has incentive

I 2011 CAMRa Challenge [ no prize :-( we won it :-) ]

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 39 / 58

Which attribute?

Number of persons in the household

I Non-obvious

I Recommender has incentive

I 2011 CAMRa Challenge [ no prize :-( we won it :-) ]

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 39 / 58

CAMRa dataset

I m � 2 � 105 users, n � 2 � 104 movies

I jE j � 4:5 � 106 ratings (p � 0:001)

I 272 households of size 2

I 14 households of size 3

I 4 households of size 4

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 40 / 58

CAMRa dataset

I m � 2 � 105 users, n � 2 � 104 movies

I jE j � 4:5 � 106 ratings (p � 0:001)

I 272 households of size 2

I((((((((((((14 households of size 3

I(((((((((((4 households of size 4

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 41 / 58

CAMRa dataset

I m � 2 � 105 users, n � 2 � 104 movies

I jE j � 4:5 � 106 ratings (p � 0:001)

I 272 households of size 2

I Can you identify whether two users shared an account?

I Can you identify which user watched a movie?

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 42 / 58

Short answer

Yes: For a signi�cant fraction of the accounts.

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 43 / 58

Two examples (Net�ix dataset, no ground truth)

No movie info used!

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 44 / 58

How did you do it?

Rij � hui ; vj i+ "ij

n(Rij ;�vj ) 2 Rr+1; j 2WatchedBy(i)

o� Hyperplane

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 45 / 58

How did you do it?

Rij � hui ; vj i+ "ij

n(Rij ;�vj ) 2 Rr+1; j 2WatchedBy(i)

o� Hyperplane

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 45 / 58

How did you do it? Subspace clustering

One user ! One hyperplaneTwo users ! Two hyperplanes

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 46 / 58

Example: A two-user household (CAMRa)

−2 −1.5 −1 −0.5 0 0.5 1 1.5 20

10

20

30

40

50

60

70

80

Difference of distances of xj from the two hyperplanes

Nu

mb

er

of

mo

vie

ra

tin

g e

ve

nts

Distance Difference Distribution for household 172, with similarity score 0.898117

User 1

User 2

Normal fit (−)

Normal fit (+)

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 47 / 58

Example: Another two-user household (CAMRa)

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.50

20

40

60

80

100

120

Difference of distances of xj from the two hyperplanes

Num

ber

of m

ovie

rating e

vents

Distance Difference Distribution for household 124, with similarity score 0.500787

User 1

User 2

Normal fit in µ ± 1.5σ

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 48 / 58

Classifying households

0 50 100 150 2000

0.02

0.04

0.06

0.08

(MSE1−MSE

2) × m / log(m)

PD

F

MOVIEX

Size 1, Empirical

Size 2, Empirical

Size 1, Fitted Gamma

Size 2, Fitted Gamma

MSE1 ! MSE using one hyperplaneMSE2 ! MSE using two hyperplanes

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 49 / 58

Challenge #2: Interactivity

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 50 / 58

We want to design the system

User Recommender

We took time out of the picture.

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 51 / 58

We want to design the system

User Recommender

We took time out of the picture.

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 51 / 58

Interactive system

User Recom.

User Recom.

User Recom.

t = 1

t = 2

t = 3

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 52 / 58

Abstract from other users

At time t

I Recommender suggests movie vt ;

I User gives feedback Rt

Focus on user u

Rt � hu ; vt i+ "t

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 53 / 58

Abstract from other users

At time t

I Recommender suggests movie vt ;

I User gives feedback Rt

Focus on user u

Rt � hu ; vt i+ "t

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 53 / 58

Linear bandits

Decision:

vt

Observations:

Rt � hu ; vt i+ "t

Reward:

Ot =tX

`=1

hu ; v`i

[Rusmevichientong, Tsitsiklis, 2008]

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 54 / 58

Important di�erences

I Number of observations � Dimensions

I Cannot explore completely at random.

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 55 / 58

Simulating an interactive system (Net�ix data)

0 5 10 15 20 25 30

0

2

4

6

8

10

t

Cum

ula

tive

Rew

ard

0 5 10 15 20 25 30

0

2

4

6

8

t

Cum

ula

tive

Rew

ard

0 5 10 15 20 25 30

0

2

4

6

8

t

Cum

ula

tive

Rew

ard

I 3 `typical' users

I Constant-optimal policy

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 56 / 58

Conclusion

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 57 / 58

Conclusion

I A crucial technology for modern information networks.

I Only scratched the surface.

Thanks!

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 58 / 58

Conclusion

I A crucial technology for modern information networks.

I Only scratched the surface.

Thanks!

Andrea Montanari (Stanford) Collaborative Filtering September 15, 2012 58 / 58