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

Dit is deel 2 van mijn serie over Recommender Systems. De vorige post was een introductie tot RecSys. Vandaag zal ik drie typen Collaborative Filtering nader toelichten: User-Based Collaborative Filtering (UB-CF) en Item-Based Collaborative Filtering (IB-CF).

Laten we beginnen.

Stel je voor dat we onze vriend Stanley een film willen aanraden. We kunnen ervan uitgaan dat gelijksoortige mensen een gelijksoortige smaak zullen hebben. Stel dat ik en Stanley dezelfde films hebben gezien, en dat we ze allemaal bijna hetzelfde beoordelen. Maar Stanley heeft ‘The Godfather: Part II’ gezien en ik wel. Als ik die film goed vind, klinkt het logisch te denken dat hij dat ook zal doen. Daarmee hebben we een kunstmatige waardering gecreëerd op basis van onze gelijkenis.

Wel, UB-CF gebruikt die logica en beveelt items aan door gelijksoortige gebruikers te vinden als de actieve gebruiker (aan wie we een film proberen aan te bevelen). Een specifieke toepassing hiervan is het op gebruikers gebaseerde Nearest Neighbor algoritme. Dit algoritme heeft twee taken:

1.Vind de K-nabijste buren (KNN) van de gebruiker a, met behulp van een similariteitsfunctie w om de afstand tussen elk paar gebruikers te meten:

2.Vind de K-nabijste buren (KNN) van de gebruiker a, met behulp van een similariteitsfunctie w om de afstand tussen elk paar gebruikers te metenVoorspel de waardering die gebruiker a zal geven aan alle items die de k buren hebben genuttigd maar a niet. We zoeken het item j met de best voorspelde beoordeling.

Met andere woorden, we maken een gebruiker-itemmatrix, waarbij we de beoordeling voorspellen van items die de actieve gebruiker niet heeft gezien, op basis van de andere vergelijkbare gebruikers. Deze techniek is gebaseerd op het geheugen.

Vulling van de lege plekken

PROS:

  • Gemakkelijk te implementeren.
  • Contextonafhankelijk.
  • Vergeleken met andere technieken, zoals inhoudsgebaseerd, is het nauwkeuriger.

CONS:

  • Sparsiteit: Het percentage mensen dat items beoordeelt is echt laag.
  • Kalibaarheid: Hoe meer K-buren we in aanmerking nemen (onder een bepaalde drempel), hoe beter mijn classificatie zou moeten zijn. Maar hoe meer gebruikers er in het systeem zijn, hoe hoger de kosten van het vinden van de dichtstbijzijnde K-buren zullen zijn.
  • Cold-start: Nieuwe gebruikers zullen geen tot weinig informatie over zich hebben om met andere gebruikers te kunnen worden vergeleken.
  • Nieuw item: Net als het laatste punt, zullen nieuwe items gebrek aan ratings om een solide ranking te creëren (Meer van deze op ‘Hoe te sorteren en rangschikken items’).

Item-Based Collaborative Filtering (IB-CF)

Terug naar Stanley. In plaats van ons te richten op zijn vrienden, kunnen we ons richten op welke items uit alle opties meer lijken op wat we weten dat hij leuk vindt. Deze nieuwe focus staat bekend als Item-Based Collaborative Filtering (IB-CF).

We kunnen IB-CF in twee deeltaken verdelen:

1.Berekening van de overeenkomst tussen de items:

  • Gelijkenis op basis van cosinus
  • Gelijkenis op basis van correlatie
  • Gecorrigeerde cosinusgelijkenis
  • 1-Jaccard afstand

2.Berekening van voorspelling:

  • Gewogen som
  • Regressie

Het verschil tussen UB-CF en deze methode is dat we in dit geval de overeenkomst tussen de geco-rate items direct vooraf berekenen, waarbij we het zoeken in de K-nighborhood overslaan.

Slope One

Slope One maakt deel uit van de Item-Based Collaborative Filtering familie, geïntroduceerd in een paper uit 2005 door Daniel Lemire en Anna Maclachlan genaamd Slope One Predictors for Online Rating-Based Collaborative Filtering.

Het hoofdidee achter dit model is het volgende:

Voorstel dat we twee verschillende gebruikers hebben: A en B. Ook hebben we item I en item J. Gebruiker A beoordeelde item I met 1 ster en het item J met 1,5. Als gebruiker B item I beoordeelt met een 2. We kunnen aannemen dat het verschil tussen beide items hetzelfde zal zijn als gebruiker A. Met dit in gedachten, zou gebruiker B item J beoordelen als: 2+ (1,5-1) = 2,5

Hoofdgedachte achter Slope One

De auteurs richten zich op 5 doelstellingen:
1. Eenvoudig te implementeren en te onderhouden.
2. Online bij te werken: nieuwe ratings moeten voorspellingen snel veranderen.
3. Efficiënt op het moment van raadpleging: opslag is de belangrijkste kostenpost.
4. Het werkt met weinig feedback van gebruikers.
5. Redelijk nauwkeurig, binnen bepaalde marges waarin een kleine winst in nauwkeurigheid geen grote opoffering van eenvoud en schaalbaarheid betekent.

Recap

We zagen User-Based en Item-Based Collaborative Filtering. De eerste is gericht op het vullen van een gebruiker-item matrix en het aanbevelen op basis van de gebruikers die meer lijken op de actieve gebruiker. IB-CF daarentegen vult een Item-Item matrix, en beveelt aan op basis van vergelijkbare items.

Het is moeilijk om al deze onderwerpen kort uit te leggen, maar ze begrijpen is de eerste stap om dieper in RecSys te duiken.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.