580 likes | 723 Views
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ó.
E N D
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 – 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.
Háttér • 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ó
Adatok the cmpetition • 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.
Kiértékelés 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
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 voltunkThe Ensemblenevű • 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 4 4 4 4 2
Mátrixfaktorizáció • 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 PT RT Q
Mátrixfaktorizáció (2) 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 PistaaTerminá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ó (3) 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.
Inkrementális gradiens módszer 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
MF – példa tanítás P R 1 4 3 1.2 -0.5 4 4 1.2 0.9 4 2 4 0.4 -0.4 Q 1.4 0.8 -1.3 -0.1 0.5 -0.2 0.3 1.6 -0.4 0.5
MF – példa tanítás P R 1 4 3 1.2 -0.5 4 4 1.2 0.9 4 2 4 0.4 -0.4 Q 1.4 0.8 -1.3 -0.1 0.5 -0.2 0.3 1.6 -0.4 0.5
MF – példa tanítás P R 1 4 3 1.1 -0.4 4 4 1.2 0.9 4 2 4 0.4 -0.4 Q 1.3 0.8 -1.3 -0.1 0.5 -0.1 0.3 1.6 -0.4 0.5
MF – példa tanítás P R 1 4 3 1.1 -0.4 4 4 1.2 0.9 4 2 4 0.4 -0.4 Q 1.3 0.8 -1.3 -0.1 0.5 -0.1 0.3 1.6 -0.4 0.5
MF – példa tanítás P R 1 4 3 1.2 -0.3 4 4 1.2 0.9 4 2 4 0.4 -0.4 Q 1.3 0.9 -1.3 -0.1 0.5 -0.1 0.3 1.6 -0.4 0.4
MF – példa tanítás P R 1 4 3 1.2 -0.3 4 4 1.2 0.9 4 2 4 0.4 -0.4 Q 1.3 0.9 -1.3 -0.1 0.5 -0.1 0.3 1.6 -0.4 0.4
MF – példa tanítás P R 1 4 3 1.1 -0.2 4 4 1.2 0.9 4 2 4 0.4 -0.4 Q 1.3 0.9 -1.3 -0.0 0.5 -0.1 0.3 1.5 -0.4 0.4
MF – példa tanítás P R 1 4 3 1.1 -0.2 4 4 1.2 0.9 4 2 4 0.4 -0.4 Q 1.3 0.9 -1.3 -0.0 0.5 -0.1 0.3 1.5 -0.4 0.4
MF – példa tanítás P R 1 4 3 1.1 -0.2 4 4 1.1 0.8 4 2 4 0.4 -0.4 Q 1.3 0.9 -1.2 -0.0 0.5 -0.1 0.3 1.5 -0.3 0.4
MF – példa tanítás P R 1 4 3 1.1 -0.2 4 4 1.1 0.8 4 2 4 0.4 -0.4 Q 1.3 0.9 -1.2 -0.0 0.5 -0.1 0.3 1.5 -0.3 0.4
MF – példa tanítás P R 1 4 3 1.1 -0.2 4 4 1.2 0.9 4 2 4 0.4 -0.4 Q 1.3 0.9 -1.2 0.1 0.5 -0.1 0.3 1.6 -0.3 0.4
MF – példa tanítás P R 1 4 3 1.1 -0.2 4 4 1.2 0.9 4 2 4 0.4 -0.4 Q 1.3 0.9 -1.2 0.1 0.5 -0.1 0.3 1.6 -0.3 0.4
MF – példa tanítás P R 1 4 3 1.1 -0.2 4 4 1.2 0.9 4 2 4 0.5 -0.3 Q 1.5 0.9 -1.2 0.1 0.5 0.0 0.3 1.6 -0.3 0.4
MF – példa tanítás P R 1 4 3 1.1 -0.2 4 4 1.2 0.9 4 2 4 0.5 -0.3 Q 1.5 0.9 -1.2 0.1 0.5 0.0 0.3 1.6 -0.3 0.4
MF – példa tanítás P R 1 4 3 1.1 -0.2 4 4 1.2 0.9 4 2 4 0.4 -0.2 Q 1.5 0.9 -1.1 0.1 0.5 0.0 0.3 1.6 -0.2 0.4
MF – példa tanítás P R 1 4 3 1.1 -0.2 4 4 1.2 0.9 4 2 4 0.4 -0.2 Q 1.5 0.9 -1.1 0.1 0.5 0.0 0.3 1.6 -0.2 0.4
MF – példa tanítás P R 1 4 3 1.1 -0.2 4 4 1.2 0.9 4 2 4 0.5 -0.1 Q 1.5 0.9 -1.1 0.1 0.6 0.0 0.2 1.6 -0.2 0.4
MF – példa tanítás P R 1 4 3 1.4 1.1 4 4 0.9 1.9 4 2 4 2.5 -0.3 Q 1.5 2.1 1.0 0.7 1.6 -1.0 0.0 1.8 1.6 0.8
MF – predikció P R 1 4 3 3.3 2.4 1.4 1.1 4 4 -0.5 3.5 1.5 0.9 1.9 4 2 4 4.9 1.1 2.5 -0.3 Q 1.5 2.1 1.0 0.7 1.6 -1.0 0.0 1.8 1.6 0.8
Regularizáció 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.
BRISMF (Gravity) Predikció: Ahol: afelhasználó bias, atermék bias. BRISMF = Biased Regularized Incremental Simultaneous Matrix Factorization Összetevők: • B R I S • példák sorrendje (felhasználónként, dátum szerint) • 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 – eredmények • 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ábbimetaparaméter opt.: 0.9002 5.38% ← BRISMF • +K=1000: 0.8938 6.05% ← BRISMF • +egy kis trükk (Preset-elése 1x) 0.8921 6.23%
Szomszédmódszerek (BellKor) users items
Szomszédmódszerek (BellKor) users items AZ ≈ ? HF + ? JB + ? AT Lineárisregresszió 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 items 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 items 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 items 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 items
NSVD1 (Paterek) users Ö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: items
NSVD1 (Paterek) users 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 items
LM (Paterek) users Ez is felfogható neurális hálózatként Bemenet: mintaz 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 items
Egy LM+NSVD1 változat (BellKor) users 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) items
Módszerek kombinálása users 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-tegyszerre items
Hibridmódszerek users 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: items
A hibrid módszerek hatékonysága users 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) items
Az időfüggés modellezése users “Just a Guy in a Garage” módszere: daybias RMSE = 0.9675 BellKor módszere: RMSE = 0.8799 (K=200) items