kollaboratív szűrés és a netflix verseny

58
Kollaboratív szűrés és a Netflix verseny Takács Gábor Gravity R&D Kft. Széchenyi István Egyetem, Győr 2009 október 27.

Upload: laasya

Post on 21-Jan-2016

22 views

Category:

Documents


0 download

DESCRIPTION

Takács Gábor Gravity R&D Kft . Széchenyi István Egyetem, Győr 2009 október 27. Kollaboratív szűrés és a Netflix verseny. Kollaboratív szűrés. Kollaboratív szűrés – definíció. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Kollaboratív szűrés és a Netflix verseny

Kollaboratív szűrésés a Netflix verseny

Takács Gábor

Gravity R&D Kft.Széchenyi István Egyetem, Győr

2009 október 27.

Page 2: Kollaboratív szűrés és a Netflix verseny

Kollaboratív szűrés

Page 3: Kollaboratív szűrés és a Netflix verseny

Kollaboratív szűrés – definíció• Adott felhasználók és termékek egy nagy halmaza, valamint egy

eseményhalmaz, amely a felhasználók és a termékek közötti

interakciót írja le. A feladat: olyan termékek kiválasztása az egyes

felhasználók számára, amelyek megfelelnek az ízlésüknek.

• A felhasználói visszajelzés

• explicit, mint pl. értékelés

• implicit, mint pl. böngészési/vásárlási történet

• Nem szükséges a felhasználók ill. a termékek

attribútumainak ismerete.

Page 4: Kollaboratív szűrés és a Netflix verseny

• Netflix: egy USA-beli DVD kölcsönző cég

• Több, mint 100 ezer kikölcsönözhető film

• Több, mint 6 millió felhasználó

• Napi 2 millió értékelés

•Az ajánlórendszerek szerepe a profitnövelésben:

• A „long tail” tartalom nagyobb hasznot hoz a „bestseller”-eknél

• Előfizetéses szolgáltatások esetén az előfizetések megtartása

és „fejlesztése” kulcsfontosságú

• Az átlagos ügyfél életciklus meghosszabbítható

Háttér

Page 5: Kollaboratív szűrés és a Netflix verseny
Page 6: Kollaboratív szűrés és a Netflix verseny

6

• Train: 100 480 507 értékelés, 480 189 felhasználó, 17 770 film

• minden értékelés egy (userId, movieId, date, rating) négyes

A rating értéke 1 és 5 közötti

• 17770 (movieId,title,year) hármas

• Tesztkészletek:

|Quiz|≈|Test|≈|Probe|≈1.5M

• Csalni gyakorlatilag lehetetlen.

the cmpetition Adatok

Page 7: Kollaboratív szűrés és a Netflix verseny

A cél nem ajánlatadás volt, hanem az értékelések előrejelzése

RMSE(beküldés)=E((előrejelzett érték − valódi érték)2)(root mean square error)

Négyzetes hibamérték:fokozottan bünteti a nagy hibákat

Kiértékelés

Page 8: Kollaboratív szűrés és a Netflix verseny

8

•Gravity csapat: Takács Gábor, Pilászy István,

Németh Bottyán, Tikk Domonkos

•2007-ben 4 hónapig vezettünk a versenyben

•Végig az élmezőnyben voltunk

•Tagjai voltunk The Ensemble nevű

szövetségnek

•8 publikációnk jelent meg

•Startup céget alapítottunk 2007-ben

•Győztünk a Strands 2008-as ajánlórendszer pályázatán

•Győztünk a Red Herring TOP 100

European Startup pályázaton

Page 9: Kollaboratív szűrés és a Netflix verseny

A feladat

1 4 3

44

2 44

Page 10: Kollaboratív szűrés és a Netflix verseny

• Az R értékelésmátrixot (méret: M x N) két alacsonyabb rangú mátrix szorzatával közelítjük: R ≈ Q ∙ PT

• P: felhasználójellemző mátrix (méret: M x K)

