Im ersten Teil unserer Serie über Empfehlungssysteme haben wir die Aufgabe und verschiedene Arten häufig verwendeter Empfehlungssysteme sowie relevante Metriken basierend auf dem Geschäftskontext erörtert. In diesem Artikel geben wir einen Überblick über die Graphentheorie und Graph Neural Networks (GNNs) im Kontext von Empfehlungssystemen.
Eine gängige Technik für Empfehlungssysteme ist die Verwendung klassischer Methoden des maschinellen Lernens zur Matrixvervollständigung, einer kollaborativen Filtermethode. Angesichts einer Reihe von Benutzern M und eine Reihe von Artikeln NZiel ist es, fehlende Werte in a auszufüllen Benutzer-Component-Interaktionsmatrix R (mit Abmessungen mxn). Um das zu erreichen, Wir ordnen jeden Benutzer und jedes Component einer Größeneinbettung zu okay – eine abstrakte Darstellung in einem Vektorraum. Diese Einbettungen können Merkmale wie Filmgenres oder Benutzerdemografien erfassen, oft handelt es sich jedoch um latent unbekannte Merkmale. Der Benutzereinbettungsmatrix U (mit Abmessungen mxk) und das Artikeleinbettungsmatrix ICH (mit Abmessungen nxk) sind generiert. Um Vorhersagen für Benutzer-Artikel-Paare zu treffen, berechnen wir das Skalarprodukt der transponierten Artikelmatrix und der Benutzermatrix. Zunächst werden die latenten Matrizen zufällig initialisiert und wir optimieren die Einbettungen mithilfe einer Verlustfunktion basierend auf den bekannten Benutzer-Component-Interaktionen.
Dieser Ansatz stößt jedoch auf Efficiency-Probleme beim Umgang mit spärliche Matrizen. In Szenarien, in denen Benutzer nur mit einigen wenigen der Millionen verfügbaren Elemente interagiert haben, können klassische Methoden zur Matrixvervollständigung unzureichend sein, da sie nur direkte Verbindungen zwischen Benutzer und Elementen berücksichtigen. Um diese Einschränkung zu beheben, Auf Graph Neural Community (GNN) basierende Empfehlungssysteme haben sich als wirksamere Various herausgestellt.
GNNs bieten eine verbesserte Leistung in spärlichen Datensätzen Dabei werden nicht nur die Präferenzen eines einzelnen Benutzers berücksichtigt, sondern auch Informationen von benachbarten Benutzern integriert. Durch die Nutzung von Diagrammstrukturen erfassen GNNs die Beziehungen zwischen Benutzern und Elementen umfassender und ermöglichen so genauere und personalisierte Empfehlungen. Erinnern wir uns zunächst ein wenig an die Graphentheorie.
Was ist ein Diagramm?
Ein Graph ist ein Datenstruktur, die eine Sammlung von Entitäten als Knoten (Scheitelpunkte) und ihre Beziehungen als Kanten darstellt. Es dient als leistungsstarkes Werkzeug zur Modellierung und zum Verständnis verschiedener realer Szenarien. Beispielsweise könnte ein Diagramm Banktransaktionen darstellen, wobei Knoten Bankkonten symbolisieren und Kanten Transaktionen zwischen ihnen darstellen. In ähnlicher Weise hat ein Diagramm eines sozialen Netzwerks Personen als Knoten, und die Kanten stellen Beziehungen zwischen Einzelpersonen dar.
Arten von Diagrammen
Aufgrund ihrer Eigenschaften gibt es verschiedene Arten von Diagrammen. Gerichtete Graphen haben Kanten mit einer bestimmten Richtung. In einem Banktransaktionsdiagramm stellt beispielsweise jede Kante eine Transaktion von einem Sender zu einem Empfänger dar und legt so eine klare Richtung fest. Andererseits, ungerichtete Graphen Weisen Sie den Kanten keine Richtung zu. In sozialen Netzwerken bezeichnet eine ungerichtete Kante eine Verbindung oder Bekanntschaft zwischen zwei Personen ohne inhärente Richtungsabhängigkeit.
Diagramme können auch als homogen oder heterogen kategorisiert werden. Homogene Diagramme habe einen einzelner Knoten- und Kantentypwährend Heterogene Diagramme können mehrere Typen enthalten. In einem E-Commerce-Szenario kann es beispielsweise zwei Arten von Knoten geben: einer repräsentiert die zum Verkauf stehenden Artikel und der andere repräsentiert die Benutzer. Verschiedene Kantentypen können unterschiedliche Wechselwirkungen darstellenbeispielsweise wenn ein Benutzer auf einen Artikel klickt oder einen Kauf tätigt.
Bipartite Graphen sind eine spezielle Artwork heterogener Graphen, die bei der Modellierung von Empfehlungssystemen großen Nutzen finden. Sie umfassen zwei unterschiedliche Gruppen von Knoten, beispielsweise Benutzer und Elemente, wobei Kanten ausschließlich Knoten aus verschiedenen Gruppen verbinden. Bipartite Diagramme erfassen effektiv die Benutzer-Component-Interaktionen und ermöglichen effiziente Empfehlungsalgorithmen zur Nutzung der umfangreichen Netzwerkstruktur.
Wie speichern wir Diagrammdaten?
Es gibt verschiedene Möglichkeiten, Diagrammdaten zu speichern. Ein Ansatz ist die Verwendung eines Adjazenzmatrixbezeichnet als A ∈ {0, 1}ⁿˣⁿ, wobei N ist die Anzahl der Knoten in der Grafik. Der (i, j)-Eintrag der Matrix, Aᵢ,ⱼ, stellt die Konnektivität zwischen den Knoten vᵢ und vⱼ dar, mit Aᵢ,ⱼ = 1, wenn es eine Kante gibt, die vᵢ und vⱼ verbindet. Für einen ungerichteten Graphen ist die Adjazenzmatrix symmetrisch, dh Aᵢ,ⱼ = Aⱼ,ᵢ. Jedoch, Adjazenzmatrizen können speicherintensiv sein für große und spärliche Diagramme, wie soziale Netzwerke. Dies liegt daran, dass die Adjazenzmatrix mit der Anzahl der Knoten skaliert. In einem sozialen Netzwerk mit Millionen von Knoten kennen sich die meisten Menschen nicht. Dies würde zu einer großen Matrix führen, in der die meisten Zellen leer wären.
Um dies zu beheben, ein Darstellung der Adjazenzliste ist speichereffizienter. Es beschreibt Kanten zwischen Knoten als Tupel (i,j), wobei (0,1) eine Kante zwischen den Knoten 0 und 1 darstellt. Für das Diagramm in Abbildung 5 wäre die Adjazenzliste beispielsweise: [(A,B),(B,D),(B,C),(D,C)].
Die Darstellung der Adjazenzliste bietet eine verbesserte Speichereffizienz, insbesondere für dünn besetzte Diagramme, da nur die notwendigen Informationen über die verbundenen Knoten gespeichert werden. Dies macht es zu einer bevorzugten Wahl für die Verarbeitung umfangreicher Diagrammdaten, beispielsweise in sozialen Netzwerken, wo die Anzahl der Verbindungen im Vergleich zur Gesamtzahl der Knoten normalerweise begrenzt ist.
Ähnlich wie bei herkömmlichen Matrixvervollständigungsmethoden können GNNs Einbettungen für Benutzer und Elemente generieren, um eine unsichtbare Benutzer-Component-Interaktion vorherzusagen. Sie bieten jedoch eine Möglichkeit dazu Integrieren Sie explizit Diagrammstrukturen höherer Ordnung und können latente oder verborgene Korrelationen erfassen, die möglicherweise nicht in den Daten selbst verfügbar sind.
Gegeben ein Diagramm, Unser Ziel ist es, jeden Knoten abzubilden v zu seiner eigenen d-dimensionalen endgültigen EinbettungWo ähnliche Knoten basierend auf den Merkmalen ihrer Netzwerknachbarschaft sowie ihren eigenen Merkmalen enden in ihrem endgültigen Einbettungsraum nahe beieinander.
Graphische neuronale Netzwerkschichten
Eine Schicht eines GNN tauscht Informationen zwischen allen direkten Nachbarn aus in einem Diagramm, um neue Knoteneinbettungen für jeden Knoten im Diagramm zu generieren. In einem zweischichtigen GNN-Modell generiert jeder Knoten seine Schicht-2-Einbettungen basierend auf seiner 2-Hop-Nachbarschaft. Die Ok-Hop-Nachbarschaft bezieht sich auf alle Knoten, die Ok-Kanten vom interessierenden Knoten entfernt sind. Dies ist ein iterativer Prozess, bei dem Nachbarvariablen „kommunizieren“ miteinander, indem sie Nachrichten weiterleiteneine Methode zur Nachrichtenübermittlung.
In diesem Bild sehen wir, dass die Layer-2-Darstellung von Knoten A dadurch generiert wird, dass die Layer-1-Einbettungen seiner direkten Nachbarn irgendwie aggregiert werden [B,C,D] und Anwenden einer Black-Field-Transformation oder eines neuronalen Netzwerks auf sie. Diese Einbettungen werden wiederum von der Ebene 0 generiert [X_A, X_B…X_F] bettet direkte Nachbarn ein, die die ersten Eingabemerkmale sind. Jede Schicht generiert eine neue Knoteneinbettung, und die Schicht-Ok-Einbettung eines Knotens erhält Informationen von Knoten, die Ok-Hops von sich selbst entfernt sind.
Merkmale, Vorteile und Einschränkungen von Graph Neural Networks
Graph Neural Networks (GNNs) verfügen über mehrere bemerkenswerte Merkmale und Vorteile, die sie von herkömmlichen Methoden zur Matrixvervollständigung unterscheiden. Diese Eigenschaften tragen zu ihrer Wirksamkeit in Empfehlungssystemen bei. Lassen Sie uns diese Funktionen erkunden:
- Ordnungsinvarianz: GNNs sind reihenfolgeinvariant, was bedeutet, dass die Beschriftungsreihenfolge der Knoten keinen Einfluss auf die Ergebnisse hat. Das Berechnungsdiagramm berücksichtigt die Knotenkonnektivität und nicht die Knotenreihenfolge und nutzt reihenfolgeinvariante Aggregationsfunktionen wie Mittelwert- und Max/Min-Pooling für die Nachrichtenübermittlung.
- Größeninvarianz: Jeder Knoten in einem GNN hat ein eigenes Berechnungsdiagramm, wodurch die Größe von GNNs unveränderlich wird. Dadurch können einzelne Knoten Informationen basierend auf ihrer lokalen Nachbarschaft verarbeiten und integrieren, was personalisiertes und flexibles Lernen ermöglicht. Das Bild unten zeigt das Berechnungsdiagramm für jeden einzelnen Knoten in der vorherigen Abbildung.
- Umgang mit spärlichen Matrizen: Im Gegensatz zu klassischen Methoden zur Matrixvervollständigung zeichnen sich GNNs durch den Umgang mit dünn besetzten Matrizen aus. Sie gehen über direkte Knoteninteraktionen hinausgehen und verborgene Korrelationen erfassen, die in Diagrammstrukturen höherer Ordnung vorhanden sind. Diese Funktion verbessert ihre Leistung in Szenarien mit begrenzten Interaktionen
- Finish-to-Finish-Lernen: GNNs bieten Finish-to-Finish-Lernen und optimieren gleichzeitig die Einbettungs- und Vorhersageaufgaben. Dies z.Bbegrenzt den Bedarf an manueller Function-Entwicklung, Optimierung der Empfehlungspipeline. Darüber hinaus passen sich GNNs intestine an sich entwickelnde Benutzer-/Elementfunktionen an, wodurch die Notwendigkeit erheblicher Codeänderungen verringert wird.
Trotz ihrer Stärken weisen GNNs auch Einschränkungen auf, die berücksichtigt werden sollten:
- Rechenkomplexität: GNNs können rechenintensiv sein, insbesondere für große Diagramme und tiefe Architekturen. Das Coaching von GNNs kann im Vergleich zu einfacheren Modellen erhebliche Rechenressourcen und längere Trainingszeiten erfordern.
- Interpretierbarkeit: Die Komplexität von GNNs kann dazu führen, dass sie im Vergleich zu herkömmlichen Methoden weniger interpretierbar sind. Es kann eine Herausforderung sein, das Innenleben und die Argumentation hinter GNN-basierten Empfehlungen zu verstehen.
Abschluss
In diesem Artikel haben wir das Potenzial von Graph Neural Networks (GNNs) in Empfehlungssystemen untersucht und ihre Vorteile gegenüber herkömmlichen Ansätzen zur Matrixvervollständigung hervorgehoben. GNNs bieten einen leistungsstarken Rahmen für die Nutzung der Graphentheorie zur Verbesserung von Empfehlungssystemen.
Durch die Nutzung der umfangreichen Informationen, die in Diagrammstrukturen eingebettet sind, können GNNs komplizierte Muster erfassen, latente Merkmale aufdecken und den Einfluss benachbarter Benutzer im Empfehlungsprozess berücksichtigen. Dieser Ansatz verbessert die Fähigkeit von Empfehlungssystemen, genaue Vorhersagen zu treffen, selbst in spärlichen Datensätzen, in denen klassische Methoden Schwierigkeiten haben.
Da sich der Bereich der Empfehlungssysteme ständig weiterentwickelt, haben sich GNNs als vielversprechende Lösung zur Überwindung der Einschränkungen traditioneller Ansätze herausgestellt. Ihre Fähigkeit, sich an verschiedene Domänen anzupassen und automatisch aus Daten zu lernen Machen Sie sie intestine geeignet, um relevante und maßgeschneiderte Empfehlungen in verschiedenen Kontexten bereitzustellen.
Im nächsten Teil dieser Serie werden wir tiefer in die Materie eintauchen mathematische Grundlagen von GNNs, mit besonderem Schwerpunkt auf der Anwendung von LightGCN in Filmempfehlungssystemen. Durch das Verständnis der zugrunde liegenden Prinzipien und Algorithmen können wir weitere Erkenntnisse darüber gewinnen, wie GNNs die Landschaft der Empfehlungssysteme verändern.