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

Toto je druhá část mého seriálu o doporučovacích systémech. Minulý příspěvek byl úvodem do RecSys. Dnes podrobněji vysvětlím tři typy kolaborativního filtrování: Kolaborativní filtrování založené na uživateli (UB-CF) a kolaborativní filtrování založené na položkách (IB-CF).

Začněme.

Představme si, že chceme našemu příteli Stanleymu doporučit film. Mohli bychom předpokládat, že podobní lidé budou mít podobný vkus. Předpokládejme, že jsme se Stanleym viděli stejné filmy a všechny jsme hodnotili téměř stejně. Ale Stanley neviděl „Kmotra“: Část II‘ a já ano. Pokud se mi ten film líbí, zní logicky, že se mu bude líbit také. Tím jsme vytvořili umělé hodnocení založené na naší podobnosti.

No, UB-CF používá tuto logiku a doporučuje položky tak, že najde uživatele podobné aktivnímu uživateli (kterému se snažíme doporučit film). Konkrétní aplikací tohoto postupu je algoritmus nejbližšího souseda na základě uživatele. Tento algoritmus potřebuje dvě úlohy:

1. Najít K nejbližších sousedů (KNN) k uživateli a pomocí funkce podobnosti w, která měří vzdálenost mezi jednotlivými dvojicemi uživatelů:

2.Předpovězte hodnocení, které uživatel a udělí všem položkám, které k sousedů spotřebovalo, ale a ne. Hledáme položku j s nejlepším předpovězeným hodnocením.

Jinými slovy, vytváříme matici uživatel-položka a předpovídáme hodnocení položek, které aktivní uživatel neviděl, na základě ostatních podobných uživatelů. Tato technika je založena na paměti.

Plnění prázdných míst

PROS:

  • Snadná implementace.
  • Nezávislá na kontextu.
  • V porovnání s jinými technikami, jako je například technika založená na obsahu, je přesnější.

PŘÍKLADY:

  • Drobnost: Procento lidí, kteří hodnotí položky, je opravdu nízké.
  • Škálovatelnost: Čím více K sousedů budeme brát v úvahu (pod určitou hranicí), tím lepší by měla být moje klasifikace. Nicméně čím více uživatelů bude v systému, tím větší budou náklady na nalezení nejbližších K sousedů.
  • Studený start: Noví uživatelé nebudou mít žádné nebo jen málo informací o sobě, aby je bylo možné porovnat s ostatními uživateli.
  • Nová položka:

Společné filtrování založené na položkách (IB-CF)

Zpět na Stanleyho: Stejně jako v minulém bodě budou nové položky postrádat hodnocení pro vytvoření solidního pořadí (více o tom v části „Jak třídit a řadit položky“). Místo toho, abychom se zaměřili na jeho přátele, mohli bychom se zaměřit na to, které položky ze všech možností jsou více podobné tomu, o čem víme, že ho baví. Toto nové zaměření se nazývá Item-Based Collaborative Filtering (IB-CF).

Mohli bychom IB-CF rozdělit na dvě dílčí úlohy:

1. Zjistěte, co je to IB-CF.Výpočet podobnosti mezi položkami:

  • Podobnost založená na kosinu
  • Podobnost založená na korelaci
  • Podobnost upravená kosinem
  • 1-Jaccardova vzdálenost

2.Výpočet predikce:

  • Vážený součet
  • Regrese

Rozdíl mezi UB-CF a touto metodou spočívá v tom, že v tomto případě přímo předpočítáme podobnost mezi společně hodnocenými položkami a vynecháme prohledávání K-okolí.

Slope One

Slope One je součástí rodiny Item-Based Collaborative Filtering, kterou v roce 2005 představili Daniel Lemire a Anna Maclachlan v článku Slope One Predictors for Online Rating-Based Collaborative Filtering.

Hlavní myšlenka tohoto modelu je následující:

Předpokládejme, že máme dva různé uživatele: Uživatel A ohodnotil položku I 1 hvězdičkou a položku J 1,5 hvězdičky. Pokud uživatel B ohodnotí položku I hvězdičkou 2. Můžeme předpokládat, že rozdíl mezi oběma položkami bude stejný jako u uživatele A. S ohledem na to by uživatel B ohodnotil položku J jako: 2+ (1,5-1) = 2,5

Hlavní myšlenka Slope One

Autoři se zaměřili na 5 cílů:
1. Snadná implementace a údržba.
2. Možnost aktualizace online: nová hodnocení by měla rychle měnit předpovědi.
3. Efektivní v době konzultací: hlavním nákladem je úložiště.
4. Funguje s malou zpětnou vazbou od uživatelů.
5. Snadná implementace a údržba. Přiměřeně přesný, v určitých mezích, ve kterých malý nárůst přesnosti neznamená velkou oběť jednoduchosti a škálovatelnosti.

Recap

Viděli jsme kolaborativní filtrování založené na uživatelích a položkách. První se zaměřuje na vyplňování matice uživatel-položka a doporučování na základě uživatelů, kteří jsou aktivnímu uživateli podobnější. Na druhé straně IB-CF vyplňuje matici položka-položka a doporučuje na základě podobných položek.

Je těžké všechna tato témata stručně vysvětlit, ale jejich pochopení je prvním krokem k hlubšímu proniknutí do systému RecSys.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.