• Q: termékjellemző mátrix (méret: N x K)

• K: jellemzők száma

• Mátrixfaktorizáció

iTuuir qp

PT

RT

Q

Page 11: Kollaboratív szűrés és a Netflix verseny

Példa filmjellemzés: Terminátor (akció = 1.2, romantikus = -1,…)

Felhasználójelemzés: Kis Pista (akció = 3, romantikus = -1,…)

Hogyan fogja értékelni Kis Pista a Terminátort?

r(Kis Pista, Terminátor) = 1.2×3 + -1×-1 + … = 4.6 + …

Nehézségek:

• R csak részlegesen van kitöltve

• A paraméterek száma hatalmas lehet (akár 10 millió!)

Egy megoldás: inkrementális gradiens módszer

• Mátrixfaktorizáció (2)

Page 12: Kollaboratív szűrés és a Netflix verseny

Cél

olyan P and Q megtalálása, amely minimalizálja a

négyzetes hibát a tanító készleten

Megjegyzés: hasonló filmeknek hasonló a jellemzővektora.

• Mátrixfaktorizáció (3)

Riuui

iTuuiui

e

re

),(

2Error Training

qp

Page 13: Kollaboratív szűrés és a Netflix verseny

Minden epoch-ban, minden értékelésre

az (u,i). értékelésnél:

• Hibaszámítás

• eui2 gradiensének

• kiszámítása

• Hiba-

• csökkentés

amíg az RMSE csökken

)2(

)2('

'

uuiii

iuiuu

e

e

pqq

qpp

iTuuiui re qp

iuiui ee qpu

22uuiui

i

ee pq

22

• Inkrementális gradiens módszer

Page 14: Kollaboratív szűrés és a Netflix verseny

MF – példa tanítás

Q

P1 4 3

44

2 44

R1.2

1.2

0.4

-0.5

0.9

-0.4

1.4 0.8 -1.3 -0.1 0.5

-0.2 0.5 -0.4 1.6 0.3

Page 15: Kollaboratív szűrés és a Netflix verseny

MF – példa tanítás

Q

P1 4 3

44

2 44

R1.2

1.2

0.4

-0.5

0.9

-0.4

1.4 0.8 -1.3 -0.1 0.5

-0.2 0.5 -0.4 1.6 0.3

Page 16: Kollaboratív szűrés és a Netflix verseny

MF – példa tanítás

Q

P1 4 3

44

2 44

R1.1

1.2

0.4

-0.4

0.9

-0.4

1.3 0.8 -1.3 -0.1 0.5

-0.1 0.5 -0.4 1.6 0.3

Page 17: Kollaboratív szűrés és a Netflix verseny

MF – példa tanítás

Q

P1 4 3

44

2 44

R1.1

1.2

0.4

-0.4

0.9

-0.4

1.3 0.8 -1.3 -0.1 0.5

-0.1 0.5 -0.4 1.6 0.3

Page 18: Kollaboratív szűrés és a Netflix verseny

MF – példa tanítás

Q

P1 4 3

44

2 44

R1.2

1.2

0.4

-0.3

0.9

-0.4

1.3 0.9 -1.3 -0.1 0.5

-0.1 0.4 -0.4 1.6 0.3

Page 19: Kollaboratív szűrés és a Netflix verseny

MF – példa tanítás

Q

P1 4 3

44

2 44

R1.2

1.2

0.4

-0.3

0.9

-0.4

1.3 0.9 -1.3 -0.1 0.5

-0.1 0.4 -0.4 1.6 0.3

Page 20: Kollaboratív szűrés és a Netflix verseny

MF – példa tanítás

Q

P1 4 3

44

2 44

R1.1

1.2

0.4

-0.2

0.9

-0.4

1.3 0.9 -1.3 -0.0 0.5

-0.1 0.4 -0.4 1.5 0.3

Page 21: Kollaboratív szűrés és a Netflix verseny

MF – példa tanítás

Q

P1 4 3

44

2 44

R1.1

1.2

0.4

-0.2

0.9

-0.4

1.3 0.9 -1.3 -0.0 0.5

-0.1 0.4 -0.4 1.5 0.3

Page 22: Kollaboratív szűrés és a Netflix verseny

MF – példa tanítás

Q

P1 4 3

44

2 44

R1.1

1.1

0.4

-0.2

0.8

-0.4

1.3 0.9 -1.2 -0.0 0.5

-0.1 0.4 -0.3 1.5 0.3

Page 23: Kollaboratív szűrés és a Netflix verseny

MF – példa tanítás

Q

P1 4 3

44

2 44

R1.1

1.1

0.4

-0.2

0.8

-0.4

1.3 0.9 -1.2 -0.0 0.5

-0.1 0.4 -0.3 1.5 0.3

Page 24: Kollaboratív szűrés és a Netflix verseny

MF – példa tanítás

Q

P1 4 3

44

2 44

R1.1

1.2

0.4

-0.2

0.9

-0.4

1.3 0.9 -1.2 0.1 0.5

-0.1 0.4 -0.3 1.6 0.3

Page 25: Kollaboratív szűrés és a Netflix verseny

MF – példa tanítás

Q

P1 4 3

44

2 44

R1.1

1.2

0.4

-0.2

0.9

-0.4

1.3 0.9 -1.2 0.1 0.5

-0.1 0.4 -0.3 1.6 0.3

Page 26: Kollaboratív szűrés és a Netflix verseny

MF – példa tanítás

Q

P1 4 3

44

2 44

R1.1

1.2

0.5

-0.2

0.9

-0.3

1.5 0.9 -1.2 0.1 0.5

0.0 0.4 -0.3 1.6 0.3

Page 27: Kollaboratív szűrés és a Netflix verseny

MF – példa tanítás

Q

P1 4 3

44

2 44

R1.1

1.2

0.5

-0.2

0.9

-0.3

1.5 0.9 -1.2 0.1 0.5

0.0 0.4 -0.3 1.6 0.3

Page 28: Kollaboratív szűrés és a Netflix verseny

MF – példa tanítás

Q

P1 4 3

44

2 44

R1.1

1.2

0.4

-0.2

0.9

-0.2

1.5 0.9 -1.1 0.1 0.5

0.0 0.4 -0.2 1.6 0.3

Page 29: Kollaboratív szűrés és a Netflix verseny

MF – példa tanítás

Q

P1 4 3

44

2 44

R1.1

1.2

0.4

-0.2

0.9

-0.2

1.5 0.9 -1.1 0.1 0.5

0.0 0.4 -0.2 1.6 0.3

Page 30: Kollaboratív szűrés és a Netflix verseny

MF – példa tanítás

Q

P1 4 3

44

2 44

R1.1

1.2

0.5

-0.2

0.9

-0.1

1.5 0.9 -1.1 0.1 0.6

0.0 0.4 -0.2 1.6 0.2

Page 31: Kollaboratív szűrés és a Netflix verseny

Egy idő múlva …

Page 32: Kollaboratív szűrés és a Netflix verseny

MF – példa tanítás

Q

P1 4 3

44

2 44

R1.4

0.9

2.5

1.1

1.9

-0.3

1.5 2.1 1.0 0.7 1.6

-1.0 0.8 1.6 1.8 0.0

Page 33: Kollaboratív szűrés és a Netflix verseny

MF – predikció

Q

P1 4 3

44

2 44

R1.4

0.9

2.5

1.1

1.9

-0.3

1.5 2.1 1.0 0.7 1.6

-1.0 0.8 1.6 1.8 0.0

-0.5 3.5

4.9 1.1

3.3 2.4

1.5

Page 34: Kollaboratív szűrés és a Netflix verseny

34

A nagy jellemzőértékek büntetése

Tegyük fel, hogy csak 2 jellemzőnk van (akció, romantikus)

és Kis Pista csak 2 filmet értékelt

q1(akció:1, romantikus: 0 ) → 4

q2(akció:1, romantikus: 0.1) → 3

Kis Pista (akció: 4, romantikus: -10 )

A büntetés mértékét a λ regularizációs együttható szabályozza.

)2(

)2('

'

iuuiii

uiuiuu

e

e

qpqq

pqpp

• Regularizáció

Page 35: Kollaboratív szűrés és a Netflix verseny

Predikció:

Ahol: a felhasználó bias, a termék bias.

BRISMF = Biased Regularized Incremental

Simultaneous Matrix Factorization

Összetevők:

1.B R I S

2.példák sorrendje (felhasználónként, dátum szerint)

3.8 metaparaméter: különböző tanulási ráta és regularizáció a

felhasználókhoz/termékekhez, bias/nem bias jellemzőkhöz

• BRISMF (Gravity)

iTuiuui cbr qp

ub ic

Page 36: Kollaboratív szűrés és a Netflix verseny

•Alapmódszer: nincs bias, egyszerű metaparaméterek, K=40

• RMSE Impr. over CineM.

•Alapmódszer: 0.9132 4.02%

•+Bias: 0.9087 4.49%

•+Kézi metaparaméter hangolás: 0.9050 4.88%

• (with random ordering: 0.9097 4.38%)

•+Sok metaparaméter: 0.9030 5.09%← BRISMF

•+További metaparaméter opt.: 0.9002 5.38%← BRISMF

•+K=1000: 0.8938 6.05%← BRISMF

•+egy kis trükk (P reset-elése 1x) 0.8921 6.23%

• BRISMF – eredmények

Page 37: Kollaboratív szűrés és a Netflix verseny

Szomszéd módszerek (BellKor)users

item

s

Kis Pista

Halálos fegyver 4

Jó barátok, 1. évad 5

A Terminátor 4

A zongorista ?

Page 38: Kollaboratív szűrés és a Netflix verseny

Szomszéd módszerek (BellKor)users

item

s

Pista Steve Bill Larry Sergei

Halálos fegyver 4 4 4 5 5

Jó barátok, 1. évad 5 5 3 4 4

A terminátor 4 5 5 3 5

A zongorista ? 3 5 4 5

AZ ≈ ? HF + ? JB + ? AT

A zongorista 2.4 2.99 4.90 3.95 5.14

Lineáris regresszió

AZ ≈ 1.20 HF – 0.96 JB + 0.60 AT

Pista: AZ ≈ 1.20 4 – 0.96 5 + 0.60 4 ≈ 2.4

Page 39: Kollaboratív szűrés és a Netflix verseny

Szomszéd módszerek (BellKor)users

item

s

Pista Steve Bill Larry Sergei

Halálos fegyver 4 ? 4 5 ?

Jó barátok, 1. évad 5 5 3 ? 4

A Terminátor 4 5 ? 3 5

A zongorista ? 3 5 4 5

Elégséges statisztikák lineáris regresszió esetén…

(HF×JB) / 4 = (?×5 + 4×3 + 5×? + ?×4) / 4

(JB×AZ) / 4 = (5×5 + 3×? + ?×3 + 4×5) / 4

… minden párra

Page 40: Kollaboratív szűrés és a Netflix verseny

Szomszéd módszerek (BellKor)users

item

s

Pista Steve Bill Larry Sergei

Halálos fegyver 4 ? 4 5 ?

Jó barátok, 1. évad 5 5 3 ? 4

A Terminátor 4 5 ? 3 5

A zongorista ? 3 5 4 5

Elégséges statisztikák lineáris regresszió esetén…

(LW×FS) / 4 = (?×5 + 4×3 + 5×? + ?×4) / 4

(FS×TP) / 4 = (5×5 + 3×? + ?×3 + 4×5) / 4

… minden párra

Hogyan kezeljük az ismeretlen értékeléseket?

Page 41: Kollaboratív szűrés és a Netflix verseny

Szomszéd módszerek (BellKor)users

item

s

Pista Steve Bill Larry Sergei

Halálos fegyver 4 ? 4 5 ?

Jó barátok, 1. évad 5 5 3 ? 4

A Terminátos 4 5 ? 3 5

A Zongorista ? 3 5 4 5

Trükk: hagyjuk ki az ismeretlen elemeket az átlagolásnál:

(HF×JB) / 1 = ( + 4×3 + + ) / 1

(JB×AZ) / 2 = (5×5 + + + 4×5) / 2

… minden párra

Page 42: Kollaboratív szűrés és a Netflix verseny

Szomszéd módszerek (BellKor)users

item

s

Pista SteveBill Larry Sergei

Halálos fegyver 4 ? 4 5 ?

Jó barátok, 1. évad 5 5 3 ? 4

A Terminátor 4 5 ? 3 5

A zongorista 4.18 3 5 4 5

Page 43: Kollaboratív szűrés és a Netflix verseny

NSVD1 (Paterek)users

item

s

Ötlet: jellemezzük a felhasználkat az alapján, hogy milyen

filmeket néztek meg

ahol

ahol az felhasználó

értékeléseinek száma

Modell paraméterek:

iTuiuui cbr qp

Rjuj

uju n),(:

/wp

un u

ijiu cb qw

Page 44: Kollaboratív szűrés és a Netflix verseny

NSVD1 (Paterek)users

item

s

Neurális hálózatként is felfogható

Bemenet: 17770 dim.

minden filmre: 1 a.cs.a.

ha a felhasználó értékelte

egyébként 0

(+ normalizálás)

Rejtett réteg:

Kimenet: 17770 dim.

minden filmre:

a felhasználó értékelése

up

Page 45: Kollaboratív szűrés és a Netflix verseny

LM (Paterek)users

item

s

Ez is felfogható neurális hálózatként

Bemenet: mint az NSVD1-nél

Rejtett réteg: nincs

Kimenet: mint az

NSVD1-nél

Kevésbé pontos, de

jól kiegészíti a

többi módszert

Page 46: Kollaboratív szűrés és a Netflix verseny

Egy LM+NSVD1 változat (BellKor)users

item

s

Hasonlít az LM-hez és az NSVD1-hez

A neurális hálózat bemenete más:

ismert értékelések esetén: egy egyszerű prediktor maradéka:

ismeretlen értékelések esetén: 0

Jelölés: LM(R) and NSVD1(R)

iuui cbr

Page 47: Kollaboratív szűrés és a Netflix verseny

Módszerek kombinálásausers

item

s

Kimenetek kombinálása

Lineáris regresszióval

Közvetlenül minimalizálja az RMSE-t

Nemlineáris regresszióval

A verseny vége felé terjedt el

A B módszer futtatása az A módszer maradékán

Lehetséges továbbfejlesztés: keresztvalidáció

használata a maradékok elkésztésénél

Hibrid módszer: tanítsuk A-t és B-t egyszerre

Page 48: Kollaboratív szűrés és a Netflix verseny

Hibrid módszerekusers

item

s

felh. átlag: 1.050

termék átlag: 1.056

bias: 0.9805 / 0.9723

MF:

MF bias-okkal:

NSVD1:

MF és NSVD1: (Gravity)

MF és NSVD1: (BellKor)

ahol:

iui cr uui br

iuui cbr

iTuuir qp

iTuiuui cbr qp

)1()1(i

Tuiuui cbr qp

)1()1(i

Tui

Tuiuui cbr qpqp

Rjuj

uju n),(:

)1( /wp

iT

uTuiuui cbr qpp )( )1(

Page 49: Kollaboratív szűrés és a Netflix verseny

A hibrid módszerek hatékonyságausers

item

s

Hibrid <=> Lin. Komb: Lin. Komb. Hibrid

bias: 0.9805 0.9723

MF és bias: 0.9100 0.9087

MF és NSVD1: 0.8910 0.8871* (Gravity)

* a “reset P” trükkel együtt

BellKor faktorizált szomszéd módszere: nagyon elegáns!

NSVD1 + NSVD1(R) RMSE = 0.9000 (K=200)

BellKor integrált modellje:

(MF + NSVD1) + LM + NSVD1(R) + LM(R)

Elég hosszú képlete van… RMSE = 0.8868 (K=200)

uir

uir

Page 50: Kollaboratív szűrés és a Netflix verseny

Az időfüggés modellezéseusers

item

s

“Just a Guy in a Garage” módszere: daybias

RMSE = 0.9675

BellKor módszere:

RMSE = 0.8799 (K=200)

tuiuui bcbtr ,)(

Page 51: Kollaboratív szűrés és a Netflix verseny

A leghosszabb képlet (PragmaticTheory)users

item

s

RMSE = 0.8713

Page 52: Kollaboratív szűrés és a Netflix verseny

Tapasztalatokusers

item

s

Kiválóan megszervezett adatbányász verseny

„Lots of fun”

Forradalmat robbantott ki a kollaboratív szűrés területén

A Netflix verseny előtt:

a Pearson korreláció alapú szomszéd módszer a menő

Jelenleg:

kiszorították a mátrixfaktorizációs ill. egyéb technikák.

Page 53: Kollaboratív szűrés és a Netflix verseny

Tapasztalatok (2)users

item

s

Megéri együttműködni: The Ensemble

Egyre nehezebb csökkenteni az RMSE-t:

Mindössze 3(!) hét kellett a CineMatch legyőzéséhez

2007-es Progress Prize: BellKor 8.43%

2008-as Progress Prize: BigChaos and BellKor 9.44%

csak 1% javulás

Grand Prize (2009): PragmaticTheory and BellKor and BigChaos

10.09% - csak 0.5% javulás

Page 54: Kollaboratív szűrés és a Netflix verseny

Tapasztalatok (3)users

item

s

Nem elég egy jó ötlet, jól is kell lekódolni

Az első implementáció mindig rossz

→ hinni kell az ötletünkben

Publikált eredmények újraimplementálása:

A Progress Prize cikkek nyilvánosak voltak, mégis csak

kevesen tudták reprodukálni az RMSE értékeket

pl. mindössze 2 egyéni csapat tudta a 2008-as Progress

Prize szintjét elérni

Egy módszer kétféleképpen lehet hasznos

Ha nagyon pontos

Ha jól kiegészíti a többit

Page 55: Kollaboratív szűrés és a Netflix verseny

Tapasztalatok (4)users

item

s

Jó stratégia:

egy módszer finomhangolása helyett próbáljunk inkább ki

minél több megközelítést

Modellezés:

a bonyolításokat fokozatosan adjuk hozzá

mindig legyen valami egyszerű, „baseline” módszerünk

(pl. globális átlag => user/termékátlag => MF)

(pl. felh. bias, felh. jellemző, naponkénti felh. bias,

naponkénti felh. jellemző)

minden változót regularizáljunk

Page 56: Kollaboratív szűrés és a Netflix verseny

A kollaboratív szűrés néhány alkalmazási területe

• Online kölcsönzők• Webshop-ok• Személyre szabott keresés, szűrés/rangsorolás• Személyre szabott reklám• Turistakalauz• Barát/társ ajánló

Page 57: Kollaboratív szűrés és a Netflix verseny

Összefogalás

• Vannak módszerek:

• nagy, hiányosan kitöltött mátrixok faktorizálására

• hasonlóságok felderítésére hiányos adatok esetén

• implicit and explicit visszajelzések hatékony kezelésére

• új felhasználók és új értékelések hatékony kezelésére

• az ízlés időbeli változásának modellezésére

Page 58: Kollaboratív szűrés és a Netflix verseny

Köszönöm a figyelmet

?