Machine Learning für Empfehlungssysteme – Teil 1 (Algorithmen, Auswertung und Kaltstart)

 Pavel Kordík
Pavel Kordík

Folgen

Jun 3, 2018 · 7 min Lesezeit

Empfehlungssysteme sind eine der erfolgreichsten und am weitesten verbreiteten Anwendungen von Technologien des maschinellen Lernens in der Wirtschaft. Es gab viele Leute auf der Warteliste, die nicht an unserem MLMU-Vortrag teilnehmen konnten, daher teile ich hier Folien und Kommentare.

Sie können Empfehlungssysteme in Szenarien anwenden, in denen viele Benutzer mit vielen Elementen interagieren.

Sie können große Empfehlungssysteme im Einzelhandel, Video-on-Demand oder Musik-Streaming finden. Um solche Systeme zu entwickeln und zu warten, benötigt ein Unternehmen in der Regel eine Gruppe teurer Datenwissenschaftler und Ingenieure. Aus diesem Grund haben auch große Unternehmen wie BBC beschlossen, ihre Empfehlungsdienste auszulagern.

Unsere Firma Recombee hat ihren Sitz in Prag und entwickelt eine universelle automatisierte Empfehlungsmaschine, die sich an die Geschäftsanforderungen in mehreren Bereichen anpassen kann. Unsere Engine wird von Hunderten von Unternehmen auf der ganzen Welt verwendet.

Überraschenderweise kann die Empfehlung von Nachrichten oder Videos für Medien, Produktempfehlungen oder Personalisierung im Reise- und Einzelhandel durch ähnliche maschinelle Lernalgorithmen gehandhabt werden. Darüber hinaus können diese Algorithmen angepasst werden, indem unsere spezielle Abfragesprache in jeder Empfehlungsanfrage verwendet wird.

Algorithmen für maschinelles Lernen in Empfehlungssystemen werden typischerweise in zwei Kategorien eingeteilt — inhaltsbasierte und kollaborative Filtermethoden, obwohl moderne Empfehler beide Ansätze kombinieren. Inhaltsbasierte Methoden basieren auf der Ähnlichkeit von Elementattributen und kollaborative Methoden berechnen die Ähnlichkeit aus Interaktionen. Im Folgenden werden hauptsächlich kollaborative Methoden erörtert, mit denen Benutzer neue Inhalte entdecken können, die sich von den in der Vergangenheit angezeigten Elementen unterscheiden.

Kollaborative Methoden arbeiten mit der Interaktionsmatrix, die in seltenen Fällen auch als Bewertungsmatrix bezeichnet werden kann, wenn Benutzer eine explizite Bewertung von Elementen angeben. Die Aufgabe des maschinellen Lernens besteht darin, eine Funktion zu erlernen, die den Nutzen von Elementen für jeden Benutzer vorhersagt. Die Matrix ist normalerweise riesig, sehr spärlich und die meisten Werte fehlen.

Der einfachste Algorithmus berechnet die Kosinus- oder Korrelationsähnlichkeit von Zeilen (Benutzern) oder Spalten (Elementen) und empfiehlt Elemente, die k — nächsten Nachbarn gefallen.

Matrixfaktorisierungsbasierte Methoden versuchen, die Dimensionalität der Interaktionsmatrix zu reduzieren und sie durch zwei oder mehr kleine Matrizen mit k latenten Komponenten zu approximieren.

Durch Multiplizieren der entsprechenden Zeile und Spalte sagen Sie die Bewertung des Elements nach Benutzer voraus. Trainingsfehler können durch den Vergleich nicht leerer Bewertungen mit vorhergesagten Bewertungen ermittelt werden. Man kann den Trainingsverlust auch regularisieren, indem man einen Strafterm hinzufügt, der die Werte latenter Vektoren niedrig hält.

Der beliebteste Trainingsalgorithmus ist ein stochastischer Gradientenabstieg, der den Verlust durch Gradientenaktualisierungen sowohl von Spalten als auch von Zeilen von pq-Matrizen minimiert.

Alternativ kann ein alternierendes Verfahren der kleinsten Quadrate verwendet werden, das die Matrix p und die Matrix q iterativ durch einen allgemeinen Schritt der kleinsten Quadrate optimiert.

Assoziationsregeln können auch zur Empfehlung verwendet werden. Elemente, die häufig zusammen verbraucht werden, sind mit einer Kante im Diagramm verbunden. Sie können Cluster von Bestsellern (dicht verbundene Artikel, mit denen fast jeder interagiert hat) und kleine getrennte Cluster von Nischeninhalten sehen.

Regeln, die aus der Interaktionsmatrix gewonnen werden, sollten zumindest eine minimale Unterstützung und Zuversicht haben. Die Unterstützung hängt mit der Häufigkeit des Auftretens zusammen – die meisten Bestseller haben eine hohe Unterstützung. Hohes Vertrauen bedeutet, dass Regeln nicht oft verletzt werden.

Mining-Regeln sind nicht sehr skalierbar. Der APRIORI-Algorithmus untersucht den Zustandsraum möglicher häufiger Itemsets und eliminiert Zweige des Suchraums, die nicht häufig sind.

