Maskinlæring for Anbefalingssystemer-Del 1 (algoritmer, evaluering og kaldstart)

Pavel Kordí
Pavel Kordí

Følg

Jun 3, 2018 * 7 min lese

Recommender systemer er en av de mest vellykkede og utbredt anvendelse av maskinlæring teknologier i virksomheten. Det var mange mennesker på venteliste som ikke kunne delta PÅ VÅR MLMU snakke så jeg deler lysbilder og kommentarer her.

du kan bruke recommender-systemer i scenarier der mange brukere samhandler med mange elementer.

du kan finne storskala recommender systemer i detaljhandel, video on demand, eller musikk streaming. For å utvikle og vedlikeholde slike systemer trenger et selskap vanligvis en gruppe dyre datavitenskapere og ingeniører. Derfor bestemte selv store selskaper som BBC seg for å outsource sine anbefalingstjenester.

Vårt Firma Recombee er basert I Praha og utvikler en universell automatisert anbefalingsmotor som er i stand til å tilpasse seg forretningsbehov i flere domener. Vår motor brukes av hundrevis av bedrifter over hele verden.

Overraskende, anbefaling av nyheter eller videoer for media, produktanbefaling eller personalisering i reise og detaljhandel kan håndteres av lignende maskinlæringsalgoritmer. Videre kan disse algoritmene justeres ved å bruke vårt spesielle spørrespråk i hver anbefalingsforespørsel.

Maskinlæringsalgoritmer i anbefalingssystemer er vanligvis klassifisert i to kategorier — innholdsbaserte og samarbeidsfiltreringsmetoder, selv om moderne anbefalere kombinerer begge tilnærminger. Innhold basert metoder er basert på likheten av element attributter og samarbeidsmetoder beregne likhet fra interaksjoner. Nedenfor diskuterer vi hovedsakelig samarbeidsmetoder som gjør det mulig for brukere å oppdage nytt innhold som er ulikt elementer som er sett tidligere.

Samarbeidsmetoder fungerer med interaksjonsmatrisen som også kan kalles ratingmatrise i sjeldne tilfeller når brukere gir eksplisitt vurdering av elementer. Oppgaven med maskinlæring er å lære en funksjon som forutsier bruk av elementer til hver bruker. Matrix er vanligvis stor, veldig sparsom og de fleste verdier mangler.

den enkleste algoritmen beregner cosinus eller korrelasjonslikhet av rader (brukere) eller kolonner (elementer) og anbefaler elementer som k — nærmeste naboer likte.

Matrisefaktoriseringsbaserte metoder forsøker å redusere dimensjonaliteten til interaksjonsmatrisen og tilnærme den med to eller flere små matriser med k latente komponenter.

ved å multiplisere tilsvarende rad og kolonne du forutsi vurdering av element av bruker. Trening feil kan oppnås ved å sammenligne ikke tomme karakterer til spådd karakterer. Man kan også regulere treningstap ved å legge til en straffetid som holder verdier av latente vektorer lave.

Mest populære trening algoritme er en stokastisk gradient nedstigning minimere tap av gradient oppdateringer av både kolonner og rader av p a q matriser.

Alternativt kan Man Bruke Alternerende Minste Kvadraters metode som iterativt optimaliserer matrise p og matrise q ved generelt minste kvadratstrinn.

Foreningsregler kan også brukes til anbefaling. Elementer som ofte forbrukes sammen, er forbundet med en kant i grafen. Du kan se klynger av bestselgere (tett tilkoblede elementer som nesten alle samhandlet med) og små separerte klynger av nisjeinnhold.

Regler utvunnet fra samspillet matrise bør ha minst noen minimal støtte og tillit. Støtte er relatert til hyppighet av forekomst-implikasjoner av bestselgere har høy støtte. Høy tillit betyr at regler ikke ofte brytes.

Mining regler er ikke veldig skalerbar. APRIORI-algoritmen utforsker tilstandsrommet for mulige hyppige itemsets og eliminerer grener av søkeområdet, som ikke er hyppige.

