170 likes | 315 Vues
Skálázható kollaboratív filtering módszerek a Netflix Prize versenyen. The Budapest New Technology July Meeting 2008. július 2. Tikk Domonkos Gravity Research & Development Kft. web: http://gravitrd.com. A feladat. A feladat. 1. 4. 3. 4. 4. 4. 2. 4. A feladat.
E N D
Skálázhatókollaboratív filteringmódszerek a Netflix Prize versenyen The Budapest New Technology July Meeting 2008. július 2. Tikk Domonkos Gravity Research & Development Kft. web: http://gravitrd.com
A feladat 1 4 3 4 4 4 2 4
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: {r1, …, rL}) • 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 ≈ 500000, N ≈ 20000. • 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∙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.
R P 1 4 3 1,1 -0,4 1,2 -0,5 1,2 -0,3 1,1 -0,2 4 4 1,1 0,8 1,2 0,9 1,2 0,9 0,4 -0,4 0,4 -0,2 0,5 -0,1 0,5 -0,3 4 2 4 1,3 1,4 1,5 0,9 0,8 -1,1 -1,3 -1,2 0,1 -0.1 0,0 0.6 0.5 Q 0,0 -0,1 -0,2 0,4 0,5 -0,2 -0,4 -0,3 1,5 1,6 1,6 0,2 0,3
R P 3.3 2.4 1 4 3 1,4 1,1 -0.5 3.5 4 4 1.5 0,9 1,9 2,5 -0,3 4.9 1.1 4 2 4 1,5 2,1 1,0 0.7 1.6 Q -1,0 0,8 1,6 1,8 0,0
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
Szomszéd módszerek • 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”
Film-szomszéd módszerek • fjk: a k. filmről következtet a j. filmre • sjk: a j. és a k. film közti hasonlóság • sjk:=|rjk|α • rjk pontatlan, ha kevés közös értékelés van • sjk 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.