Häufige Itemsets werden verwendet, um Regeln zu generieren, und diese Regeln generieren Empfehlungen.

Als Beispiel zeigen wir Regeln, die aus Bankgeschäften in der Tschechischen Republik extrahiert wurden. Knoten (Interaktionen) sind Terminals und Kanten sind häufige Transaktionen. Sie können Bankterminals empfehlen, die aufgrund früherer Abhebungen / Zahlungen relevant sind.

Das Bestrafen beliebter Elemente und das Extrahieren von Long-Tail-Regeln mit geringerer Unterstützung führt zu interessanten Regeln, die Empfehlungen diversifizieren und dabei helfen, neue Inhalte zu entdecken.

Die Matrix kann auch durch ein neuronales Netzwerk komprimiert werden. Der sogenannte Autoencoder ist der Matrixfaktorisierung sehr ähnlich. Tiefe Autoencoder mit mehreren versteckten Ebenen und Nichtlinearitäten sind leistungsfähiger, aber schwieriger zu trainieren. Das neuronale Netz kann auch zur Vorverarbeitung von Elementattributen verwendet werden, sodass wir inhaltsbasierte und kollaborative Ansätze kombinieren können.

User-KNN top N Empfehlung Pseudocode ist oben angegeben.

Assoziationsregeln können durch mehrere verschiedene Algorithmen abgebaut werden. Hier zeigen wir die Best-Rule-Empfehlungen Pseudocode.

Der Pseudocode der Matrixfaktorisierung ist oben angegeben.

Beim kollaborativen Deep Learning trainieren Sie die Matrixfaktorisierung gleichzeitig mit dem Autoencoder, der Elementattribute enthält. Es gibt natürlich noch viele weitere Algorithmen, die Sie für Empfehlungen verwenden können, und im nächsten Teil der Präsentation werden einige Methoden vorgestellt, die auf Deep und Reinforcement Learning basieren.

Bewertung von Empfehlern

Recommender können ähnlich wie klassische Machine-Learning-Modelle auf historischen Daten ausgewertet werden (Offline-Auswertung).

Interaktionen von zufällig ausgewählten Testbenutzern werden kreuzvalidiert, um die Leistung von Recommender anhand unsichtbarer Bewertungen abzuschätzen.

Root Mean Squared Error (RMSE) ist immer noch weit verbreitet, obwohl viele Studien gezeigt haben, dass RMSE ein schlechter Schätzer der Online-Leistung ist.

Praktischeres Offline-Bewertungsmaß ist der Rückruf oder die Präzisionsbewertung des Prozentsatzes der korrekt empfohlenen Artikel (aus den empfohlenen oder relevanten Artikeln). DCG berücksichtigt auch die Position unter der Annahme, dass die Relevanz von Elementen logarithmisch abnimmt.

Man kann zusätzliche Maßnahmen verwenden, die nicht so empfindlich auf Verzerrungen in Offline-Daten reagieren. Die Katalogabdeckung kann zusammen mit Recall oder Precision für die multiobjektive Optimierung verwendet werden. Wir haben Regularisierungsparameter in alle Algorithmen eingeführt, die es ermöglichen, ihre Plastizität zu manipulieren und die Empfehlung beliebter Artikel zu bestrafen.

Sowohl der Rückruf als auch die Abdeckung sollten maximiert werden, damit wir Recommender auf genaue und vielfältige Empfehlungen ausrichten können, die es Benutzern ermöglichen, neue Inhalte zu erkunden.

Kaltstart und inhaltsbasierte Empfehlung

Manchmal fehlen Interaktionen. Kaltstartprodukte oder Kaltstartbenutzer haben nicht genügend Interaktionen für eine zuverlässige Messung ihrer Interaktionsähnlichkeit, sodass kollaborative Filtermethoden keine Empfehlungen generieren.

Das Kaltstartproblem kann reduziert werden, wenn die Attributähnlichkeit berücksichtigt wird. Sie können Attribute in einen binären Vektor codieren und an den Empfehler weiterleiten.

Elemente, die aufgrund ihrer Interaktionsähnlichkeit und Attributähnlichkeit gruppiert sind, werden häufig ausgerichtet.

Sie können ein neuronales Netzwerk verwenden, um die Interaktionsähnlichkeit anhand der Attributähnlichkeit vorherzusagen und umgekehrt.

Es gibt viele weitere Ansätze, die es uns ermöglichen, das Kaltstartproblem zu reduzieren und die Empfehlungsqualität zu verbessern. Im zweiten Teil unseres Vortrags diskutierten wir sitzungsbasierte Empfehlungstechniken, Deep Recommendation, Ensembling-Algorithmen und AutoML, mit denen wir Tausende verschiedener Empfehlungsalgorithmen in der Produktion ausführen und optimieren können.

Weiter zum zweiten Teil der Präsentation über Deep Recommendation, Sequence Prediction, AutoML und Reinforcement Learning in Recommendation.

Oder schauen Sie sich unsere neuesten Updates in Recombee im Jahr 2019 an: Neue Funktionen und Verbesserungen.