maskinlæring til Anbefalingssystemer-Del 1 (algoritmer, evaluering og koldstart)

Pavel Kord
Pavel Kord prick

Følg

Jun 3, 2018 * 7 min læst

Recommender systemer er en af de mest succesfulde og udbredte anvendelse af machine learning teknologier i erhvervslivet. Der var mange mennesker på venteliste, der ikke kunne deltage i vores mlmu talk, så jeg deler dias og kommentarer her.

du kan anvende anbefalingssystemer i scenarier, hvor mange brugere interagerer med mange elementer.

du kan finde storskala anbefalingssystemer i detailhandel, video on demand eller musikstreaming. For at udvikle og vedligeholde sådanne systemer har en virksomhed typisk brug for en gruppe dyre datavidenskabsmænd og ingeniører. Derfor besluttede selv store virksomheder som BBC at outsource sine anbefalingstjenester.

vores firma Recombinee er baseret i Prag og udvikler en universel automatiseret anbefalingsmotor, der er i stand til at tilpasse sig forretningsbehov på flere domæner. Vores motor bruges af hundredvis af virksomheder over hele verden.

overraskende nok kan anbefaling af nyheder eller videoer til medier, produktanbefaling eller personalisering i rejser og detailhandel håndteres af lignende maskinlæringsalgoritmer. Desuden kan disse algoritmer justeres ved hjælp af vores specielle forespørgselssprog i hver anbefalingsanmodning.

maskinlæringsalgoritmer i anbefalingssystemer klassificeres typisk i to kategorier — indholdsbaserede og samarbejdsfiltreringsmetoder, selvom moderne anbefalere kombinerer begge tilgange. Indholdsbaserede metoder er baseret på lighed mellem vareattributter og samarbejdsmetoder beregner lighed fra interaktioner. Nedenfor diskuterer vi for det meste samarbejdsmetoder, der gør det muligt for brugerne at opdage nyt indhold, der er forskelligt fra tidligere set.

samarbejdsmetoder arbejder med interaktionsmatricen, der også kan kaldes klassificeringsmatrice i det sjældne tilfælde, når brugerne giver eksplicit vurdering af varer. Opgaven med maskinlæring er at lære en funktion, der forudsiger nytten af elementer til hver bruger. Matricen er typisk enorm, meget sparsom, og de fleste værdier mangler.

den enkleste algoritme beregner cosinus eller korrelation lighed mellem rækker (brugere) eller kolonner (elementer) og anbefaler elementer, som k — nærmeste naboer nød.

Matrice faktoriseringsbaserede metoder forsøger at reducere dimensionaliteten af interaktionsmatricen og tilnærme den med to eller flere små matricer med K latente komponenter.

ved at multiplicere tilsvarende række og kolonne forudsiger du bedømmelse af vare efter bruger. Træningsfejl kan opnås ved at sammenligne ikke-tomme ratings med forudsagte ratings. Man kan også regulere træningstab ved at tilføje et strafudtryk, der holder værdierne for latente vektorer lave.

mest populære træningsalgoritme er en stokastisk gradientafstamning, der minimerer tab ved gradientopdateringer af både kolonner og rækker af matricer.

Alternativt kan man bruge alternerende mindste kvadraters metode, der iterativt optimerer matricen p og matricen k ved generelt mindste kvadraters trin.

Foreningsregler kan også bruges til anbefaling. Elementer, der ofte forbruges sammen, er forbundet med en kant i grafen. Du kan se klynger af bestsellere (tæt forbundne genstande, som næsten alle interagerede med) og små adskilte klynger af nicheindhold.

regler udvundet fra interaktionsmatricen skal have mindst en vis minimal støtte og tillid. Support er relateret til hyppigheden af forekomsten — implikationer af bestsellere har høj støtte. Høj tillid betyder, at regler ikke ofte overtrædes.

Mining regler er ikke meget skalerbar. APRIORI-algoritmen udforsker tilstandsrummet for mulige hyppige varesæt og eliminerer grene af søgerummet, der ikke er hyppige.

