Macchina di Apprendimento per Recommender systems – Parte 1 (algoritmi, di valutazione e di avviamento a freddo)

Pavel Kordík
Pavel Kordík

Seguire

Jun 3, 2018 · 7 min a leggere

Recommender systems sono uno dei più riusciti e diffusa applicazione di machine learning tecnologie in azienda. C’erano molte persone in lista d’attesa che non potevano partecipare al nostro discorso MLMU quindi sto condividendo diapositive e commenti qui.

È possibile applicare i sistemi di raccomandazione in scenari in cui molti utenti interagiscono con molti elementi.

Puoi trovare sistemi di raccomandazione su larga scala nella vendita al dettaglio, video on demand o streaming musicale. Al fine di sviluppare e mantenere tali sistemi, una società in genere ha bisogno di un gruppo di costosi data scientist e ingegneri. Ecco perché anche le grandi aziende come BBC hanno deciso di esternalizzare i propri servizi di raccomandazione.

La nostra azienda Recombee ha sede a Praga e sviluppa un motore di raccomandazione automatizzato universale in grado di adattarsi alle esigenze aziendali in più domini. Il nostro motore è utilizzato da centinaia di aziende in tutto il mondo.

Sorprendentemente, la raccomandazione di notizie o video per i media, la raccomandazione del prodotto o la personalizzazione nei viaggi e nella vendita al dettaglio possono essere gestite da algoritmi di apprendimento automatico simili. Inoltre, questi algoritmi possono essere regolati utilizzando il nostro linguaggio di query speciale in ogni richiesta di raccomandazione.

Gli algoritmi di apprendimento automatico nei sistemi di raccomandazione sono in genere classificati in due categorie: metodi di filtraggio basati sul contenuto e collaborativi, sebbene i moderni raccomandatori combinino entrambi gli approcci. I metodi basati sul contenuto si basano sulla somiglianza degli attributi dell’elemento e i metodi collaborativi calcolano la somiglianza dalle interazioni. Di seguito discutiamo metodi per lo più collaborativi che consentono agli utenti di scoprire nuovi contenuti diversi dagli elementi visualizzati in passato.

I metodi collaborativi funzionano con la matrice di interazione che può anche essere chiamata matrice di rating nel raro caso in cui gli utenti forniscano una valutazione esplicita degli elementi. Il compito di apprendimento automatico è quello di imparare una funzione che predice l’utilità degli elementi per ogni utente. La matrice è in genere enorme, molto scarsa e manca la maggior parte dei valori.

L’algoritmo più semplice calcola coseno o correlazione somiglianza di righe (utenti) o colonne (elementi) e raccomanda elementi che k — vicini più vicini goduto.

I metodi basati sulla fattorizzazione della matrice tentano di ridurre la dimensionalità della matrice di interazione e approssimarla con due o più piccole matrici con k componenti latenti.

Moltiplicando riga e colonna corrispondente si prevede valutazione della voce per utente. L’errore di allenamento può essere ottenuto confrontando le valutazioni non vuote con le valutazioni previste. Si può anche regolarizzare la perdita di allenamento aggiungendo un termine di penalità mantenendo bassi i valori dei vettori latenti.

L’algoritmo di allenamento più popolare è una discesa stocastica del gradiente che riduce al minimo la perdita mediante aggiornamenti del gradiente di entrambe le colonne e righe di matrici p a q.

In alternativa, è possibile utilizzare il metodo dei minimi quadrati alternati che ottimizza iterativamente la matrice p e la matrice q per passo generale dei minimi quadrati.

Le regole di associazione possono anche essere utilizzate per la raccomandazione. Gli elementi che vengono spesso consumati insieme sono collegati con un bordo nel grafico. Puoi vedere gruppi di best seller (articoli densamente collegati con cui quasi tutti hanno interagito) e piccoli gruppi separati di contenuti di nicchia.

Le regole estratte dalla matrice di interazione dovrebbero avere almeno un minimo supporto e sicurezza. Il supporto è legato alla frequenza di occorrenza — le implicazioni dei bestseller hanno un supporto elevato. Alta fiducia significa che le regole non vengono spesso violate.

Le regole di mining non sono molto scalabili. L’algoritmo APRIORI esplora lo spazio di stato di possibili itemset frequenti ed elimina i rami dello spazio di ricerca, che non sono frequenti.

