Foliensatz 15: Clustering in Netzwerken

Werbung
Algorithmische Methoden zur
Netzwerkanalyse
Juniorprof. Dr. Henning Meyerhenke
Institut für Theoretische Informatik
1
Institutund
für Theoretische
KIT –Henning
Universität desMeyerhenke,
Landes Baden-Württemberg
nationales
Forschungszentrum
in der Helmholtz-Gemeinschaft
Algorithmische
Methoden
zur Netzwerkanalyse
Informatik
www.kit.edu
Vorlesung 15
Programm:
Fazit Netzwerkmodelle
Clusteranalyse in Graphen
2
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Fazit Netzwerkmodelle
ER: Gut mathematisch untersucht, unrealistisch
BA: Preferential attachment, recht gute Eigenschaften, skaliert
schlecht
CL: Gradfolge wird im Erwartungswert nachgebildet, gute
Eigenschaften
R-MAT: Gute Skalierung, schwach ausgeprägte Community-Struktur
Hyp. Netzwerke: Gute Eigenschaften, wenig intuitiv
Fazit: Wahl des Modells anwendungsabhängig
3
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Inhalt
Clusteranalyse von Graphen
Einführung
Komplexität
4
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Clusteranalyse von Graphen
Einführung
Stetig wachsende Datenflut
Schlagwort Big Data in aller Munde
Rasantes Wachstum der Menge von (irregulär strukturierten) Daten:
Teilchenbeschleuniger, Teleskope: Terabytes / Tag
Facebook: 1G+ Mitglieder, 1G+ Aktionen/Tag
Web-Graph, Log-Dateien, Smartphone-Aktionen
Big Data: Nicht nur Graphdaten, aber auch!
5
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Clusteranalyse von Graphen
Einführung
Was ist BIG?
Irregulär strukturierte Daten wachsen
mit enormer Geschwindigkeit:
Facebook: 1G+ Mitglieder,
durchschnittlich 130 Freunde,
1G + neue Inhalte pro Tag
Twitter: 1G Tweets pro Woche
Web-Graph
Finanztransaktionen
6
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
http://thecursedvalley.wordpress.com
Clusteranalyse von Graphen
Einführung
Gesundheitspolitische Erwägungen
Epidemien (Grippe, ...) sind in sozialen
Netzwerken nachvollziehbar
⇒ Lassen sich (gesundheits)politische
Entwicklungen durch Analyse von sozialen
Medien vorhersagen?
Zu bedenken:
Twitter: 1G+ Tweets/Woche
Andere Dienste auch relevant
Datenschutz
⇒ Zielkonflikt zwischen Laufzeit und Genauigkeit
7
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
http://thecursedvalley.
wordpress.com
Clusteranalyse von Graphen
Einführung
Community Detection
“Natürliche” Gruppen eines Netzwerks identifizieren
Komplexität reduzieren: Anwendung teurer Algorithmen nur auf Teile
des Netzwerks – aber welche?
Clusteranalyse (z. B. geometrisch)
Daten desselben Clusters sind sich ähnlich
Daten verschiedener Cluster sind sich unähnlich
Community Detection
Knoten desselben Clusters sind stark
miteinander verbunden
Knoten verschiedener Cluster sind schwach
miteinander verbunden
8
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
http://renardteipelke.
blogspot.com
Clusteranalyse von Graphen
Einführung
Community Detection
Problem (Graph Clustering / Community Detection)
Eingabe: Graph G = (V , E )
Ausgabe: Clusterung (Partition von V ), die Zielfunktion optimiert
Oft: Zielfunktion (ZF) wägt Anteil der internen Kanten, Anteil der
externen Kanten und Clustergrößen ab
Fast alle (interessanten) ZF sind N P -schwer zu optimieren
Weitere Anwendungen
Ähnliche Objekte finden (Gene, Produkte, Personen, ...)
Verteiltes Rechnen, Speichern
Visualisierung
9
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Clusteranalyse von Graphen
Einführung
Zielfunktion
Modularität
Frage: Wie formalisiert man Ähnlichkeit?
Populäre Zielfunktion (wenn auch mit Nachteilen):
Modularität (engl. modularity)
Man betrachtet die Differenz aus zwei Verhältnissen:
Anteil der tatsächlichen Intra-Cluster-Kanten
Erwarteter Anteil dieser Kanten in einem Zufallsgraphen mit gleicher
Gradfolge
q (C) =
∑
C ∈C
|E (C )|
−
m
∑v ∈C deg(v )
2m
2 !
Erklärung: Tafel/Übung!
Modularität hat einige bekannte Nachteile, z. B. das Auflösungsproblem (kann
man teilweise durch ein Gewichtungsschema beseitigen)
10
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Clusteranalyse von Graphen
Einführung
Inhalt
Clusteranalyse von Graphen
Einführung
Komplexität
11
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Clusteranalyse von Graphen
Komplexität
Modularität
Komplexität
Optimierung bzgl. Modularität ist streng N P -schwer
Problem 1: M ODULARITY
Gegeben ein Graph G und eine Zahl K , gibt es eine Clusterung C von G,
für die q (C) ≥ K gilt?
Problem 2: 3-PARTITION
Seien 3k positive ganze Zahlen a1 , . . . , a3k derart gegeben, dass
∑3k
i =1 ai = kb und b/4 < ai < b/2 für eine ganze Zahl b und alle
i = 1, . . . , 3k .
Gibt es eine Partition dieser Zahlen in k Mengen derart, dass die Zahlen
in jeder Menge in der Summe b ergeben?
Beispiel: Siehe Tafel!
12
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Clusteranalyse von Graphen
Komplexität
Komplexitätsbeweis
Vorüberlegungen zur Reduktion
3-PARTITION ist streng N P -vollständig, d.h. das Problem bleibt auch
bei unärer Kodierung N P -vollständig
⇒ Kein Algorithmus kann das Problem entscheiden in einer Zeit, die
polynomiell in der Summe der Eingabewerte ist (es sei denn,
P = N P)
Daher braucht unsere Transformation in der Reduktion auch nur
pseudo-polynomiell zu sein
Zeigen: Instanz A = {a1 , . . . , a3k } von 3-PARTITION kann derart in
Instanz (G (A), K (A)) von M ODULARITY transformiert werden, dass
G (A) genau dann eine Clusterung C mit q (C ) ≥ K hat, wenn
3-PARTITION lösbar ist.
13
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Clusteranalyse von Graphen
Komplexität
Reduktion
[Brandes et al., IEEE TKDE 2008]
14
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Clusteranalyse von Graphen
Komplexität
Komplexitätsbeweis
Hilfsresultate
Lemma
In einer Clusterung von G (A) mit maximaler Modularität wird keine der
Cliquen H1 , . . . , Hk geteilt.
Lemma
In einer Clusterung von G (A) mit maximaler Modularität enthält jeder
Cluster höchstens eine der Cliquen H1 , . . . , Hk .
Lemma
In einer Clusterung von G (A) mit maximaler Modularität besteht kein
Cluster ausschließlich aus Element-Knoten.
15
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Clusteranalyse von Graphen
Komplexität
Komplexitätsbeweis
Hauptteil (1)
Theorem (Brandes et al., IEEE TKDE 2008)
M ODULARITY ist streng N P -vollständig.
Beweis.
In Polynomialzeit lässt sich prüfen, ob q (C) ≥ K (A)
⇒ M ODULARITY ∈ N P
Zum Beweis der Vollständigkeit: Transformation wie an Tafel
beschrieben
Aus A = {a1 , . . . , a3k } wird (G (A), K (A))
Notation: Sei deg(Ci ) = ∑v ∈Ci deg(v ) (manchmal auch als Volumen
oder vol(Ci ) bezeichnet)
16
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Clusteranalyse von Graphen
Komplexität
Komplexitätsbeweis
Hauptteil (2)
Beweis.
Bestimmung von K (A): Betrachte Clusterung in G (A) mit genau k
Clique-Clustern
Da jede solche Clusterung genau (k − 1)a Inter-Cluster-Kanten hat:
∑
C ∈C
m − (k − 1)a
2(k − 1)a
2k − 2
|E (C )|
=
= 1−
= 1−
m
m
ka(a + 1)
k (a + 1)
⇒ Clusterung C = (C1 , . . . , Ck ) mit maximaler Modularität muss
deg(C1 )2 + · · · + deg(Ck )2 minimieren.
⇒ Erfordert Aufteilung der Element-Knoten zwischen den Clustern, die
so gleichmäßig wie möglich bzgl. der Summe der Knotengrade pro
Cluster ist
17
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Clusteranalyse von Graphen
Komplexität
Komplexitätsbeweis
Hauptteil (3)
Beweis.
Optimalfall: Jeder Cluster erhält Element-Knoten, die sich zu
b = 1/k · a aufsummieren
⇒ Summe der Knotengrade der Element-Knoten in jedem
Cliquen-Cluster gleich k · 1/k · a = a
⇒ deg(Ci ) = a2 + a für jeden Cliquen-Cluster Ci , i = 1, . . . , k
⇒ deg(C1 )2 + · · · + deg(Ck )2 ≥ k (a2 + a) = ka2 (a + 1)2
Gleichheit gilt nur, wenn eine Zuweisung von b an jeden Cluster
möglich ist
Fortsetzung an der Tafel
18
Henning Meyerhenke, Institut für Theoretische Informatik
Algorithmische Methoden zur Netzwerkanalyse
Clusteranalyse von Graphen
Komplexität
Herunterladen