Hyppige itemsets brukes til å generere regler og disse reglene generere anbefalinger.

som et eksempel viser vi regler hentet fra banktransaksjoner i tsjekkia. Noder (interaksjoner) er terminaler og kanter er hyppige transaksjoner. Du kan anbefale bankterminaler som er relevante basert på tidligere uttak / betalinger.

Straffe populære elementer og trekke ut lange hale regler med lavere støtte fører til interessante regler som diversifisere anbefalinger og bidra til å oppdage nytt innhold.

Rating matrix kan også komprimeres av et nevralt nettverk. Såkalt autoencoder er veldig lik matrisefaktorisering. Dype autoencoders, med flere skjulte lag og ikke-lineære er kraftigere, men vanskeligere å trene. Neural net kan også brukes til å preprocessere elementattributter, slik at vi kan kombinere innholdsbaserte og samarbeidende tilnærminger.

Bruker-KNN topp n anbefaling pseudokode er gitt ovenfor.

Foreningsregler kan utvinnes av flere forskjellige algoritmer. Her viser Vi de Beste Regel anbefalinger pseudokode.

pseudokoden til matrisefaktorisering er gitt ovenfor.

i samarbeids dyp læring, trene deg matrise faktorisering samtidig med autoencoder innlemme element attributter. Det er selvfølgelig mange flere algoritmer du kan bruke til anbefaling, og neste del av presentasjonen introduserer noen metoder basert på dyp og forsterkende læring.

Evaluering av anbefalere

Anbefalere kan evalueres på samme måte som klassiske maskinlæringsmodeller på historiske data (offline evaluering).

Interaksjoner av tilfeldig utvalgte testbrukere er kryssvalidert for å estimere ytelsen til recommender på usynlige karakterer.

Root mean squared error (RMSE) er fortsatt mye brukt til tross for mange studier viste AT RMSE er dårlig estimator av online ytelse.

mer praktisk offline evaluering mål er tilbakekalling eller presisjon evaluering prosentandel av riktig anbefalte elementer (ut av anbefalte eller relevante elementer). DCG tar ogsa posisjonen i betraktning forutsatt at relevansen av elementene logaritmisk reduseres.

Man kan bruke ekstra tiltak som ikke er så følsomme for bias i offline data. Katalogdekning sammen med tilbakekalling eller presisjon kan brukes til multiobjektiv optimalisering. Vi har innført regularisering parametere til alle algoritmer som tillater å manipulere sin plastisitet og straffe anbefaling av populære elementer.

både tilbakekalling og dekning bør maksimeres, slik at vi kjører recommender mot nøyaktige og varierte anbefalinger slik at brukerne kan utforske nytt innhold.

Kaldstart og innholdsbasert anbefaling

noen ganger mangler interaksjoner. Kaldstartprodukter eller kaldstartbrukere har ikke nok interaksjoner for pålitelig måling av interaksjonslikheten, slik at samarbeidsfiltreringsmetoder ikke genererer anbefalinger.

Kaldstart problem kan reduseres når attributt likhet er tatt hensyn til. Du kan kode attributter til binary vector og mate den til recommender.

Elementer gruppert basert på deres interaksjon likhet og attributt likhet er ofte justert.

du kan bruke nevrale nettverk for å forutsi interaksjon likhet fra attributter likhet og vice versa.

det er mange flere tilnærminger som gjør det mulig for oss å redusere kaldstartproblemet og forbedre kvaliteten på anbefalingen. I den andre delen av foredraget diskuterte vi sesjon basert anbefaling teknikker, dyp anbefaling, ensembler algoritmer og AutoML som gjør oss i stand til å kjøre og optimalisere tusenvis av ulike anbefaling algoritmer i produksjon.

Fortsett til den andre delen av presentasjonen diskuterer Dyp Anbefaling, Sekvens Prediksjon, AutoML og Forsterkning Læring I Anbefaling.

eller sjekk våre siste oppdateringer I Recombee i 2019: Nye Funksjoner og Forbedringer.