Skálázható kollaboratív filtering módszerek a Netflix Prize versenyen The Budapest New Technology July Meeting július 2. Tikk Domonkos Gravity Research & Development Kft. web:
A feladat
A jelenség az (U, I, R) véletlen hármassal modellezhető. U: felhasználó azonosító (értékkészlet: {1, …, M}) I: termék azonosító (értékkészlet: {1, …, N}) R: értékelés (értékkészlet: {r 1, …, r L }) A jelenségnek egy (u, i, r) realizációja azt jelenti, hogy az u. felhasználó az i. termékre r értékelést adott.
A feladat A cél: R becslése (U, I) alapján. Hibakritérium: várható négyzetes eltérés. Tehát a feladat egy klasszikus regresszióbecslés. De!!! A klasszikus módszerek a prediktorváltozók szokatlan volta miatt csődöt mondanak.
Netflix verseny A Netflix DVD kölcsönző cég hirdette meg. Cél: az ajánlórendszerük RMSE hibájának 10%-kal való csökkentése. Fődíj: 1 millió dollár. Résztvevők: 170 országból 3000 csapat. Probléma dimenzió: M ≈ , N ≈ Tanító készlet: ~100 millió db (felhasználó, film, értékelés, dátum) négyes. Validációs készlet: ~1.5 millió db (felhasználó, film, dátum) hármas.
Megközelítések Mátrix faktorizáció: közelítsük az értékelésmátrixot két alacsonyabb rangú mátrix szorzatával! Szupport alapú módszerek: jellemezzük a felhasználókat a binarizált értékelésmátrix alapján! Szomszéd módszerek: definiáljunk hasonlóságot az értékelésmátrix sorai vagy oszlopai között! Boltzmann-gép: sztochasztikus, visszacsatolt neurális hálózat.
Mátrix faktorizáció Ötlet: közelítsük az értékelésmátrixot két alacsonyabb rangú mátrix szorzatával! R ≈ P ∙ QR ≈ P ∙ Q R: értékelésmátrix, (M x N)-es P: felhasználójellemző mátrix, (M x K)-s Q: termékjellemző mátrix: (K x N)-es Probléma: rengeteg (akár 10 millió) paraméter, R egy része ismeretlen. Megoldás: inkrementális gradiens módszer.
,4 -0,2 0,8 0,5 -1,3 -0,41, ,3 1,2 -0,51,1 -0,4 1,2 0,9 0,4 -0,4 1,2 -0,3 1,3 -0,1 0,9 0,4 1,1 -0,2 1,5 0,0 1,1 0,8 -1,2 -0,3 1,2 0,9 1,6 0,11,5 0,0 0,5 -0,3 -1,1 -0,2 0,4 -0,20,5 -0, ,2 P Q R
,5 -1,0 2,1 0,8 1,0 1,61, ,0 1,4 1,1 0,9 1,9 2,5 -0,3 P Q R
2D mátrixfaktorizáció Ötlet: Jellemzőket síkban helyezzük el Hasonló jellemzők legyenek közel egymáshoz Gradienst számolunk, de a szomszédokat is frissítjük Consantine film mátrixa
2D mátrixfaktorizáció Mátrix triológia jellemzőmátrixai, azonos a faktorizációval készítve
ha 2 film hasonló értékeléseket kapott, akkor a 2 film hasonló ha 2 film hasonló, akkor hasonló értékeléseket kell Film-szomszéd módszer: a felhasználó által értékelt hasonló filmek értékelései alapján következtetünk User-szomszéd módszer: a film-szomszéd módszer duálisa” Szomszéd módszerek
f jk : a k. filmről következtet a j. filmre • s jk : a j. és a k. film közti hasonlóság • s jk :=|r jk | α Film-szomszéd módszerek r jk pontatlan, ha kevés közös értékelés van s jk számolható egy MF film-jellemzői alapján is. Az MF film-jellemzőket beszorozhatjuk a user jellemzőivel csak a K leghasonlóbb film alapján következtetünk a film átlagos értékelését is figyelembe vesszük, β súllyal.
A versenyen vezető csapatok,