Recommender Systems – User-Based and Item-Based Collaborative Filtering

Ez a második része az Ajánló rendszerekről szóló sorozatomnak. Az előző bejegyzés a RecSys bemutatása volt. Ma a kollaboratív szűrés három típusát ismertetem részletesebben: Felhasználó-alapú együttműködő szűrés (UB-CF) és tétel-alapú együttműködő szűrés (IB-CF).

Kezdjük el.

Tegyük fel, hogy egy filmet szeretnénk ajánlani Stanley barátunknak. Feltételezhetjük, hogy hasonló embereknek hasonló az ízlésük. Tegyük fel, hogy Stanley és én ugyanazokat a filmeket láttuk, és szinte egyformán értékeltük őket. De Stanley még nem látta a Keresztapát: Part II”-t, én pedig igen. Ha én szeretem azt a filmet, logikusan hangzik, hogy ő is szeretni fogja. Ezzel létrehoztunk egy mesterséges értékelést a hasonlóságunk alapján.

Nos, az UB-CF ezt a logikát használja, és úgy ajánlja az elemeket, hogy az aktív felhasználóhoz (akinek megpróbálunk ajánlani egy filmet) hasonló felhasználókat talál. Ennek egy konkrét alkalmazása a felhasználó alapú Nearest Neighbor algoritmus. Ennek az algoritmusnak két feladatra van szüksége:

1. Keresse meg az a felhasználó K legközelebbi szomszédját (KNN), egy w hasonlósági függvényt használva az egyes felhasználói párok közötti távolság mérésére:

2.Jósolja meg, hogy a felhasználó a milyen értékelést fog adni mindazoknak a tételeknek, amelyeket k szomszédja fogyasztott, de a még nem. Megkeressük azt a j elemet, amelynek a legjobb megjósolt értékelése van.

Más szóval, létrehozunk egy felhasználó-elem mátrixot, és a többi hasonló felhasználó alapján megjósoljuk az aktív felhasználó által még nem látott elemek értékelését. Ez a technika memóriaalapú.

Az üres helyek kitöltése

PROS:

  • Egyszerűen megvalósítható.
  • Kontextusfüggetlen.
  • Egyéb technikákkal, például a tartalomalapúval összehasonlítva pontosabb.

CONS:

  • Sparsity: A tételeket értékelő emberek aránya nagyon alacsony.
  • Kiszélesíthetőség: Minél több K szomszédot veszünk figyelembe (egy bizonyos küszöbérték alatt), annál jobbnak kell lennie az osztályozásomnak. Mindazonáltal minél több felhasználó van a rendszerben, annál nagyobb lesz a legközelebbi K szomszéd megtalálásának költsége.
  • Cold-start: Az új felhasználókról nincs vagy kevés információ áll rendelkezésre, hogy összehasonlíthassuk őket más felhasználókkal.
  • Új elem:

Item-alapú kollaboratív szűrés (IB-CF)

Back to Stanley. Ahelyett, hogy a barátaira koncentrálnánk, koncentrálhatnánk arra, hogy az összes lehetőség közül mely elemek hasonlítanak jobban ahhoz, amiről tudjuk, hogy szereti. Ezt az új fókuszt elemalapú kollaboratív szűrésnek (IB-CF) nevezzük.

Az IB-CF-et két részfeladatra oszthatjuk:

1.Az elemek közötti hasonlóság kiszámítása:

  • Kozinus alapú hasonlóság
  • Korreláció alapú hasonlóság
  • Adjusted Cosine Similarity
  • 1-Jaccard távolság

2.Előrejelzés számítása:

  • Súlyozott összeg
  • Regresszió

A különbség az UB-CF és ez a módszer között az, hogy ebben az esetben közvetlenül előre kiszámítjuk a hasonlóságot az együtt rangsorolt elemek között, kihagyva a K-szomszédsági keresést.

Slope One

A Slope One az Item-Based Collaborative Filtering család része, amelyet Daniel Lemire és Anna Maclachlan 2005-ben mutatott be Slope One Predictors for Online Rating-Based Collaborative Filtering című tanulmányában.

A modell lényege a következő:

Tegyük fel, hogy van két különböző felhasználó: A és B. Továbbá van I és J elemünk. A felhasználó 1 csillaggal értékelte az I elemet, a J elemet pedig 1,5 csillaggal. Ha a B felhasználó az I. tételt 2-vel értékelte, akkor azt a feltételezést tehetjük, hogy a két tétel közötti különbség ugyanannyi lesz, mint A felhasználóé. Ezt figyelembe véve B felhasználó a J. tételt így értékelné: 2+ (1,5-1) = 2,5

A Slope One fő gondolata

A szerzők 5 célkitűzésre összpontosítanak:
1. Könnyen megvalósítható és karbantartható.
2. Online frissíthető: az új minősítéseknek gyorsan kell változtatniuk az előrejelzéseket.
3. Hatékony a konzultáció idején: a tárolás a fő költség.
4. Kevés felhasználói visszajelzéssel működik.
5. A felhasználók visszajelzései nélkül működik. Megfelelő pontosságú, bizonyos tartományokon belül, ahol a pontosság kis mértékű növekedése nem jelent nagy áldozatot az egyszerűség és a skálázhatóság terén.

Recap

Láttuk a felhasználó-alapú és az elem-alapú kollaboratív szűrést. Az első egy felhasználó-elem mátrix kitöltésére és az aktív felhasználóhoz jobban hasonlító felhasználók alapján történő ajánlásokra összpontosít. Másrészt az IB-CF egy Item-Item mátrixot tölt ki, és a hasonló elemek alapján ajánl.

Nehéz röviden elmagyarázni ezeket a témákat, de megértésük az első lépés a RecSys-ben való elmélyüléshez.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.