hyppige itemsets bruges til at generere regler og disse regler generere anbefalinger.

som et eksempel viser vi regler udvundet fra banktransaktioner i Tjekkiet. Knudepunkter (interaktioner) er terminaler og kanter er hyppige transaktioner. Du kan anbefale bankterminaler, der er relevante baseret på tidligere udbetalinger / betalinger.

at straffe populære genstande og udtrække regler for lang hale med lavere support fører til interessante regler, der diversificerer anbefalinger og hjælper med at opdage nyt indhold.

Ratingmatricen kan også komprimeres af et neuralt netværk. Såkaldt autoencoder ligner meget matricen faktorisering. Deep autoencoders, med flere skjulte lag og ikke-lineariteter er mere kraftfulde, men sværere at træne. Neural net kan også bruges til at forbehandle vareattributter, så vi kan kombinere indholdsbaserede og samarbejdsmæssige tilgange.

bruger-KNN top n anbefaling pseudokode er angivet ovenfor.

foreninger regler kan udvindes af flere forskellige algoritmer. Her viser vi de bedste regelanbefalinger pseudokode.

pseudokoden for matriksfaktorisering er angivet ovenfor.

i collaborative deep learning træner du matriksfaktorisering samtidigt med autoencoder, der indeholder vareattributter. Der er selvfølgelig mange flere algoritmer, du kan bruge til anbefaling, og den næste del af præsentationen introducerer nogle metoder baseret på dyb og forstærkende læring.

evaluering af anbefalere

anbefalere kan evalueres på samme måde som klassiske maskinindlæringsmodeller på Historiske data (offline evaluering).

interaktioner mellem tilfældigt udvalgte testbrugere krydsvalideres for at estimere anbefalerens ydeevne på usete ratings.

Root mean kvadreret fejl (RMSE) er stadig meget udbredt på trods af mange undersøgelser viste, at RMSE er dårlig estimator af online ydeevne.

mere praktisk offline evalueringsforanstaltning er tilbagekaldelse eller præcisionsevaluering af procentdelen af korrekt anbefalede varer (ud af anbefalede eller relevante varer). DCG tager også stilling i betragtning under forudsætning af, at relevansen af elementer logaritmisk falder.

man kan bruge yderligere foranstaltning, der ikke er så følsom over for bias i offline data. Katalogdækning sammen med tilbagekaldelse eller præcision kan bruges til multiobjektiv optimering. Vi har introduceret regulariseringsparametre til alle algoritmer, der gør det muligt at manipulere deres plasticitet og straffe anbefaling af populære genstande.

både tilbagekaldelse og dækning bør maksimeres, så vi driver recommender mod nøjagtige og forskellige anbefalinger, der gør det muligt for brugerne at udforske nyt indhold.

koldstart og indhold baseret anbefaling

nogle gange mangler interaktioner. Koldstartsprodukter eller koldstartbrugere har ikke nok interaktioner til pålidelig måling af deres interaktionslighed, så samarbejdsfiltreringsmetoder ikke genererer anbefalinger.

koldstart problem kan reduceres, når attribut lighed er taget i betragtning. Du kan kode attributter i binær vektor og fodre den til recommender.

elementer grupperet baseret på deres interaktion lighed og attribut lighed er ofte justeret.

du kan bruge neurale netværk til at forudsige interaktion lighed fra attributter lighed og omvendt.

der er mange flere tilgange, der gør det muligt for os at reducere koldstartproblemet og forbedre kvaliteten af anbefalingen. I den anden del af vores tale diskuterede vi sessionsbaserede anbefalingsteknikker, dyb anbefaling, ensemblingsalgoritmer og AutoML, der gør det muligt for os at køre og optimere tusinder af forskellige anbefalingsalgoritmer i produktionen.

fortsæt til den anden del af præsentationen diskuterer Dyb anbefaling, sekvens forudsigelse, AutoML og forstærkning læring i Anbefaling.

eller tjek vores seneste opdateringer i Recombinee i 2019: nye funktioner og forbedringer.