Fachbereich Informatik Fachgebiet: Intelligente Systeme Prof. Dr. Thomas Hofmann Seminar Data Mining 31.Mai 2005 / SS 2005 Algorithms for Estimating Relative Importance in Networks Paper von Scott White, Padhraic Smyth Information and Computer Science University of California, Irvine 2003 Präsentation : Dominique Hong Motivation Datenmengen können oftmals als Graphen betrachtet Komplexe Graphen werden für die Datenanalyse immer bedeutender – Soziale Netzwerke – Web Graphen – Biologische Netzwerke Es werden Tools benötigt, die die Graphen quantitativ charakterisieren können Frage, welche Knoten im Graphen am „bedeutendsten“ relativ zu einem oder mehreren Knoten sind 31.05.2005 Dominique Hong 2/37 Bestehende Ansätze Soziologen, Statistiker, Informatiker Unterschied: – Knoten wird relativ zu allen anderen Knoten bewertet – Wurzelknoten(menge) wird nicht gesondert behandelt 31.05.2005 Dominique Hong 3/37 Notation gerichteter Graph G = (V,E) V: Knotenmenge (vertices) E: Kantenmenge (edges) e = (u,v): gerichtete Kante von u nach v Keine Schleifen oder parallelen Kanten Bei ungerichteten Graphen: jede Kante e = (u,v) hat auch eine Kante e‘ = (v,u) 31.05.2005 Dominique Hong 4/37 Notation Weg p ist eine Folge (u,u1 ), (u1, u2 ),…,(uk ,v) Ein Pfad ist ein Weg, bei dem jeder Knoten nur einmal vorkommt 2 Pfade heißen knotendisjunkt, wenn sie keine gemeinsamen Knoten haben k-kurze Pfade: Menge aller Pfade, deren Länge ≤ k ist P(u,v) = Menge von Pfaden zwischen u und v |Z| = Anzahl der Elemente in Z Sout(u) = Menge der Kanten, die von u aus gehen dout(u) = |Sout(u)|; Anzahl der ausgehenden Kanten 31.05.2005 Dominique Hong 5/37 Problemformulierung 1. Schritt Gegeben seien der Graph G und r und t mit {r,t} ⊂ G. Bestimme die „Bedeutung (Importance)“ von t in Bezug zum Wurzelknoten r. Wir bezeichnen dies als I(t|r), eine nichtnegative Größe. 2. Schritt Gegeben seien der Graph G und der Knoten r ∈ G, bestimme eine Rangfolge aller Knoten in T(G), T ⊆ V, in Bezug zu r. Bestimme I(t|r) für alle t ∈ T und sortiere die Werte, so dass der größte Wert die höchste Wichtigkeit und der kleinste die niedrigste erhält. 31.05.2005 Dominique Hong 6/37 Problemformulierung 3. Schritt Gegeben seien ein Graph G, eine Knotenmenge T(G) und eine Wurzelknotenmenge R(G) mit R ⊆ V, bestimme eine Rangfolge aller Knoten in T in Bezug zu R. Berechne I(t|R) als eine Funktion aller Knoten r ∈ R, wobei I(t|R) als eine Funktion der Menge der einzelnen Rankings definiert ist Beispiel: Die durchschnittliche Bedeutung in Bezug zur Knotenmenge R: 31.05.2005 Dominique Hong 7/37 Problemformulierung 4. Schritt Gegeben sei Graph G, bestimme eine Rangfolge für alle Knoten Spezialfall von 3 mit R=T=V. 31.05.2005 Dominique Hong 8/37 Gewichtete Pfade 2 Knoten sind abhängig der Pfade zwischen ihnen miteinander verbunden Je länger der Pfad ist, desto weniger wichtig wird er behandelt Definiere I(t|r) als - P(r,t) Menge der Pfade von r nach t - pi ist der i-te Pfad in P - Skalar λ ≥ 1, bestimmt die Bedeutung von r nach t (hier λ=2) 31.05.2005 Dominique Hong 9/37 Gewichtete Pfade I(t|r) nimmt exponentiell mit der Wegelänge ab Wie wird P bestimmt? – Kürzeste Pfade – k-kurze Pfade – k-kurze knotendisjunkte Pfade 31.05.2005 Dominique Hong 10/37 Beispielgraphen 31.05.2005 Dominique Hong 11/37 Kürzeste Pfade Nützlich, wenn Knoten, die nicht in der Nachbarschaft sind, vernachlässigbar sind Beispiel: Benutze so wenig Knoten wie möglich – Problem: kann zu schlechten Annäherungen führen Beispiel: die kürzesten Wege in b zwischen R und T sind {R – C – T, R – D – T} Damit werden allerdings viele Verbindungen gar nicht erst berücksichtigt 31.05.2005 Dominique Hong 12/37 k-kurze Pfade Menge der Pfade mit Länge ≤ k 3-kurze Pfade in b: {R-C-T, R-D-T, R-A-B-T, R-C-B-T, R-A-C-T, R-E-F-T, R-E-D-T, RD-F-T} Problem: Knoten und Kanten können öfters gezählt werden auf unterschiedlichen Pfaden und können damit die Bedeutung beeinflussen 31.05.2005 Dominique Hong 13/37 k-kurze knotendisjunkte Pfade Menge der k-kurzen Graphen, die weder Knoten noch Kanten gemeinsam haben Beispiel: Menge der k-kurzen knotendisjunkten Pfade in b sind {R-C-T,R- D-T,R-A-B-T,R-E-F-T} 31.05.2005 Dominique Hong 14/37 k-kurze knotendisjunkte Pfade Beachtet Kapazitätsbeschränkungen auf Knoten und Kanten (jeder Knoten wird nur einmal benutzt) Ergebnis sind gute Annäherungen an die relative Bedeutung der Knoten, die von einer kleinen Menge von Pfaden in der Nachbarschaft mit Radius k von den Wurzelknoten abhängen Heuristischer BFS-Algorithmus, um eine gute Wegemenge P zu bestimmen 31.05.2005 Dominique Hong 15/37 Markov Ketten Ein Graph wird stochastisch durchlaufen – Nächster Knoten wird abhängig von der stochastischen Funktion bestimmt – Zeit bei einem Knoten kann als proportional zu einer Abschätzung der globalen Bedeutung dieses Knotens relativ zu allen anderen Knoten angesehen werden – Beispiel: PageRank 31.05.2005 Dominique Hong 16/37 Markov Ketten Annahme, dass der Graph in eine äquivalente Markov Kette umgewandelt werden kann Wahrscheinlichkeit des Übergangs von i zu j ist p(i|j) = 1/dout(j), falls es eine Kante zwischen i und j gibt, sonst p(i|j) = 0 31.05.2005 Dominique Hong 17/37 Markov Zentralität Inverse der mean first-passage time in der Markov Kette: Mean first-passage time mrt ist die erwartete Anzahl von Schritten bis zum Erreichen von Knoten t ausgehend vom Knoten r n ist Anzahl der Schritte, frt(n) ist die Wahrscheinlichkeit, dass die Markov Kette den Zustand t in genau n Schritten erreicht 31.05.2005 Dominique Hong 18/37 Markov Zentralität Berechnung von m über die Mean first passage Matrix M = (I – Z + EZdg)D I ist die Einheitsmatrix, E Matrix mit überall 1, D ist Diagonalmatrix mit dvv=1/ π(v), π(v) ist die stationäre Verteilung des Knoten v, Z ist Fundamentalmatrix, Zdg ist auf der Diagonalen wie Z, sonst 0 Z = (I – A –eπT)-1 A ist Markov Übergangsmatrix, e ist ein Spaltenvektor mit 1, π ist Spaltenvektor mit der stationären Verteilung für die Markov Kette 31.05.2005 Dominique Hong 19/37 Markov Zentralität Für R=T=V erhält man ein globales Ranking Knoten, die näher am Zentrum sind, sind höher gerankt als solche, die weiter weg sind Problem: – Rechenkomplexität liegt bei O(|V|3) – Speicherkomplexität liegt bei O(|V|2) 31.05.2005 Dominique Hong 20/37 PageRank with Priors PageRank wird „personalisiert“ Definiere einen Vektor pr mit Wahrscheinlichkeiten pr = {p1 ,…,p|V|}, wobei die Wahrscheinlichkeiten sich zu 1 aufaddieren und pv die relative Bedeutung am Knoten v angibt Benutze pv=1/|R| für v ∈ R, pv=0 sonst 31.05.2005 Dominique Hong 21/37 PageRank with Priors Definiere eine Rückwahrscheinlichkeit β, 0 ≤ β ≤ 1, die bestimmt, wie oft zu der Wurzelknotenmenge in R zurückgegangen wird Integration beider Erweiterungen in die ursprüngliche PageRank Formel: 31.05.2005 Dominique Hong 22/37 PageRank with Priors I(v|R)=π(v) nach der Konvergenz Dies entspricht einer Markov Kette für Random Surfer, der zur Wurzelknotenmenge R bei einer Wahrscheinlichkeit β für jeden Schritt zurückkommt Bestimmt die relative Wahrscheinlichkeit dafür, auf einem bestimmten Knoten beim Durchlauf zu landen 31.05.2005 Dominique Hong 23/37 HITS with Priors Benutzt die gleichen Vektoren und Wahrscheinlichkeiten wie PageRank with Priors 31.05.2005 Dominique Hong 24/37 HITS with Priors Zufälliger Surfer startet an irgendeiner Seite in G und besucht eine neue Seite bei jedem Zeitpunkt Vor dem Besuchen, wirft er eine Münze – Kopf und gerade Zeit – gehe zu in-link – Kopf und ungerade Zeit – gehe zu out-link – Zahl – gehe zu einer Seite in R ausgewählt nach pr Knoten, die näher an der Wurzelknotenmenge sind, werden höher bewertet 31.05.2005 Dominique Hong 25/37 K-step Markov Zufälliger Weg von R mit einer vorgegebenen Länge k Bestimmung der relativen Wahrscheinlichkeit, dass das System an einem bestimmten Knoten Zeit verbringt I(t|R) = [ApR+ A2pR …A3pR] – A ist die Übergangsmatrix n x n mit Wahrscheinlichkeiten – pR ist ein n x 1 Vektor mit den Wahrscheinlichkeiten der Wurzelknotenmenge R – I(t|R) ist der t-te Eintrag dieses Summenvektors 31.05.2005 Dominique Hong 26/37 Bewertung anhand von Simulationsdaten Interpretation der Ergebnisse hängt vom Ziel der Analyse und der Wahl der Parameter β und K 5 verschiedene Methoden evaluiert – Gewichtete k-kurze knotendisjunkte Pfade (WKpaths) – Markov Zentralität (MarkovC) – PageRank with Priors (PRankP) – HITS with Priors (HITSP) – K-step Markov (KSMarkov) β = 0,3; K = 6 31.05.2005 Dominique Hong 27/37 Beispielgraphen 31.05.2005 Dominique Hong 28/37 Ungerichteter Graph Bei PageRank with Priors, HITS with Priors und k-step Markov wird jeder Knoten wegen des Grads gleich bewertet Markov Zentralität bewertet J am höchsten, die anderen Knoten werden gleich bewertet Gewichtete k-kurze Pfade bewertet C,E,H am höchsten, dann J und dann den Rest 31.05.2005 Dominique Hong 29/37 Gerichteter Graph A und F sind Wurzelknoten 31.05.2005 Dominique Hong 30/37 Netzwerk der Terroristen des 11. September 2001 Khemais und Beghal sind Wurzelknoten 63 Knoten, 308 Kanten (bekannte Interaktionen) 31.05.2005 Dominique Hong 31/37 “9/11 Network” 31.05.2005 Dominique Hong 32/37 Biotech Collaboration Network 31.05.2005 Dominique Hong 33/37 Biotech Collaboration Network 2700 Knoten, 8690 Kanten Cambridge und Oxford sind Wurzelknoten 31.05.2005 Dominique Hong 34/37 Citeseer Co-Autorschaft Netzwerk 387.703 Papers zwischen 1991 und 2002 Autoren sind Knoten, Kanten sind CoAutorschaft zwischen ihnen Kante, wenn 2 Autoren an einem oder mehr Papers zusammengearbeitet haben 31.05.2005 Dominique Hong 35/37 Citeseer Co-Autorschaft Netzwerk Tom Mitchell ist Wurzelknoten Die meisten waren zur gleichen Zeit an der CMU zusammen 31.05.2005 Dominique Hong 36/37 Computation Times for Ranking Algorithms (in seconds) Data Number of Number of Nodes Edges Weighted Paths KStep Markov K=6 Prank With Priors HITS With Priors Terrorist 63 308 0.01 0.28 1.17 0.57 Biotech 3k 13k 0.02 0.39 3.45 3.64 Author1 30k 88k 0.05 1.11 10.80 11.30 Author2 30k 88k 0.04 1.55 17.06 17.99 31.05.2005 PRankP and HITS converged in 20-30 iterations Dominique Hong 37/37 Pro & Contra Pro: – Algorithmen können die Bedeutung der Knoten relativ zu einer Wurzelknotenmenge bestimmen – Ergebnisse decken sich mit realen Daten Contra – Es wird eine Priori-Information über den Graph benötigt Offene Frage: Algorithmen ergeben nicht die gleichen Ergebnisse?? 31.05.2005 Dominique Hong 38/37