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

Detta är del 2 i min serie om Recommender Systems. Det förra inlägget var en introduktion till RecSys. Idag ska jag förklara tre typer av Collaborative Filtering mer i detalj: User-Based Collaborative Filtering (UB-CF) och Item-Based Collaborative Filtering (IB-CF).

Låt oss börja.

Föreställ dig att vi vill rekommendera en film till vår vän Stanley. Vi kan anta att liknande personer har liknande smak. Anta att jag och Stanley har sett samma filmer och att vi betygsatte dem alla nästan identiskt. Men Stanley har inte sett ”Gudfadern”: Part II” och det har jag gjort. Om jag älskar den filmen låter det logiskt att tro att han också gör det. Därmed har vi skapat ett artificiellt betyg baserat på vår likhet.

Okej, UB-CF använder den logiken och rekommenderar objekt genom att hitta användare som liknar den aktiva användaren (som vi försöker rekommendera en film till). En specifik tillämpning av detta är den användarbaserade Nearest Neighbor-algoritmen. Denna algoritm behöver två uppgifter:

1.Hitta K närmaste grannar (KNN) till användaren a, med hjälp av en likhetsfunktion w för att mäta avståndet mellan varje par användare:

2.Förutsäg det betyg som användare a kommer att ge alla varor som de k grannarna har konsumerat men inte användaren a. Vi letar efter det objekt j med det bästa förutspådda betyget.

Med andra ord skapar vi en matris mellan användare och objekt och förutspår betygen på objekt som den aktiva användaren inte har sett, baserat på de andra liknande användarna. Denna teknik är minnesbaserad.

Fyllande av luckor

PROS:

  • Lätt att genomföra.
  • Kontextoberoende.
  • Jämfört med andra tekniker, t.ex. innehållsbaserad, är den mer exakt.

KONSEKVENSER:

  • Sparsamhet: Procentandelen personer som betygsätter objekt är mycket låg.
  • Skalbarhet: Ju fler K-grannar vi tar hänsyn till (under ett visst tröskelvärde), desto bättre bör min klassificering vara. Men ju fler användare det finns i systemet, desto större blir kostnaden för att hitta de närmaste K grannarna.
  • Kold start: Nya användare kommer att ha ingen eller lite information om dem som kan jämföras med andra användare.
  • Nytt objekt: Precis som den sista punkten kommer nya objekt att sakna betyg för att skapa en solid rangordning (mer om detta i ”Hur man sorterar och rangordnar objekt”).

Item-Based Collaborative Filtering (IB-CF)

Tillbaka till Stanley. Istället för att fokusera på hans vänner skulle vi kunna fokusera på vilka objekt av alla alternativ som är mest lika det vi vet att han tycker om. Detta nya fokus kallas IB-CF (Item-Based Collaborative Filtering).

Vi kan dela upp IB-CF i två deluppgifter:

1.Beräkna likheten mellan objekten:

  • Kosinbaserad likhet
  • Korrelationsbaserad likhet
  • Adjusterad kosinlikhet
  • 1-Jaccard distans

2.Beräkning av förutsägelse:

  • vägd summa
  • Regression

Skillnaden mellan UB-CF och den här metoden är att vi i det här fallet direkt beräknar likheten mellan de samvärderade objekten i förväg och hoppar över K-neighborhood-sökningen.

Slope One

Slope One är en del av familjen Item-Based Collaborative Filtering, som introducerades i en artikel från 2005 av Daniel Lemire och Anna Maclachlan med titeln Slope One Predictors for Online Rating-Based Collaborative Filtering.

Den huvudsakliga idén bakom den här modellen är följande:

Antag att vi har två olika användare: Vi har också objektet I och objektet J. Användare A betygsatte objektet I med 1 stjärna och objektet J med 1,5. Om användare B betygsatte artikel I med 2. Vi kan göra antagandet att skillnaden mellan de båda artiklarna kommer att vara densamma som användare A. Med detta i åtanke skulle användare B betygsätta artikel J som: 2+ (1,5-1) = 2,5

Huvudtanken bakom Slope One

Författarna fokuserar på 5 mål:
1. Lätt att genomföra och underhålla.
2. Uppdaterbar online: nya betyg ska ändra förutsägelser snabbt.
3. Effektivt vid konsultationen: lagring är den största kostnaden.
4. Det fungerar med lite användarfeedback.
5. Rimligt noggrann, inom vissa intervall där en liten vinst i noggrannhet inte innebär en stor uppoffring av enkelhet och skalbarhet.

Recap

Vi såg användarbaserad och artikelbaserad kollaborativ filtrering. Den första har fokus på att fylla en matris för användare och objekt och rekommenderar baserat på de användare som är mer lika den aktiva användaren. Å andra sidan fyller IB-CF en Item-Item-matris och rekommenderar baserat på liknande objekt.

Det är svårt att förklara alla dessa ämnen kortfattat, men att förstå dem är det första steget för att komma djupare in i RecSys.

Lämna ett svar

Din e-postadress kommer inte publiceras.