Gli itemset frequenti vengono utilizzati per generare regole e queste regole generano raccomandazioni.

Ad esempio mostriamo le regole estratte dalle transazioni bancarie nella Repubblica Ceca. I nodi (interazioni) sono terminali e gli spigoli sono transazioni frequenti. Puoi consigliare i terminali bancari rilevanti in base ai prelievi / pagamenti passati.

Penalizzare gli oggetti popolari e l’estrazione di regole di coda lunga con un supporto inferiore porta a regole interessanti che diversificano le raccomandazioni e aiutano a scoprire nuovi contenuti.

La matrice di valutazione può anche essere compressa da una rete neurale. Il cosiddetto autoencoder è molto simile alla fattorizzazione della matrice. Gli autoencoders profondi, con più livelli nascosti e non linearità, sono più potenti ma più difficili da addestrare. La rete neurale può essere utilizzata anche per pre-elaborare gli attributi degli elementi in modo da poter combinare approcci basati su contenuti e collaborativi.

User-KNN top N raccomandazione pseudocode è dato sopra.

Le regole delle associazioni possono essere estratte da più algoritmi diversi. Qui mostriamo le migliori raccomandazioni regola pseudocodice.

Lo pseudocodice della fattorizzazione della matrice è dato sopra.

In collaborative deep learning, si allena fattorizzazione matrice contemporaneamente con autoencoder incorporando attributi articolo. Ci sono ovviamente molti altri algoritmi che puoi usare per la raccomandazione e la parte successiva della presentazione introduce alcuni metodi basati sull’apprendimento profondo e di rinforzo.

Valutazione dei raccomandati

I raccomandatori possono essere valutati in modo simile ai modelli classici di apprendimento automatico sui dati storici (valutazione offline).

Le interazioni degli utenti di test selezionati casualmente sono convalidate per stimare le prestazioni del recommender su valutazioni invisibili.

Root mean squared error (RMSE) è ancora ampiamente utilizzato nonostante molti studi abbiano dimostrato che RMSE è uno scarso stimatore delle prestazioni online.

La misura di valutazione offline più pratica è il richiamo o la precisione che valuta la percentuale di articoli correttamente raccomandati (su articoli consigliati o pertinenti). DCG prende anche in considerazione la posizione assumendo che la rilevanza degli elementi diminuisca logaritmicamente.

Si può usare una misura aggiuntiva che non è così sensibile al bias nei dati offline. La copertura del catalogo insieme al richiamo o alla precisione può essere utilizzata per l’ottimizzazione multiobiettiva. Abbiamo introdotto parametri di regolarizzazione a tutti gli algoritmi che consentono di manipolare la loro plasticità e penalizzare la raccomandazione di articoli popolari.

Sia il richiamo che la copertura dovrebbero essere massimizzati in modo da guidare recommender verso raccomandazioni accurate e diversificate che consentano agli utenti di esplorare nuovi contenuti.

Avviamento a freddo e raccomandazione basata sul contenuto

A volte le interazioni mancano. I prodotti di avviamento a freddo o gli utenti di avviamento a freddo non hanno abbastanza interazioni per una misurazione affidabile della loro somiglianza di interazione, quindi i metodi di filtraggio collaborativo non riescono a generare raccomandazioni.

Il problema di avviamento a freddo può essere ridotto quando viene presa in considerazione la somiglianza degli attributi. È possibile codificare gli attributi in vettore binario e alimentarlo a recommender.

Gli elementi raggruppati in base alla loro somiglianza di interazione e somiglianza degli attributi sono spesso allineati.

È possibile utilizzare la rete neurale per prevedere la somiglianza dell’interazione dalla somiglianza degli attributi e viceversa.

Ci sono molti altri approcci che ci consentono di ridurre il problema dell’avviamento a freddo e migliorare la qualità della raccomandazione. Nella seconda parte del nostro discorso abbiamo discusso tecniche di raccomandazione basate sulla sessione, raccomandazione profonda, algoritmi di assemblaggio e AutoML che ci consente di eseguire e ottimizzare migliaia di diversi algoritmi di raccomandazione in produzione.

Continua alla seconda parte della presentazione discutendo Raccomandazione profonda, previsione di sequenza, AutoML e apprendimento di rinforzo in raccomandazione.

Oppure controlla i nostri recenti aggiornamenti in Recombee nel 2019: nuove funzionalità e miglioramenti.