Suosittelujärjestelmät – Käyttäjälähtöinen ja kohdepohjainen yhteissuodatus

Tämä on suosittelujärjestelmiä käsittelevän sarjani toinen osa. Edellinen postaus oli RecSysin esittely. Tänään kerron tarkemmin kolmesta Collaborative Filtering -tyypistä: Käyttäjälähtöinen yhteissuodatus (User-Based Collaborative Filtering, UB-CF) ja kohdepohjainen yhteissuodatus (Item-Based Collaborative Filtering, IB-CF).

Aloitetaan.

Kuvitellaan, että haluamme suositella elokuvaa ystävällemme Stanleylle. Voisimme olettaa, että samanlaisilla ihmisillä on samanlainen maku. Oletetaan, että minä ja Stanley olemme nähneet samat elokuvat, ja olemme arvioineet ne kaikki lähes identtisesti. Mutta Stanley ei ole nähnyt Kummisetää: Osa II’ ja minä olen nähnyt. Jos minä pidän siitä elokuvasta, kuulostaa loogiselta ajatella, että hänkin pitää siitä. Sen avulla olemme luoneet keinotekoisen luokituksen, joka perustuu samankaltaisuuteemme.

UB-CF käyttää tätä logiikkaa ja suosittelee kohteita etsimällä samanlaisia käyttäjiä kuin aktiivinen käyttäjä (jolle yritämme suositella elokuvaa). Erityinen sovellus tästä on käyttäjälähtöinen Nearest Neighbor -algoritmi. Tämä algoritmi tarvitsee kaksi tehtävää:

1. Löytää K lähintä naapuria (KNN) käyttäjälle a käyttäen samankaltaisuusfunktiota w mittaamaan kunkin käyttäjäparin välistä etäisyyttä:

2.Ennustetaan arvosana, jonka käyttäjä a antaa kaikille tuotteille, joita k naapuria on kuluttanut, mutta a ei ole. Etsimme kohteen j, jolla on paras ennustettu arvosana.

Luomme toisin sanoen käyttäjä-kohde-matriisin, jossa ennustamme muiden samankaltaisten käyttäjien perusteella arvosanat kohteille, joita aktiivinen käyttäjä ei ole nähnyt. Tämä tekniikka perustuu muistiin.

Tyhjien paikkojen täyttäminen

ESIMERKKEJÄ:

  • Helppo toteuttaa.
  • Kontekstista riippumaton.
  • Vertailtuna muihin tekniikoihin, kuten sisältöpohjaiseen, se on tarkempi.

CONS:

  • Sparsity: Kohteita arvioivien ihmisten osuus on todella pieni.
  • Skaalautuvuus: Mitä enemmän K naapureita otamme huomioon (tietyn kynnysarvon alapuolella), sitä parempi luokitukseni pitäisi olla. Mitä enemmän järjestelmässä on kuitenkin käyttäjiä, sitä suuremmat ovat lähimpien K naapureiden löytämisen kustannukset.
  • Cold-start: Uusilla käyttäjillä ei ole lainkaan tai vain vähän tietoa, jota voitaisiin verrata muihin käyttäjiin.
  • Uusi kohde:

Kohteisiin perustuva yhteissuodatus (IB-CF)

Takaisin Stanleyyn. Sen sijaan, että keskittyisimme hänen ystäviinsä, voisimme keskittyä siihen, mitkä kohteet kaikista vaihtoehdoista muistuttavat enemmän sitä, mistä tiedämme hänen pitävän. Tätä uutta keskittymistä kutsutaan nimellä Item-Based Collaborative Filtering (IB-CF).

Voisimme jakaa IB-CF:n kahteen osatehtävään:

1.Lasketaan kohteiden välinen samankaltaisuus:

  • Kosiinipohjainen samankaltaisuus
  • Korrelaatiopohjainen samankaltaisuus
  • Sovitettu kosiinipohjainen samankaltaisuus
  • 1-Jaccard-etäisyys

2.Ennusteen laskeminen:

  • Painotettu summa
  • Regressio

Ero UB-CF:n ja tämän menetelmän välillä on se, että tässä tapauksessa laskemme suoraan valmiiksi samankaltaisuuden rinnakkaisluokiteltujen kohteiden välille ohittaen K-naapuruushaun.

Slope One

Slope One on osa Item-Based Collaborative Filtering -malliperhettä, joka esiteltiin Daniel Lemiren ja Anna Maclachlanin vuonna 2005 julkaisemassa artikkelissa Slope One Predictors for Online Rating-Based Collaborative Filtering.

Tämän mallin pääidea on seuraava:

Esitellään, että meillä on kaksi eri käyttäjää: A ja B. Lisäksi meillä on kohde I ja kohde J. Käyttäjä A arvioi kohteen I yhdellä tähdellä ja kohteen J 1.5 tähdellä. Jos käyttäjä B arvioi kohteen I tähdellä 2. Voimme tehdä oletuksen, että molempien kohteiden välinen ero on sama kuin käyttäjällä A. Tätä ajatellen käyttäjä B arvioisi kohteen J seuraavasti: 2+ (1,5-1) = 2,5

Pääasiallinen ajatus Slope One:n takana

Tekijät keskittyvät viiteen tavoitteeseen:
1. Helppo toteuttaa ja ylläpitää.
2. Päivitettävissä verkossa: uusien luokitusten pitäisi muuttaa ennusteita nopeasti.
3. Tehokas konsultoinnin aikana: varastointi on tärkein kustannus.
4. Toimii vähällä käyttäjäpalautteella.
5. Toimii vähällä käyttäjäpalautteella. Kohtuullisen tarkka, tietyissä rajoissa, joissa pieni tarkkuuden lisäys ei merkitse suurta uhrausta yksinkertaisuudesta ja skaalautuvuudesta.

Recap

Katsoimme käyttäjäpohjaista ja kohdepohjaista yhteissuodatusta. Ensimmäisessä keskitytään käyttäjä-kohde-matriisin täyttämiseen ja suositteluun aktiivisen käyttäjän kanssa samankaltaisempien käyttäjien perusteella. Toisaalta IB-CF täyttää Item-Item-matriisin ja suosittelee samankaltaisten kohteiden perusteella.

Kaikkia näitä aiheita on vaikea selittää lyhyesti, mutta niiden ymmärtäminen on ensimmäinen askel syvemmälle RecSys:iin.

Vastaa

Sähköpostiosoitettasi ei julkaista.