{"id":4828,"date":"2023-05-23T15:08:30","date_gmt":"2023-05-23T15:08:30","guid":{"rendered":"https:\/\/lamarr-institute.org\/blog\/grundlagen-graphsage-nutzerverhalten-vorhersagen\/"},"modified":"2025-11-12T14:51:36","modified_gmt":"2025-11-12T14:51:36","slug":"grundlagen-graphsage-nutzerverhalten-vorhersagen","status":"publish","type":"blog","link":"https:\/\/lamarr-institute.org\/de\/blog\/grundlagen-graphsage-nutzerverhalten-vorhersagen\/","title":{"rendered":"GraphSAGE: Nutzerverhalten mit ML-basierten Empfehlungsdiensten vorhersagen"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u201eGef\u00e4llt mir!\u201c Tagt\u00e4glich erhalten wir personalisierte Empfehlungen zu Produkten oder Inhalten \u2013 egal ob beim Shopping auf diversen Online-Marktpl\u00e4tzen, beim Streaming von Filmen und Musik oder auf Social-Media-Plattformen. Verantwortlich daf\u00fcr sind sogenannte Empfehlungsdienste, welche auf Methoden des Maschinellen Lernens basieren. Im Bereich der Empfehlungsdienste finden Graph Neuronal Networks (GNNs) immer h\u00e4ufiger Anwendung. Diese Art von k\u00fcnstlichen neuronalen Netzen arbeitet auf Daten mit Graphstruktur und eignet sich daher, um als Graph codierte Nutzer- Produkt-Interaktionen zu analysieren und damit Vorhersagen \u00fcber das Nutzerverhalten zu erm\u00f6glichen. Die entstehenden Graphen bestehen in der Regel aus Billionen von Knoten und Kanten und entwickeln sich zudem dynamisch, da sich t\u00e4glich neue Nutzer*innen anmelden und st\u00e4ndig weitere Produkte hinzukommen. GraphSAGE erweitert die Idee von klassischen Convolutional Neural Networks auf Graphen durch die Einf\u00fchrung einer Sampling-Strategie und Aggregationsfunktionen, um das Lernen von Knoteneigenschaften in besonders gro\u00dfen und dynamisch wachsenden Graphen zu erm\u00f6glichen. Ein bekanntes Beispiel f\u00fcr den Einsatz von GraphSAGE ist das Empfehlungssystem von Pinterest, welches den Algorithmus nutzt, um personalisierte Vorschl\u00e4ge f\u00fcr Nutzer*innen zu erstellen. Auch UberEats verwendet eine modifizierte Version von GraphSAGE, um Verbraucher*innen passende Essensvorschl\u00e4ge zu machen. In diesem Beitrag stellen wir den GraphSAGE Algorithmus genauer vor. F\u00fcr einen Einstieg in das Thema Graph Neural Networks empfehlen wir den Blogbeitrag \u201d<a href=\"https:\/\/machinelearning-blog.de\/grundlagen\/graphen-basierten-ki-modelle\/\" target=\"_blank\" rel=\"noreferrer noopener\">Graph Neural Networks<\/a>\u201d.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/lamarr-institute.org\/wp-content\/uploads\/Abb_Nachbarschaft_DE-1024x1024.png\" alt=\"- Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)\" class=\"wp-image-17328\" title=\"\" srcset=\"https:\/\/lamarr-institute.org\/wp-content\/uploads\/Abb_Nachbarschaft_DE-1024x1024.png 1024w, https:\/\/lamarr-institute.org\/wp-content\/uploads\/Abb_Nachbarschaft_DE-300x300.png 300w, https:\/\/lamarr-institute.org\/wp-content\/uploads\/Abb_Nachbarschaft_DE-150x150.png 150w, https:\/\/lamarr-institute.org\/wp-content\/uploads\/Abb_Nachbarschaft_DE-768x769.png 768w, https:\/\/lamarr-institute.org\/wp-content\/uploads\/Abb_Nachbarschaft_DE-400x400.png 400w, https:\/\/lamarr-institute.org\/wp-content\/uploads\/Abb_Nachbarschaft_DE-600x600.png 600w, https:\/\/lamarr-institute.org\/wp-content\/uploads\/Abb_Nachbarschaft_DE.png 1430w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Abbildung 1: Auswahl der Nachbarn f\u00fcr einen Zielknoten: In Suchtiefe 1 werden vier Nachbarn ausgew\u00e4hlt. In Suchtiefe 2 werden f\u00fcr jeden dieser Knoten je zwei weitere Nachbarn gew\u00e4hlt.<\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Auswahl der Nachbarn \u2013 \u201cNeighborhoodsampling\u201d<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">M\u00f6chte man ein GNN-Modell auf einem gro\u00dfen Graphen trainieren, st\u00f6\u00dft man in der Praxis h\u00e4ufig auf zwei Probleme, welche die Genauigkeit und Effizienz des Modells beeintr\u00e4chtigen k\u00f6nnen. Zum einen ist die Verarbeitung von Graphen mit Milliarden von Knoten sehr rechenaufwendig und erfordert viel Speicherplatz. Zum anderen kann die Nachbarschaftsgr\u00f6\u00dfe von Knoten stark variieren, wodurch Knoten mit \u00fcberdurchschnittlich vielen Nachbarn existieren k\u00f6nnen. Diese k\u00f6nnen das Modell stark beeinflussen, da sie Informationen von sehr vielen Nachbarn erhalten. Dies f\u00fchrt zu einem enormen Rechenaufwand und kann dar\u00fcber hinaus die Repr\u00e4sentation anderer Knoten verzerren, was die Genauigkeit des Modells beeintr\u00e4chtigen kann. Um die genannten Probleme zu l\u00f6sen, wird f\u00fcr jeden Knoten eine konstante Anzahl von Nachbarn ausgew\u00e4hlt, mit denen Nachrichten ausgetauscht werden. Dieser Neighborhoodsampling-Prozess umfasst folgende Schritte:<\/p>\n\n\n\n<ol style=\"list-style-type:1\" class=\"wp-block-list\">\n<li>Festlegen der Suchtiefe $k$: Es werden $k$ Iterationen des Message Passing durchgef\u00fchrt.<\/li>\n\n\n\n<li>Auswahl der Nachbarn in jeder Suchtiefe: Die Auswahl kann uniform zuf\u00e4llig (Ziehen mit Zur\u00fccklegen) oder mit einer, f\u00fcr den Anwendungsfall geeigneten, Methode erfolgen.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Schritte werden f\u00fcr jeden Knoten durchgef\u00fchrt, um schlie\u00dflich einen Teilgraph mit allen Knoten zu erhalten, die f\u00fcr weitere Berechnungen ben\u00f6tigt werden.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/lamarr-institute.org\/wp-content\/uploads\/Abb_Aggregation-1024x1024.png\" alt=\"- Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)\" class=\"wp-image-27883\" title=\"\"><figcaption class=\"wp-element-caption\">Abbildung 2: Die Aggregation am Beispiel eines Lieferservices verdeutlicht, wie GraphSAGE die Informationen der Nachbarschaft eines Knotens mithilfe der Mittelwertfunktion aggregiert. Hierbei repr\u00e4sentieren die Knoten die verschiedenen Restaurants und die Kanten zwischen den Knoten zeigen an, ob ein*e Nutzer*in bereits bei diesem Restaurant bestellt hat oder nicht. Jedes Restaurant hat verschiedene Attribute, wie beispielsweise die Option vegetarisches Essen zu bestellen (1) oder nicht (0).<\/figcaption><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Informationsverarbeitung &#8211; Aggregationsfunktionen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die Aggregationsfunktion beschreibt, wie die Informationen der oben beschriebenen Nachbarschaft zusammengef\u00fchrt und verarbeitet werden, um dadurch Informationen \u00fcber den Zielknoten abzuleiten. Um die Aggregationsfunktionen und damit die Vorhersagen des Modells zu verbessern, hat jede Aggregationsfunktion eine Gewichtsmatrix als Parameter, welche die Gewichtung der Nachbarknoten bestimmt. Die Anpassung der Gewichtungen, und somit der Relevanz einzelner Nachbarknoten, erfolgt durch das Training des Modells mit Verfahren wie dem Gradientenabstieg. Die Wahl der Aggregationsfunktion h\u00e4ngt von der spezifischen Aufgabe ab und kann die Leistung des Algorithmus deutlich beeinflussen. Einige Beispiele f\u00fcr Aggregationsfunktionen sind die Mittelwertfunktion, welche den Durchschnitt der Merkmale in der Nachbarschaft berechnet oder die Maximumsfunktion, welche das am meisten repr\u00e4sentative Merkmal herausfiltert.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie lernt GraphSAGE?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Da wir nun mit den Grundlagen vertraut sind, k\u00f6nnen wir uns abschlie\u00dfend den gesamten GraphSAGE Lernalgorithmus anschauen. Er nimmt einen Graphen als Eingabe und gibt eine Vektordarstellung jedes Knotens im Graph aus. Dabei werden folgende Schritte angewendet:<\/p>\n\n\n\n<ol style=\"list-style-type:1\" class=\"wp-block-list\">\n<li>Initialisierung: Merkmale der Knoten werden f\u00fcr eine initiale Darstellung verwendet.<\/li>\n\n\n\n<li>Neighborhoodsampling<\/li>\n\n\n\n<li>Aggregation: Durch eine Aggregationsfunktion wird eine Repr\u00e4sentation der Nachbarschaft jedes Knotens generiert.<\/li>\n\n\n\n<li>Konkatenation: Die aggregierten Merkmale der Nachbarn werden mit der aktuellen Repr\u00e4sentation des Knotens verkn\u00fcpft, um zu einer verbesserten Darstellung beizutragen.<\/li>\n\n\n\n<li>Vollvernetzte Schicht mit Aktivierungsfunktion: Die vollvernetzte Schicht besteht aus einer Matrix von Gewichten, die w\u00e4hrend des Trainings angepasst werden, um die bestm\u00f6gliche Kombination von Merkmalen zu erzielen. Die Aktivierungsfunktion dient dazu, auch nicht- lineare Beziehungen zwischen den Knoten zu erfassen.<\/li>\n\n\n\n<li>Normalisierung: Um die Skalierung der Repr\u00e4sentationen der Knoten zu standardisieren und damit die Stabilit\u00e4t des Modells zu verbessern, werden die neuen Merkmalsvektoren der Knoten schlie\u00dflich normalisiert, indem der Vektor durch seine Euklidische Norm geteilt wird.<\/li>\n\n\n\n<li>Optimierung der Modellparameter mithilfe des Gradientenabstiegsverfahren<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Schritte 2.-7. werden wiederholt, um die Aggregationsfunktionen und damit die Repr\u00e4sentationen der Knoten iterativ zu verbessern.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die finalen Darstellungen der Knoten k\u00f6nnen als Eingabe f\u00fcr Machine-Learning-Modelle verwendet werden, um verschiedene Aufgaben wie <a href=\"https:\/\/machinelearning-blog.de\/grundlagen\/ml-klassifikation\/\" target=\"_blank\" rel=\"noreferrer noopener\">Klassifikation<\/a> oder Vorhersage von Beziehungen zu l\u00f6sen. Durch die Nutzung der Knotenrepr\u00e4sentationen k\u00f6nnen diese Modelle das Wissen \u00fcber die Struktur und Beziehungen des Graphen effektiver nutzen und somit bessere Vorhersagen treffen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">GraphSAGE ist ein leistungsf\u00e4higes maschinelles Lernverfahren f\u00fcr die Analyse von Daten mit Graphstruktur. Es findet Anwendung in Empfehlungsdiensten, um Nutzer*innenverhalten basierend auf der Interaktion mit Produkten oder Inhalten vorherzusagen. Die Methode von GraphSAGE erweitert die Idee des Message Passing Modell, indem es eine Sampling-Strategie und Aggregationsfunktionen hinzufugt und erlaubt damit das Lernen von Knoteneigenschaften in besonders gro\u00dfen und dynamisch wachsenden Graphen. GraphSAGE ist ein vielversprechender Ansatz f\u00fcr die Verarbeitung von gro\u00dfen Graphdaten, der neben Empfehlungsdiensten auch in anderen Bereichen, wie der sozialen Netzwerkanalyse, der Molekularbiologie und Fraud Detection Anwendung findet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Auch wenn das Semester noch in vollem Gange ist, verabschiedet sich unsere Reihe ML Classroom erst einmal in die Semesterferien. Weiter geht es hier n\u00e4chsten Monat mit spannenden Beitr\u00e4gen unserer Lamarr-Forscher*innen und Einblicken in Anwendungsf\u00e4lle aus der Praxis. Also bleiben Sie dran! Sie wollen keinen Beitrag mehr verpassen? Dann melden Sie sich jetzt zu unserem <a href=\"https:\/\/lamarr-institute.org\/blog\/#subscribe\" type=\"URL\" id=\"https:\/\/machinelearning-blog.de\/benachrichtigungen\/\" target=\"_blank\" rel=\"noreferrer noopener\">Newsletter<\/a> an und folgen Sie uns auf <a href=\"https:\/\/twitter.com\/LamarrInstitute\" data-type=\"URL\" data-id=\"https:\/\/twitter.com\/LamarrInstitute\" target=\"_blank\" rel=\"noreferrer noopener\">X<\/a> und <a href=\"https:\/\/www.linkedin.com\/company\/lamarr-institut\/\" data-type=\"URL\" data-id=\"https:\/\/www.linkedin.com\/company\/lamarr-institut\/\" target=\"_blank\" rel=\"noreferrer noopener\">LinkedIn<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GraphSAGE ist ein leistungsstarkes ML-Verfahren, das zur Analyse gro\u00dfskaliger und dynamisch wachsender Daten mit Graphstruktur verwendet wird. Wie genau funktioniert die Methode, mit deren Hilfe sich personalisierte Empfehlungen ausspielen lassen?<\/p>\n","protected":false},"author":16,"featured_media":4833,"template":"","meta":{"_acf_changed":false,"footnotes":""},"blog-category":[1416,390,732],"blog-tag":[1515,1533],"class_list":["post-4828","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog-category-alle-blogbeitraege","blog-category-grundlagen","blog-category-ml-classroom-de","blog-tag-graph-neural-networks-de","blog-tag-klassifikation"],"acf":[],"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog\/4828","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/users\/16"}],"version-history":[{"count":0,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog\/4828\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/media\/4833"}],"wp:attachment":[{"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/media?parent=4828"}],"wp:term":[{"taxonomy":"blog-category","embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog-category?post=4828"},{"taxonomy":"blog-tag","embeddable":true,"href":"https:\/\/lamarr-institute.org\/de\/wp-json\/wp\/v2\/blog-tag?post=4828"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}