Algorithms for Estimating Algorithms for Estimating Relative Importance in Relative Importance in
NetworksNetworks
Paper von Paper von Scott White, Padhraic SmythInformation and Computer ScienceUniversity of California, Irvine 2003
Präsentation : Dominique Hong Präsentation : Dominique Hong
Fachbereich InformatikFachgebiet: Intelligente SystemeProf. Dr. Thomas HofmannSeminar Data Mining31.Mai 2005 / SS 2005
31.05.200531.05.2005 Dominique HongDominique Hong 22/37/37
MotivationMotivation
Datenmengen können oftmals als Graphen Datenmengen können oftmals als Graphen betrachtetbetrachtet
Komplexe Graphen werden für die Komplexe Graphen werden für die Datenanalyse immer bedeutenderDatenanalyse immer bedeutender– Soziale NetzwerkeSoziale Netzwerke– Web GraphenWeb Graphen– Biologische NetzwerkeBiologische Netzwerke
Es werden Tools benötigt, die die Graphen Es werden Tools benötigt, die die Graphen quantitativ charakterisieren könnenquantitativ charakterisieren können
Frage, welche Knoten im Graphen am Frage, welche Knoten im Graphen am „bedeutendsten“ relativ zu einem oder „bedeutendsten“ relativ zu einem oder mehreren Knoten sindmehreren Knoten sind
31.05.200531.05.2005 Dominique HongDominique Hong 33/37/37
Bestehende AnsätzeBestehende Ansätze
Soziologen, Statistiker, InformatikerSoziologen, Statistiker, Informatiker Unterschied: Unterschied:
– Knoten wird relativ zu allen anderen Knoten wird relativ zu allen anderen Knoten bewertetKnoten bewertet
– Wurzelknoten(menge) wird nicht Wurzelknoten(menge) wird nicht gesondert behandeltgesondert behandelt
31.05.200531.05.2005 Dominique HongDominique Hong 44/37/37
NotationNotation
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.200531.05.2005 Dominique HongDominique Hong 55/37/37
NotationNotation
WegWeg p ist eine Folge 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 2 Pfade heißen knotendisjunktknotendisjunkt, wenn sie keine , wenn sie keine
gemeinsamen Knoten habengemeinsamen Knoten haben k-kurze Pfadek-kurze Pfade: Menge aller Pfade, deren Länge : Menge aller Pfade, deren Länge
≤ k ist≤ k ist P(u,v) = Menge von Pfaden zwischen u und vP(u,v) = Menge von Pfaden zwischen u und v |Z| = Anzahl der Elemente in Z|Z| = Anzahl der Elemente in Z SSoutout(u) = Menge der Kanten, die von u aus gehen(u) = Menge der Kanten, die von u aus gehen ddoutout(u) = |S(u) = |Soutout(u)|; Anzahl der ausgehenden (u)|; Anzahl der ausgehenden
Kanten Kanten
31.05.200531.05.2005 Dominique HongDominique Hong 66/37/37
ProblemformulierungProblemformulierung
1. Schritt1. SchrittGegeben seien der Graph G und r und t mit 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. SchrittGegeben 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.200531.05.2005 Dominique HongDominique Hong 77/37/37
ProblemformulierungProblemformulierung
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.200531.05.2005 Dominique HongDominique Hong 88/37/37
Problemformulierung Problemformulierung
4. Schritt4. Schritt Gegeben sei Gegeben sei Graph GGraph G, bestimme eine , bestimme eine
Rangfolge für alle KnotenRangfolge für alle Knoten Spezialfall von 3 mit Spezialfall von 3 mit R=T=VR=T=V..
31.05.200531.05.2005 Dominique HongDominique Hong 99/37/37
Gewichtete PfadeGewichtete Pfade
2 Knoten sind abhängig der Pfade zwischen 2 Knoten sind abhängig der Pfade zwischen ihnen miteinander verbundenihnen miteinander verbunden
Je länger der Pfad ist, desto weniger wichtig Je länger der Pfad ist, desto weniger wichtig wird er behandeltwird er behandelt
Definiere Definiere I(t|r)I(t|r) als als
- P(r,t)P(r,t) Menge der Pfade von r nach t Menge der Pfade von r nach t- ppii ist der i-te Pfad in Pist der i-te Pfad in P- Skalar Skalar λλ ≥ 1, bestimmt die Bedeutung von r nach t ≥ 1, bestimmt die Bedeutung von r nach t
(hier (hier λλ=2)=2)
31.05.200531.05.2005 Dominique HongDominique Hong 1010/37/37
Gewichtete PfadeGewichtete Pfade
I(t|r)I(t|r) nimmt exponentiell mit der nimmt exponentiell mit der Wegelänge abWegelänge ab
Wie wird P bestimmt?Wie wird P bestimmt?– Kürzeste PfadeKürzeste Pfade– k-kurze Pfadek-kurze Pfade– k-kurze knotendisjunkte Pfadek-kurze knotendisjunkte Pfade
31.05.200531.05.2005 Dominique HongDominique Hong 1111/37/37
BeispielgraphenBeispielgraphen
31.05.200531.05.2005 Dominique HongDominique Hong 1212/37/37
Kürzeste PfadeKürzeste Pfade
Nützlich, wenn Knoten, die nicht in der Nützlich, wenn Knoten, die nicht in der Nachbarschaft sind, vernachlässigbar sindNachbarschaft sind, vernachlässigbar sind
Beispiel: Benutze so wenig Knoten wie Beispiel: Benutze so wenig Knoten wie möglichmöglich– Problem: kann zu schlechten Annäherungen Problem: kann zu schlechten Annäherungen
führenführen Beispiel: die kürzesten Wege in b Beispiel: die kürzesten Wege in b
zwischen R und T sind zwischen R und T sind {R – C – T, R – D – T}
Damit werden allerdings viele Verbindungen gar nicht erst berücksichtigt
31.05.200531.05.2005 Dominique HongDominique Hong 1313/37/37
k-kurze Pfadek-kurze Pfade
Menge der Pfade mit Menge der Pfade mit Länge ≤ kLä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, R-D-F-T}
Problem: Knoten und Kanten können öfters gezählt werden auf unterschiedlichen Pfaden und können damit die Bedeutung beeinflussen
31.05.200531.05.2005 Dominique HongDominique Hong 1414/37/37
k-kurze k-kurze knotendisjunkte knotendisjunkte PfadePfade Menge der k-kurzen Graphen, die Menge der k-kurzen Graphen, die
weder Knoten noch Kantenweder Knoten noch Kanten gemeinsam habengemeinsam haben
Beispiel: Menge der k-kurzen Beispiel: Menge der k-kurzen knotendisjunkten Pfade in b sind knotendisjunkten Pfade in b sind {R-C-T,R-D-T,R-A-B-T,R-E-F-T}
31.05.200531.05.2005 Dominique HongDominique Hong 1515/37/37
k-kurze k-kurze knotendisjunkte knotendisjunkte PfadePfade Beachtet Kapazitätsbeschränkungen auf Beachtet Kapazitätsbeschränkungen auf
Knoten und Kanten (jeder Knoten wird nur Knoten und Kanten (jeder Knoten wird nur einmal benutzt)einmal benutzt)
Ergebnis sind gute Annäherungen an die Ergebnis sind gute Annäherungen an die relative Bedeutung der Knoten, die von einer relative Bedeutung der Knoten, die von einer kleinen Menge von Pfaden in der kleinen Menge von Pfaden in der Nachbarschaft mit Radius k von den Nachbarschaft mit Radius k von den Wurzelknoten abhängenWurzelknoten abhängen
Heuristischer BFS-Algorithmus, um eine gute Heuristischer BFS-Algorithmus, um eine gute Wegemenge Wegemenge PP zu bestimmen zu bestimmen
31.05.200531.05.2005 Dominique HongDominique Hong 1616/37/37
Markov KettenMarkov Ketten
Ein Graph wird stochastisch Ein Graph wird stochastisch durchlaufendurchlaufen– Nächster Knoten wird abhängig von der Nächster Knoten wird abhängig von der
stochastischen Funktion bestimmtstochastischen Funktion bestimmt– Zeit bei einem Knoten kann als Zeit bei einem Knoten kann als
proportional zu einer Abschätzung der proportional zu einer Abschätzung der globalen Bedeutung dieses Knotens relativ globalen Bedeutung dieses Knotens relativ zu allen anderen Knoten angesehen zu allen anderen Knoten angesehen werdenwerden
– Beispiel: PageRankBeispiel: PageRank
31.05.200531.05.2005 Dominique HongDominique Hong 1717/37/37
Markov KettenMarkov Ketten
Annahme, dass der Graph in eine Annahme, dass der Graph in eine äquivalente äquivalente Markov KetteMarkov Kette umgewandelt werden kannumgewandelt werden kann
Wahrscheinlichkeit des Übergangs von Wahrscheinlichkeit des Übergangs von i zu j ist i zu j ist p(i|j) = 1/dp(i|j) = 1/doutout(j),(j), falls es eine falls es eine Kante zwischen i und j gibt, sonst Kante zwischen i und j gibt, sonst p(i|j) p(i|j) = 0= 0
31.05.200531.05.2005 Dominique HongDominique Hong 1818/37/37
Markov ZentralitätMarkov Zentralität
Inverse der mean first-passage timeInverse der mean first-passage time in der Markov Kette:in der Markov Kette:
Mean first-passage time mMean first-passage time mrtrt ist die ist die erwartete Anzahl von Schritten bis zum erwartete Anzahl von Schritten bis zum Erreichen von Knoten t ausgehend vom Knoten Erreichen von Knoten t ausgehend vom Knoten rr
n ist Anzahl der Schritte, fn ist Anzahl der Schritte, frtrt(n) (n) ist die ist die
Wahrscheinlichkeit, dass die Markov Kette den Wahrscheinlichkeit, dass die Markov Kette den Zustand t in genau n Schritten erreichtZustand t in genau n Schritten erreicht
31.05.200531.05.2005 Dominique HongDominique Hong 1919/37/37
Markov ZentralitätMarkov Zentralität
Berechnung von m über die Mean first Berechnung von m über die Mean first passage Matrixpassage Matrix
M = (I – Z + EZM = (I – Z + EZdgdg)D)D I ist die Einheitsmatrix, E Matrix mit überall 1, I ist die Einheitsmatrix, E Matrix mit überall 1,
D ist Diagonalmatrix mit dD ist Diagonalmatrix mit dvvvv=1/ =1/ ππ(v), (v), ππ(v) ist (v) ist die stationäre Verteilung des Knoten v, Z ist die stationäre Verteilung des Knoten v, Z ist Fundamentalmatrix, ZFundamentalmatrix, Zdg dg ist auf der Diagonalen ist auf der Diagonalen wie Z, sonst 0wie Z, sonst 0
Z = (I – A –eZ = (I – A –eππTT))-1-1
A ist Markov Übergangsmatrix, e ist ein A ist Markov Übergangsmatrix, e ist ein Spaltenvektor mit 1, Spaltenvektor mit 1, ππ ist Spaltenvektor mit ist Spaltenvektor mit der stationären Verteilung für die Markov der stationären Verteilung für die Markov KetteKette
31.05.200531.05.2005 Dominique HongDominique Hong 2020/37/37
Markov ZentralitätMarkov Zentralität
Für Für R=T=VR=T=V erhält man ein globales erhält man ein globales Ranking Ranking
Knoten, die näher am Zentrum sind, sind Knoten, die näher am Zentrum sind, sind höher gerankt als solche, die weiter weg höher gerankt als solche, die weiter weg sindsind
Problem: Problem: – Rechenkomplexität liegt bei Rechenkomplexität liegt bei O(|V|O(|V|33))– Speicherkomplexität liegt bei Speicherkomplexität liegt bei O(|V|O(|V|22))
31.05.200531.05.2005 Dominique HongDominique Hong 2121/37/37
PageRank with PriorsPageRank with Priors
PageRankPageRank wird „personalisiert“ wird „personalisiert“ Definiere einen Vektor Definiere einen Vektor pprr mit mit
Wahrscheinlichkeiten Wahrscheinlichkeiten pprr = {p = {p1 1 ,…,p,…,p|V||V|},}, wobei die Wahrscheinlichkeiten sich zu wobei die Wahrscheinlichkeiten sich zu 1 aufaddieren und 1 aufaddieren und ppvv die relative die relative Bedeutung am Knoten v angibtBedeutung am Knoten v angibt
Benutze Benutze ppvv=1/|R|=1/|R| für für v ∈ R, ppvv=0 sonst
31.05.200531.05.2005 Dominique HongDominique Hong 2222/37/37
PageRank with PriorsPageRank with Priors
Definiere eine Rückwahrscheinlichkeit Definiere eine Rückwahrscheinlichkeit ββ, , 0 ≤ 0 ≤ ββ ≤ 1, ≤ 1, die bestimmt, wie oft zu die bestimmt, wie oft zu der Wurzelknotenmenge in R der Wurzelknotenmenge in R zurückgegangen wirdzurückgegangen wird
Integration beider Erweiterungen in die Integration beider Erweiterungen in die ursprüngliche PageRank Formel:ursprüngliche PageRank Formel:
31.05.200531.05.2005 Dominique HongDominique Hong 2323/37/37
PageRank with PriorsPageRank with Priors
I(v|R)=I(v|R)=ππ(v)(v) nach der Konvergenz nach der Konvergenz Dies entspricht einer Markov Kette für Dies entspricht einer Markov Kette für
Random Surfer, der zur Wurzelknotenmenge Random Surfer, der zur Wurzelknotenmenge R bei einer Wahrscheinlichkeit R bei einer Wahrscheinlichkeit ββ für jeden für jeden Schritt zurückkommtSchritt zurückkommt
Bestimmt die relative Wahrscheinlichkeit Bestimmt die relative Wahrscheinlichkeit dafür, auf einem bestimmten Knoten beim dafür, auf einem bestimmten Knoten beim Durchlauf zu landenDurchlauf zu landen
31.05.200531.05.2005 Dominique HongDominique Hong 2424/37/37
HITS with PriorsHITS with Priors
Benutzt die gleichen Vektoren und Benutzt die gleichen Vektoren und Wahrscheinlichkeiten wie PageRank Wahrscheinlichkeiten wie PageRank with Priorswith Priors
31.05.200531.05.2005 Dominique HongDominique Hong 2525/37/37
HITS with PriorsHITS with Priors
Zufälliger Surfer startet an irgendeiner Seite Zufälliger Surfer startet an irgendeiner Seite in G und besucht eine neue Seite bei jedem in G und besucht eine neue Seite bei jedem ZeitpunktZeitpunkt
Vor dem Besuchen, wirft er eine MünzeVor dem Besuchen, wirft er eine Münze– Kopf und gerade Zeit – gehe zu in-linkKopf und gerade Zeit – gehe zu in-link– Kopf und ungerade Zeit – gehe zu out-linkKopf und ungerade Zeit – gehe zu out-link
– Zahl – gehe zu einer Seite in R ausgewählt nach pZahl – gehe zu einer Seite in R ausgewählt nach prr
Knoten, die näher an der Knoten, die näher an der Wurzelknotenmenge sind, werden höher Wurzelknotenmenge sind, werden höher bewertetbewertet
31.05.200531.05.2005 Dominique HongDominique Hong 2626/37/37
K-step MarkovK-step Markov
Zufälliger Weg von R mit einer vorgegebenen Zufälliger Weg von R mit einer vorgegebenen Länge kLänge k
Bestimmung der relativen Bestimmung der relativen Wahrscheinlichkeit, dass das System an Wahrscheinlichkeit, dass das System an einem bestimmten Knoten Zeit verbringteinem bestimmten Knoten Zeit verbringt
I(t|R) = [ApI(t|R) = [ApRR+ A+ A22ppR R …A…A33ppRR]] – A ist die A ist die ÜbergangsmatrixÜbergangsmatrix n x n mit n x n mit
WahrscheinlichkeitenWahrscheinlichkeiten– ppR R ist ein n x 1 Vektor mit den Wahrscheinlichkeiten ist ein n x 1 Vektor mit den Wahrscheinlichkeiten
der Wurzelknotenmenge Rder Wurzelknotenmenge R– I(t|R)I(t|R) ist der ist der t-te Eintragt-te Eintrag dieses Summenvektors dieses Summenvektors
31.05.200531.05.2005 Dominique HongDominique Hong 2727/37/37
Bewertung anhand Bewertung anhand von von SimulationsdatenSimulationsdaten Interpretation der Ergebnisse hängt Interpretation der Ergebnisse hängt
vom Ziel der Analyse und der Wahl der vom Ziel der Analyse und der Wahl der Parameter Parameter ββ und K und K
5 verschiedene Methoden evaluiert5 verschiedene Methoden evaluiert– Gewichtete k-kurze knotendisjunkte Pfade Gewichtete k-kurze knotendisjunkte Pfade
(WKpaths)(WKpaths)– Markov Zentralität (MarkovC)Markov Zentralität (MarkovC)– PageRank with Priors (PRankP)PageRank with Priors (PRankP)– HITS with Priors (HITSP)HITS with Priors (HITSP)– K-step Markov (KSMarkov)K-step Markov (KSMarkov)
ββ = 0,3; K = 6 = 0,3; K = 6
31.05.200531.05.2005 Dominique HongDominique Hong 2828/37/37
BeispielgraphenBeispielgraphen
31.05.200531.05.2005 Dominique HongDominique Hong 2929/37/37
Ungerichteter GraphUngerichteter Graph
Bei PageRank with Bei PageRank with Priors, HITS with Priors Priors, HITS with Priors und k-step Markov wird und k-step Markov wird jeder Knoten wegen des jeder Knoten wegen des Grads gleich bewertetGrads gleich bewertet
Markov Zentralität Markov Zentralität bewertet J am höchsten, bewertet J am höchsten, die anderen Knoten die anderen Knoten werden gleich bewertetwerden gleich bewertet
Gewichtete k-kurze Gewichtete k-kurze Pfade bewertet C,E,H am Pfade bewertet C,E,H am höchsten, dann J und höchsten, dann J und dann den Restdann den Rest
31.05.200531.05.2005 Dominique HongDominique Hong 3030/37/37
Gerichteter GraphGerichteter Graph
A und F sind WurzelknotenA und F sind Wurzelknoten
31.05.200531.05.2005 Dominique HongDominique Hong 3131/37/37
Netzwerk der Netzwerk der Terroristen des 11. Terroristen des 11. September 2001September 2001 Khemais und Beghal sind WurzelknotenKhemais und Beghal sind Wurzelknoten 63 Knoten, 308 Kanten (bekannte Interaktionen)63 Knoten, 308 Kanten (bekannte Interaktionen)
31.05.200531.05.2005 Dominique HongDominique Hong 3232/37/37
“9/11 Network”
31.05.200531.05.2005 Dominique HongDominique Hong 3333/37/37
Biotech Collaboration Biotech Collaboration NetworkNetwork
31.05.200531.05.2005 Dominique HongDominique Hong 3434/37/37
Biotech Collaboration Biotech Collaboration NetworkNetwork
2700 Knoten, 8690 Kanten2700 Knoten, 8690 Kanten Cambridge und Oxford sind Cambridge und Oxford sind
WurzelknotenWurzelknoten
31.05.200531.05.2005 Dominique HongDominique Hong 3535/37/37
Citeseer Co-Citeseer Co-Autorschaft Autorschaft NetzwerkNetzwerk 387.703 Papers 387.703 Papers
zwischen 1991 und zwischen 1991 und 20022002
Autoren sind Autoren sind Knoten, Kanten sind Knoten, Kanten sind Co-Autorschaft Co-Autorschaft zwischen ihnenzwischen ihnen
Kante, wenn 2 Kante, wenn 2 Autoren an einem Autoren an einem oder mehr Papers oder mehr Papers zusammengearbeitezusammengearbeitet habent haben
31.05.200531.05.2005 Dominique HongDominique Hong 3636/37/37
Citeseer Co-Citeseer Co-Autorschaft Autorschaft NetzwerkNetzwerk Tom Mitchell ist WurzelknotenTom Mitchell ist Wurzelknoten
Die meisten waren zur gleichen Zeit Die meisten waren zur gleichen Zeit an der CMU zusammenan der CMU zusammen
31.05.200531.05.2005 Dominique HongDominique Hong 3737/37/37
Computation Times for Computation Times for Ranking Algorithms (in Ranking Algorithms (in seconds)seconds)
DataData Number Number ofof
NodesNodes
Number Number ofof
EdgesEdges
WeightedWeighted
PathsPathsKStep KStep
Markov Markov K=6K=6
PrankPrank
WithWith
PriorsPriors
HITSHITS
WithWith
PriorsPriors
TerroristTerrorist 6363 308308 0.010.01 0.28 0.28 1.17 1.17 0.570.57
BiotechBiotech 3k3k 13k13k 0.020.02 0.39 0.39 3.453.45 3.643.64
Author1Author1 30k30k 88k88k 0.050.05 1.111.11 10.8010.80 11.3011.30
Author2Author2 30k30k 88k88k 0.040.04 1.551.55 17.0617.06 17.9917.99
PRankP and HITS converged in 20-30 iterations
31.05.200531.05.2005 Dominique HongDominique Hong 3838/37/37
Pro & ContraPro & Contra
Pro:Pro:– Algorithmen können die Bedeutung der Algorithmen können die Bedeutung der
Knoten relativ zu einer Wurzelknotenmenge Knoten relativ zu einer Wurzelknotenmenge bestimmenbestimmen
– Ergebnisse decken sich mit realen DatenErgebnisse decken sich mit realen Daten ContraContra
– Es wird eine Priori-Information über den Es wird eine Priori-Information über den Graph benötigtGraph benötigt
Offene Frage: Algorithmen ergeben Offene Frage: Algorithmen ergeben nicht die gleichen Ergebnisse??nicht die gleichen Ergebnisse??