Sampling Algorithms for Pure Network Topologies

Werbung
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Sampling Algorithms for Pure Network Topologies
Viktor Seifert
Technische Universität Darmstadt
5.6.2007
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Inhaltsübersicht
1
Vorstellung des Themas
Worum geht es?
Problemstellungen und Ziele
2
Die einzelnen Typen und Algorithmen
Vorbemerkungen
Ring Lattice
Small World
Erdös Random
Scale Free
Core-Periphery
Cellular
3
Experimente & Auswertung
Experimente
Auswertung
Experimente & Auswertung
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
1
Vorstellung des Themas
Worum geht es?
Problemstellungen und Ziele
2
Die einzelnen Typen und Algorithmen
3
Experimente & Auswertung
Experimente & Auswertung
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Worum geht es?
Grundlagen
Data Mining auf Graphen
Muster und Regelmässigkeiten in Graphen finden
Mit Hilfe der Pure Network Topologies“
”
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Worum geht es?
Pure Network Topologies
Graphen G = (V , E )
Mit besonderen topologischen Eigenschaften
Formell oder informell definiert
Graphen mit gleichen Eigenschaften haben den gleichen pure
”
Type“
Beispiel: the six degrees of separation among individuals
”
observed by Milgram (1967) is captured by the small
world topology of Watts and Strogatz (1998)“
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Problemstellungen und Ziele
Problemstellungen
1
(Sampling) How can we generate topologies that have a set of
desired properties with high probability?
Algorithmen können determinstisch oder probabilistisch sein
Man kann recht einfach viele Graphen des gleichen Typs
generieren
Wenn man einen Algortithmus angeben kann dann hat man
vielleicht ein latentes Phänomen entdeckt
2
(Typing) How can we determine which pure topology type a
given network is closest to?
Man kann bestimmen welche Eigenschaften ein Netzwerk
hat(mit Unsicherheiten)
Man kann von einigen beobachteten Eigenschaften auf eine
Menge anderer Eigenschaften schließen
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Ende
Problemstellungen und Ziele
Ziele
Anschauliche Darstellung
Alg 1
Alg 2
Alg 3
Typ 1
Im Bild dargestellt:
gewünschte Eigenschaften
der Algorithmen und
Typen
X2
.
.
Typ 2
.
Typ 3
X1
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Ende
Problemstellungen und Ziele
Ziele
Anschauliche Darstellung
Alg 1
Alg 2
Alg 3
Typ 1
Ang. die Algorithmen und
Typen implizieren
Eigenschaften wie folgt:
Alg 1 ↔ E1 := {e1 , e2 }
X2
.
.
Typ 2
.
Alg 1 ↔ E2 := {e3 , e4 }
Typ 3
Alg 1 ↔ E3 := {e5 , e6 }
Typ1 ↔ E4 := {e7 , e8 }
X1
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Ende
Problemstellungen und Ziele
Ziele
Anschauliche Darstellung
Alg 1
Alg 2
Alg 3
Typ 1
Mit dem gewünschten
Verhalten ergibt sich
auch:
E4 → Typ1
X2
.
.
Typ 2
.
Typ1 →
(Alg 1∨Alg 2∨Alg 3∨Alg 4)
Typ 3
(Alg 1 ∨ Alg 2 ∨ Alg 3 ∨
Alg 4) → Typ1
X1
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Ende
Problemstellungen und Ziele
Ziele
Anschauliche Darstellung
Alg 1
Alg 2
Alg 3
Typ 1
Insgesamt folgt:
4
S
G→
Ei
X2
i=1
.
.
Für einen Graphen G mit
beobachteten
Eigenschaften Ei
Typ 2
.
Typ 3
X1
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Problemstellungen und Ziele
Kompression
Durch Algorithmen kann man einen Graphen evtl. auf eine
parameterisierte Darstellung reduzieren
spart Speicherplatz (speichern nur von Abweichungen)
und dadurch wird Data Mining erleichtert
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Ende
Problemstellungen und Ziele
Ziele
Unerwünschte Eigenschaften
Typen sind untrennbar
Alg 1
Alg 2
Alg 3
Typ 1
Inklusionskette ist
gebrochen
X2
.
.
Beobachtete
Eigenschaften können uf
mehrere Typen hinweisen
Typ 2
.
Typ 3
Es ist möglich dass es
keine Typen gibt
X1
Inhalt
Vorstellung des Themas
Typen & Algorithmen
1
Vorstellung des Themas
2
Die einzelnen Typen und Algorithmen
Vorbemerkungen
Ring Lattice
Small World
Erdös Random
Scale Free
Core-Periphery
Cellular
3
Experimente & Auswertung
Experimente & Auswertung
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Vorbemerkungen
Einige der folgenden Typen/Algorithmen gibt es gerichtet &
ungerichtet
Wir betrachten die ungerichteten Fälle
Man braucht ein, manchmal sogar 2, Distanzmaße auf den
Knoten (z.B. Ring-Induced-Distance, Euklidischer-Abstand)
Alle Graphen besitzen keine parallelen Kanten
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Ende
Ring Lattice
Typ 1
Jeder Knoten ist mit k
seiner nächsten Nachbarn
verbunden
Egibt die
Ring-Induced-Distance
Alle anderen Typen sind
auf diesem Ring definiert
und benutzen(meistens)
diese Distanz
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Ende
Ring Lattice
Algortithmus
Jeder Knoten wird einfach
mit k seiner nächsten
Nachbarn verbunden
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Ende
Small World
Small World - Typ 2
Jeder Knoten ist mit
einigen seiner nächsten
Nachbarn verbunden und
mit einigen wenigen
weiter entfernten Knoten
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Small World
Algorithmus 1
Parameter:
n = Anzahl der Knoten in G
k = Anzahl der Nachbarn für jeden Knoten
p = Wahrscheinlichkeit für Umsetzen der Kante
Eingabe: Ein Graph vom Typ1 (Ring Lattice)
Man ersetzt eine Kante zu einem Nachbarn mit
Wahrscheinlichkeit p mit einer beliebigen Kante.
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Small World
Algorithmus 1
Nützlich um Eigenschaften der Graphen für verschiedene
p ∈ [0, 1] zu untersuchen
für p = 0 bleibt G unverändert
für p = 1 erhält man einen zufälligen Graphen
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Small World
Test
Watts & Strogatz (1998) benutzten diesen Algorithmus um
die Eigenschaften von small world topologies zu untersuchen
Wenn für einen Graphen G gilt:
Lobserved < Lrandom ∧ Cobserved > Crandom
C = Clustering-Koeffizient
L = Durchschnittliche Länge eines kürzesten Pfades
Dann weist dies auf eine small world topology hin
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Small World
Algorithmus 2
Parameter:
n = Anzahl der Knoten in G
k = Anzahl der Nachbarn für jeden Knoten
l = Anzahl der Kontakte zu weiter entfernten Knoten
r = Exponent des power law
Eingabe: Ein Graph vom Typ Grid Lattice mit
Manhattan-Distanzen und Prametern (n.k)
Für jeden Knoten u fügt man l Kanten mit Wahrscheinlichkeit
proprtional zu d(u, v )−r zum Graphen hinzu
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Small World
Algorithmus 2
Analytisch einfacher zu behandeln
Vermischt nicht das Problem der nahen und fernen Kontakte
Fügt das letztere zum ersten hinzu
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Small World
Algorithmus 3
Parameter:
n = Anzahl der Knoten in G
k = Anzahl der Nachbarn für jeden Knoten
p1 = Wahrscheinlichkeit für Kontakt zum Nachbarn
p2 = Wahrscheinlichkeit für Kontakt zum weit entfernten
Knoten
r = Exponent des power law
Eingabe: Ein Graph vom Typ Grid Lattice mit
Manhattan-Distanzen und Prametern (n.k)
Für jeden Knoten macht man k mal folgendes:
Man entfernt eine Kante zu einem Nachbarn mit
Wahrscheinlichkeit 1 − p1
Man fügt eine Kante (u, v ) ein, mit Wahrscheinlichkeit p2
wobei v proportional zu d(u, v )−r gewählt ist
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Ende
Erdös Random
Erdös Random - Typ 3
Jeder Knoten ist mit einer
zufälligen Anzahl Knoten
verbunden
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Erdös Random
Algorithmus 1
Parameter:
n = Anzahl der Knoten in G
p = Wahrscheinlichkeit für eine Kante
Eine Kante wird mit Wahrscheinlichkeit p eingefügt
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Erdös Random
Algorithmus 2
Parameter:
n = Anzahl der Knoten in G
m = Anzahl der Kanten
Grob: m Kanten werden mit Wahrscheinlichkeit 1/n2 eingefügt
Der Algorithmus arbeitet mit einem Vektor aller möglichen
Kanten
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Ende
Scale Free
Scale Free - Typ 4
Einige wenige Knoten
(V1 ⊂ V ) sind mit vielen
anderen (aus V )
verbunden
Die anderen Knoten
(V2 := V − V1 ) sind nur
mit wenigen anderen (aus
V ) verbunden
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Scale Free
Algorithmus 1
Parameter:
n = Anzahl der Knoten in G
n0 = Anzahl der Knoten im initialen Graphen n0 < n
p, p0 Wahrscheinlichkeiten
Anfang: Zufälliger Graph (n0 , k0 )
Für alle Knoten v > n0 werden nun Kanten (v , u) mit
Wahrscheinlichkeit p hinzugefügt
u wird mit Wahrscheinlichkeit proprtional zum Grad von u
ausgwählt.
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Scale Free
Algorithmus 2
Parameter:
n = Anzahl der Knoten in G
m = Anzahl der Kanten
r = Exponent des power law
m mal werden Kanten mit Wahrscheinlichkeit
p(u,v ) = d(u, v )−r
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Ende
Core-Periphery
Core-Periphery - Typ 5
Die Knoten sind exklusiv
entweder im Kern C oder
in der Peripherie P
C ⊂ V,P ⊂ V,C ∩P = ∅
Es gibt keine
Verbindungen zwischen
Knoten aus P
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Core-Periphery
Algorithmen
Parameter:
n = Anzahl der Knoten in G
p = Anteil der Knoten im Kern
pin = Häufigkeit der Verbindungen zwischen Knoten im Kern
Beide gleich: Knoten werden mit Wahrscheinlichkeit p dem
Kern, ansonsten der Peripherie zugewiesen
Danach werden Knoten im Kern zufällig miteinander
verbunden
Das Verbinden von Knoten in der Peripherie mit Knoten im
Kern ist unterschiedlich:
Algorithmus 1: Jeder Knoten in der Peripherie wird mit einem
zufälligen Knoten im Kern verbunden
Algorithmus 2: Der Knoten aus dem Kern mit
Wahrscheinlichkeit proportional zu seinem Grad gewählt
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Ende
Cellular
Cellular - Typ 6
Knotenmenge ist in
Teilmengen/Zellen zerlegt
Viele Verbindungen
innerhalb der Zellen
Wenige Verbindungen
zwischen Zellen
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Cellular
Algorithmen
Parameter:
n = Anzahl der Knoten in G
k = Anzahl der Zellen
pin = Häufigkeit der Verbindungen innerhalb der Zellen
pout = Häufigkeit der Verbindungen zwischen den Zellen
Beide gleich: Knoten werden mit Wahrscheinlichkeit p dem
Kern, ansonsten der Peripherie zugewiesen
Beide gleich: Erzeugen zufälligen Graphen (k, pout ), und für
jede Zelle einen zufälligen Graphen (nk , pin )
Algorithmus 1:
Alle Zellen gleich groß
Knoten wird mit Wahrscheinlichkeit 1/k einer Zelle zugewiesen
Algorithmus 2:
Zusätzlicher Parameter r
Knoten wird einer Zelle i Wahrscheinlichkeit pi = 1/i r
zugewiesen (power law Verteilung)
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
1
Vorstellung des Themas
2
Die einzelnen Typen und Algorithmen
3
Experimente & Auswertung
Experimente
Auswertung
Experimente & Auswertung
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Experimente
Bestimmung des Typen
Generell 2 Ansätze: generativ & discriminativ
Generativ:
gegeben ein Graph G bestimmt man einen Satz Parameter für
die Algorithmen, so dass generierte Graphen mögicht ähnlich
sind
Wegen der verschiedenen Algorithmen nicht durchführbar
Discriminativ:
Man generiert viele Graphen
Für diese bestimmt man Metriken, 19 an der Zahl in den
Experimenten (Clustering-Koeffizient, Connectivity, ...)
Damit traimiert man Klassifizierer: naı̈ve Bayes, logistic
regression, maximum entropy, SVM, voted perceptron,
descision trees & k-nearest neighbour
Zum bestimmen des Fehlers: stratifizierte 5-Fold
Kreuz-Validierung
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Experimente
Experimente
Für jeden Parametersatz eines Algorithmus wurden min. 10
Graphen erzeugt
Ziele der Experimente:
1
Stabilität:
Erzeugen die verschiedenen Algorithmen auch den gleichen
Typ?
Möglichst hoher Fehler erwünscht
2
Trennbarkeit:
Sind Typen anhand der Metriken voneinander unterscheidbar?
Möglichst kleiner Fehler erwünscht
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Auswertung
Auswertung
Fehler für Gesamtproblem: 27,78%
SW 1.
SW 1.
SW 2.
SW 3.
SW 2.
16.04%
SW 3.
21.12%
13.31%
Schecht unterscheidbar
Klassifizierer könnten zu einfach sein
Experimente & Auswertung
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Auswertung
Auswertung
RL
Rnd
SW
SF
Cel
CP
RL
N/A
Rnd
27.00%
0.00%
SW
7.45%
41.22%
24.78%
SF
0.00%
27.94%
8.66%
0.07%
Cel
0.00%
32.55%
13.12%
26.45%
17.64%
CP
0.00%
25.00%
5.31%
33.33%
37.15%
50.00%
Algorithmen können eine low variability “für einen großen
”
Satz Prameter haben
d.h. Prameter ändern sich, aber nicht die Metriken
Test werden anfällig für verschiedene Algorithmen
Statistische Methoden nicht so zuverlässig
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Auswertung
Auswertung
RL
N/A
RL
Rnd
SW
SF
Cel
CP
Rnd
27.00%
0.00%
SW
7.45%
41.22%
24.78%
SF
0.00%
27.94%
8.66%
0.07%
Cel
0.00%
32.55%
13.12%
26.45%
17.64%
Generell 2 Typen unterscheidbar
1
2
Cellular, Core-Periphery, Scale Free
Small World
Beide teilen sich Eigenschaften mit Erdös Random
CP
0.00%
25.00%
5.31%
33.33%
37.15%
50.00%
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Auswertung
Auswertung
RL
Rnd
RL N/A 27.00%
0.00%
Rnd
SW
SF
Cel
CP
Allgemein gilt:
SW
7.45%
41.22%
24.78%
SF
0.00%
27.94%
8.66%
0.07%
Algorithmen sind nicht stabil
Typen sind nicht eindeutig trennbar
Cel
0.00%
32.55%
13.12%
26.45%
17.64%
CP
0.00%
25.00%
5.31%
33.33%
37.15%
50.00%
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Auswertung
Eigene Bemerkungen
Nicht klar ist ob das Ergebnis mit den Klassifizierern
zusammenhängt oder ob das voher gesagte wirklich gilt
Weitere Experimente wären angebracht (mehr Daten, andere
Klassifizierer)
Auch Versuche mit der generativen Methoden wären sicher
aufschlussreich
Ende
Inhalt
Vorstellung des Themas
Typen & Algorithmen
Experimente & Auswertung
Erstellt mit LATEX, Mai-Juni 2007 im Rahmen des Seminars aus
Data und Web Mining
Technische Universität Darmstadt, FG Knowedge Engineering,
Prof. Johannes Fürnkranz
Quellen:
Sampling Algorithms for Pure Network Topologies “
”
Edoardo M. Airoldi, School of Computer Science, Carnegie
Mellon University
Kathleen M. Carley, School of Computer Science, Carnegie
Mellon University
SIGKDD explorations 7(2):13-22, 2005
Ende
Herunterladen