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