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

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