kollaboratív szűrés és a netflix verseny
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 PresentationTRANSCRIPT
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.
Kollaboratív szűrés
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.
• 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
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
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
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
A feladat
1 4 3
44
2 44
• 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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Egy idő múlva …
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
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
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ó
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
•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
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 ?
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
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
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?
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
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
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
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
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
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
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
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(
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
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 ,)(
A leghosszabb képlet (PragmaticTheory)users
item
s
RMSE = 0.8713
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.
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
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
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
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ó
Ö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
Köszönöm a figyelmet
?