1 / 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. Kollaboratív szűrés és a Netflix verseny. Kollaboratív szűrés. Kollaboratív szűrés – definíció.

laasya
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Kollaboratív szűrés

  3. 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.

  4. 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ó

  5. 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.

  6. 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

  7. 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

  8. A feladat 1 4 3 4 4 4 4 2

  9. 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

  10. 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

  11. 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.

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. Egy idő múlva …

  31. 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

  32. 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

  33. 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.

  34. 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

  35. 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%

  36. Szomszédmódszerek (BellKor) users items

  37. 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

  38. 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

  39. 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?

  40. 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

  41. Szomszéd módszerek (BellKor) users items

  42. 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

  43. 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

  44. 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

  45. 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

  46. 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

  47. 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

  48. 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

  49. 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

More Related