Maybaygiare.org

Blog Network

A Simple Introduction to Collaborative Filtering

Egal, ob Sie sich ein Video auf YouTube, einen Film auf Netflix oder ein Produkt bei Amazon ansehen, Sie werden Empfehlungen für weitere Dinge erhalten, die Sie sehen, mögen oder kaufen können. Sie können dem Aufkommen von Algorithmen für maschinelles Lernen und Empfehlungssystemen für diese Entwicklung danken. Empfehlungssysteme sind weitreichend, daher werden wir uns auf einen wichtigen Ansatz konzentrieren, der als kollaboratives Filtern bezeichnet wird und Informationen filtert, indem die Interaktionen und Daten verwendet werden, die das System von anderen Benutzern sammelt. Es basiert auf der Idee, dass Personen, die bei der Bewertung bestimmter Elemente zugestimmt haben, in Zukunft wahrscheinlich wieder zustimmen werden.

Eine kurze Einführung in Empfehlungssysteme

Ein Empfehlungssystem ist eine Unterklasse der Informationsfilterung, die versucht, die „Bewertung“ oder „Präferenz“ vorherzusagen, die ein Benutzer einem Artikel wie einem Produkt, einem Film, einem Lied usw. geben wird.

Empfehlungssysteme liefern personalisierte Informationen, indem sie die Interessen des Benutzers durch Spuren der Interaktion mit diesem Benutzer lernen. Ähnlich wie Algorithmen für maschinelles Lernen erstellt ein Empfehlungssystem eine Vorhersage basierend auf dem früheren Verhalten eines Benutzers. Insbesondere wurde es entwickelt, um die Benutzerpräferenz für eine Reihe von Elementen basierend auf der Erfahrung vorherzusagen.

Mathematisch wird eine Empfehlungsaufgabe:

  • Set of users (U)
  • Setof items (I) that are to be recommended to U
  • Learn a function based on the user’s past interaction data that predicts the likeliness of item I to U

Empfehlungssysteme werden grob in zwei Typen eingeteilt, basierend auf den Daten, die verwendet werden, um Rückschlüsse zu ziehen:

  1. Inhaltsbasierte Filterung, die Elementattribute verwendet.
  2. Kollaborative Filterung, die neben den Elementattributen auch das Benutzerverhalten (Interaktionen) verwendet.

Einige wichtige Beispiele für Empfehlungssysteme bei der Arbeit sind:

  • Produktempfehlungen auf Amazon und anderen Shopping-Sites
  • Film- und TV-Show-Empfehlungen auf Netflix
  • Artikelempfehlungen auf News-Sites

Was ist Collaborative Filtering?

Collaborative Filtering filtert Informationen mithilfe der Interaktionen und Daten, die das System von anderen Benutzern erfasst. Es basiert auf der Idee, dass Personen, die bei der Bewertung bestimmter Elemente zugestimmt haben, in Zukunft wahrscheinlich wieder zustimmen werden.

Das Konzept ist einfach: Wenn wir einen neuen Film zum Anschauen finden wollen, fragen wir oft unsere Freunde nach Empfehlungen. Natürlich haben wir mehr Vertrauen in die Empfehlungen von Freunden, die einen ähnlichen Geschmack wie wir haben.

Die meisten kollaborativen Filtersysteme wenden die sogenannte Ähnlichkeitsindex-basierte Technik an. Beim nachbarschaftsbasierten Ansatz wird eine Anzahl von Benutzern basierend auf ihrer Ähnlichkeit mit dem aktiven Benutzer ausgewählt. Die Inferenz für den aktiven Benutzer erfolgt durch Berechnung eines gewichteten Durchschnitts der Bewertungen der ausgewählten Benutzer.

Collaborative-Filtering-Systeme konzentrieren sich auf die Beziehung zwischen Benutzern und Elementen. Die Ähnlichkeit der Elemente wird durch die Ähnlichkeit der Bewertungen dieser Elemente durch die Benutzer bestimmt, die beide Elemente bewertet haben.

Es gibt zwei Klassen der kollaborativen Filterung:

  • Benutzerbasiert, wodurch die Ähnlichkeit zwischen Zielbenutzern und anderen Benutzern gemessen wird.
  • Elementbasiert, das die Ähnlichkeit zwischen den Elementen, die Zielbenutzer bewerten oder mit denen sie interagieren, und anderen Elementen misst.

Kollaboratives Filtern mit Python

Kollaborative Methoden werden typischerweise mit einer Utility-Matrix ausgearbeitet. Die Aufgabe des Empfehlungsmodells besteht darin, eine Funktion zu erlernen, die den Nutzen der Anpassung oder Ähnlichkeit für jeden Benutzer vorhersagt. Die Utility-Matrix ist normalerweise sehr spärlich, riesig und hat entfernte Werte.

In den folgenden Matrizen repräsentiert jede Zeile einen Benutzer, während die Spalten verschiedenen Filmen von Pixar entsprechen. Die Kosinusähnlichkeit ist der einfachste Algorithmus, der benötigt wird, um die Ähnlichkeit der Vektoren zu finden. Die letzte, die der ersten Matrix folgende Nutzenmatrix, enthält nur Teildaten, die benötigt werden, um die Wahrscheinlichkeit der erwarteten Bewertung durch die „Wurzel“ vorherzusagen, die vom Benutzer angegeben werden könnte.

In den folgenden Matrizen repräsentiert jede Zeile einen Benutzer, während die Spalten verschiedenen Filmen entsprechen, mit Ausnahme der letzten, die die Ähnlichkeit zwischen diesem Benutzer und dem Zielbenutzer aufzeichnet. Jede Zelle stellt die Bewertung dar, die der Benutzer diesem Film gibt.

Kosinus_ähnlichkeit(p, q) = p.q

|p/.|q/

kollaborative Filtertabelle

cosine_similarity(joe, beck) =

kollaboratives Filtern mit Python

Wenn ein neuer Benutzer der Plattform beitritt, wenden wir den einfachsten Algorithmus an, der die Kosinus- oder Korrelationsähnlichkeit von Zeilen (Benutzern) oder Spalten (Filmen) berechnet und Elemente empfiehlt, die k-nächste Nachbarn sind.

CF Tabelle 2

Dies sind viele Gleichungen, die sich mit der Frage der Ähnlichkeitsmaße befassen können, einige enthalten:

  • Pearson-Ähnlichkeit
  • Jaccard-Ähnlichkeit
  • Spearman-Rangkorrelation
  • Mittlere quadratische Unterschiede
  • Nähe–Auswirkung-Popularität Ähnlichkeit

relatedlesen Sie mehr über Data Science

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.