Aceasta este partea a doua a seriei mele despre sistemele de recomandare. Ultima postare a fost o introducere la RecSys. Astăzi voi explica mai în detaliu trei tipuri de Filtrare colaborativă: User-Based Collaborative Filtering (UB-CF) și Item-Based Collaborative Filtering (IB-CF).
Să începem.
Imaginați-vă că vrem să îi recomandăm un film prietenului nostru Stanley. Am putea presupune că persoanele similare vor avea gusturi similare. Să presupunem că eu și Stanley am văzut aceleași filme și că le-am evaluat pe toate aproape identic. Dar Stanley nu a văzut „The Godfather”: Partea a II-a”, iar eu l-am văzut. Dacă mie îmi place acel film, pare logic să cred că și lui îi va plăcea. Cu asta, am creat o clasificare artificială bazată pe similaritatea noastră.
Ei bine, UB-CF folosește această logică și recomandă articole prin găsirea unor utilizatori similari cu utilizatorul activ (căruia încercăm să îi recomandăm un film). O aplicație specifică a acestui lucru este algoritmul Nearest Neighbor bazat pe utilizator. Acest algoritm are nevoie de două sarcini:
1.Găsirea celor mai apropiați K vecini (KNN) ai utilizatorului a, folosind o funcție de similaritate w pentru a măsura distanța dintre fiecare pereche de utilizatori:
2.Prevedeți nota pe care utilizatorul a o va acorda tuturor elementelor pe care cei k vecini le-au consumat, dar pe care a nu le-a consumat. Căutăm articolul j cu cel mai bun rating prezis.
Cu alte cuvinte, creăm o matrice utilizator-element, prezicând ratingurile pentru articolele pe care utilizatorul activ nu le-a văzut, pe baza celorlalți utilizatori similari. Această tehnică este bazată pe memorie.