Sistemi di raccomandazione

Un'introduzione

NETFLIX

Oltre 10 mila video

Oltre 400 pagine...

...oppure 500 pixel per video

NETFLIX

Come viene calcolato?

Il problema

?

Similitudine tra abbonati

s_{1,2}=\frac{(1\cdot 1)+((-1)\cdot (-1))}{5}=\frac{2}{5}=0.4

Similitudine tra abbonati

s_{2,5}=\frac{1\cdot (-1)}{5}=\frac{-1}{5}=-0.2

Similitudine tra abbonati

Previsione delle valutazioni

?

\frac{((-1)\cdot (0.4))+(1\cdot 0.17)+((-1)\cdot 0.25)}{0.82} \approx-0.59
\frac{v_{2,3}\cdot s_{1,2}+v_{3,3}\cdot s_{1,3}+v_{6,3}\cdot s_{1,6}}{|s_{1,2}|+|s_{1,3}|+|s_{1,6}|} =

Il metodo dei fattori nascosti

c_1
c_2

Il metodo dei fattori nascosti

c_1
c_2
v = a_{c_1}f_{c_1}+a_{c_2}f_{c_2}
a
f
a
f
a
a
f
f

Il metodo dei fattori nascosti

c_1
c_2
v = a_{c_1}f_{c_1}+a_{c_2}f_{c_2}
a
f

Le tabelle dei fattori nascosti

Previsioni delle valutazioni

v_{i,j} = x_{i1}y_{1j}+x_{i2}y_{2j}

Previsioni delle valutazioni

v_{i,j} = x_{i1}y_{1j}+x_{i2}y_{2j} = 1\cdot 1 + 1\cdot 1 = 2

Errore delle valutazioni

Errore quadratico medio

(-3)^2+0^2+(-2)^2+(-1)^2+1^2+0^2+(-1)^2
= 9+4+1+1+1=16
E = \sqrt{\frac{16}{7}} \approx \sqrt{2.29} \approx 1.51

Ridurre l'errore

v_{1,j} = x_{11}y_{1j}+x_{12}y_{2j} = z\cdot 1 + 1\cdot 1 = z+1

Errore delle valutazioni

Differenza errore quadratico medio

(z-4)^2+(z-1)^2+(z-3)^2
= 3z^2-16z+26

Minimizzare differenza errore quadratico medio

y = 3z^2-16z+26

Minimo in vertice:

z\approx 2.66

Errore quadratico medio

\sqrt{\frac{(-1.34)^2+(1.66)^2+(-0.34)^2+(-1)^2+1^2+(-1)^2}{7}}
= \sqrt{\frac{7.6668}{7}}\approx 1.05.

Matrici fattori finali

ValutazioNI finali

Valutazioni stimate in grassetto

L'importanza dell'inizio

Partendo da tutti 1.2

Errore quadratico medio: circa 0.12

La competizione Netflix

I dati

  • 100M di valutazioni
    • 480K utenti
    • 18K film
    • dal 1998 al 2005
    • 99% zero
  • Test set: 3M di valutazioni
    • Note solo a Netflix
    • Metà per "quiz"
  • 1M di dollari di premio
    • >=10% miglioramento
    • 50K dollari ogni anno a miglior team

La partenza

Errore quadratico medio

  • 1.054: media valutazioni per ciascun film

  • 0.953 : sistema di Netflix

  • 0.941: analisi del vicinato

  • 0.857: richiesto per vincere il premio

I vincitori (9.4%)

Sistemi di raccomandazione

By Pierluigi Crescenzi

Private

Sistemi di raccomandazione

Capitolo 4 di "Problemi, algoritmi e coding"