Clusteranalyse - Institut für Informatik

Werbung
Universität Potsdam
Institut für Informatik
Lehrstuhl Maschinelles Lernen
Clusteranalyse
Tobias Scheffer
Thomas Vanck
Überblick
Problemstellung/Motivation
 Deterministischer Ansatz: K-Means
 Probabilistischer Ansatz: Gaußsche Mischmodelle
 Scheffer/Vanck: Sprachtechnologie
 Bayesscher Ansatz: Gaußsche Mischmodelle +
Priors
2
Clusteranalyse: Was ist Clustern?
 Wir haben Datenpunkte
 Scheffer/Vanck: Sprachtechnologie
 Z.B.
Wir wollen Einteilung der Datenpunkte in „Cluster“
3
Clusteranalyse: Was ist Clustern?
  Annahme oft, dass Datenpunkte zu verschiedenen Klassen
gehören
Scheffer/Vanck: Sprachtechnologie
 …aber wir sehen keine Klassenlabels!
Nicht-überwachtes Lernen: rekonstruiere Klassen ohne Labels
4
Clusteranalyse: Anwendungen
Überblick über eine Dokumentenkollektion
Scheffer/Vanck: Sprachtechnologie
 Z.B. Suchmaschine: Suchwort „Kohl“
 Liefert grosse Menge von Dokumenten
 Helmut Kohl (Politik)
Kohl‘s (US Kaufhaus)
Kohl (Gemüse)
 Idee: zeige dem Nutzer die Cluster, um genauere
Auswahl des Themas zu ermöglichen
5
Clusteranalyse: Anwendungen
Spam Kampagnen identifizieren
 Scheffer/Vanck: Sprachtechnologie
 Spam-Kampagne: große Menge ähnlicher (aber nicht
gleicher) e-mails
Eine Kampagne ist ein deutlicher Cluster ähnlicher emails
 Attribute z.B. Worte die im e-mail Text auftauchen
 6
Clusteranalyse: Anwendungen
Erstellen der Wortklassen für n-gram
Klassenmodelle
 Scheffer/Vanck: Sprachtechnologie
 Erinnerung Vorlesung 3: n-gram Klassenmodell
„Wir sehen uns [Montag | Dienstag | Mittwoch | …] Nachmittag“
Wortklassen entsprechen Clustern
 Attribute z.B. Auftreten der Worte in bestimmten
Kontexten…
 7
Überblick
Problemstellung/Motivation
 Deterministischer Ansatz: K-Means
 Probabilistischer Ansatz: Gaußsches Mischmodell
 Scheffer/Vanck: Sprachtechnologie
 Bayesscher Ansatz: Gaußsches Mischmodell +
Priors
8
Problemstellung Clustering
(Deterministisch)
 Gegeben
 Daten
 Anzahl
mit
vermuteter Cluster
Oft problematisch
(woher wissen wir K?)
Gesucht
 Zuweisung der Daten zu Clustern
z.B.
 Clusterzentren
 So dass „Abstand zwischen Punkten im selben Cluster
klein und der Abstand zwischen Punkten in verschiedenen
Clustern groß ist“
9
Scheffer/Vanck: Sprachtechnologie
 Andere Attributtypen
(binär, nominal) möglich
Problemstellung Clustering
(Deterministisch)
 Gegeben
 Daten
 Anzahl
mit
vermuteter Cluster
Oft problematisch
(woher wissen wir K?)
Gesucht
 Zuweisung der Daten zu Clustern
z.B.
 Clusterzentren
 So dass der quadratische Abstand zum Clusterzentrum
minimiert wird:
10
Scheffer/Vanck: Sprachtechnologie
 Andere Attributtypen
(binär, nominal) möglich
K-Means Algorithmus
Gleichzeitiges Min. über
 Iterativer Algorithmus: Abwechselnde Minimierung
  und
schwierig
Starte mit zufälligen
Update
„Expectation“
„Maximization“
  Iteriere bis Konvergenz
Konvergenz sicher, weil J immer sinkt – aber im Allgemeinen
nur lokales Optimum
11
Scheffer/Vanck: Sprachtechnologie
 K-Means Algorithmus
Expectation Schritt
 Scheffer/Vanck: Sprachtechnologie
 Einfach: ordne jeden Punkt dem ihm nächsten Cluster(zentrum)
zu
12
K-Means Algorithmus
Maximization Schritt
 Scheffer/Vanck: Sprachtechnologie
 Ableitungen Null setzen
13
K-Means Algorithmus
Maximization Schritt
Scheffer/Vanck: Sprachtechnologie
 14
K-Means: Beispiel K = 2
Scheffer/Vanck: Sprachtechnologie
15
K-Means: Beispiel K = 2
Scheffer/Vanck: Sprachtechnologie
16
K-Means: Beispiel K = 2
Scheffer/Vanck: Sprachtechnologie
17
K-Means: Beispiel K = 2
Scheffer/Vanck: Sprachtechnologie
18
K-Means: Beispiel K = 2
Scheffer/Vanck: Sprachtechnologie
19
K-Means: Beispiel K = 2
Scheffer/Vanck: Sprachtechnologie
20
K-Means: Beispiel K = 2
Scheffer/Vanck: Sprachtechnologie
21
K-Means: Beispiel K = 2
Kostenfunktion J fällt kontinuierlich
Iterationen
Scheffer/Vanck: Sprachtechnologie
 22
Kommentare K-Means
 

   
   

Einfach zu implementieren
Relativ schnell:
Scheffer/Vanck: Sprachtechnologie
 O(NK) per Iteration
Beschleunigung durch Datenstrukturen zur effizienten
Berechnung des nächsten Clusterzentrums möglich
Nur lokales Optimum garantiert
unterschiedliche Startwerte = unterschiedliche Lösungen
Nicht probabilistisch
Muss Anzahl Cluster vorgeben
23
Probabilistisches Clustern besser
Clustern sollte Konfidenz liefern: für einige Datenpunkte
können wir keine sichere Entscheidung treffen!
Scheffer/Vanck: Sprachtechnologie
 Ursprüngliche Klassen
(nicht beobachtet)
Beobachtete Daten
Probabilistische Cluster
Clustern
Sicher Cluster 3!
Cluster 1 oder 2?
24
Vorgegebene Anzahl von Clustern?
Woher wissen wir, wie viele Cluster in Daten?
Scheffer/Vanck: Sprachtechnologie
 Manchmal klar aus der Anwendungsdomäne
 Oftmals aber auch unklar
  Anzahl Cluster sollte vom Clustering Algorithmus
(soweit möglich) mit bestimmt werden
25
Überblick
Problemstellung/Motivation
 Deterministischer Ansatz: k-Means
 Probabilistischer Ansatz: Gaußsches Mischmodell
 Scheffer/Vanck: Sprachtechnologie
 Bayesscher Ansatz: Gaußsches Mischmodell +
Priors
26
Probabilistisches Clustern mit
Generativem Modell
   Idee: Generatives Modell, dass die Daten erzeugt haben
könnte
Clusterzugehörigkeit ist eine versteckte Variable in
diesem Modell
Modell hat Parameter (Familie von Modellen)
Scheffer/Vanck: Sprachtechnologie
 Clustering:
 Gegeben die Daten
 Suche Parameter
, so dass die Wahrscheinlichkeit
dass Modell mit Parametern Daten erzeugt hat:
„Likelihood“
27
Probabilistisches Clustern: Gaußsches
Mischmodell
Ersetze feste Clusterzuweisungen
entsprechende Zufallsvariablen
 Zufallsvariable Clusterzugehörigkeit
 Generatives probabilistisches Modell
 Wähle erst einen Cluster
 Generiere dann Datenpunkt aus Cluster k
durch
Scheffer/Vanck: Sprachtechnologie
 28
Probabilistisches Clustern: Gaußsches
Mischmodell
Verteilung über Cluster: Mischgewichte
Scheffer/Vanck: Sprachtechnologie
 Wahrscheinlichkeit, Daten
aus Cluster k zu sehen
Resultierende Verteilung über z
 Gaußverteilung der Daten gegeben Cluster
Gaußverteilung
Clusterzentrum
Clusterkovarianz
 Gesamtmodell:
29
Beispiel Gaußsches Mischmodell
Gaußsches Mischmodell,
 Scheffer/Vanck: Sprachtechnologie
 K = 3, 500 Datenpunkte gezogen
Clusterzentren
Mischgewichte
Clusterkovarianzen
Geben an, wie die
Punkte um das
Clusterzentrum
streuen
30
Multivariate Gaußverteilung
Dichtefunktion
Scheffer/Vanck: Sprachtechnologie
 Kovarianz
Mittelwert (Mean)
Beispiel D=2
31
Multivariate Gaußverteilung
Dichtefunktion
Scheffer/Vanck: Sprachtechnologie
 Kovarianz
Mittelwert (Mean)
 Kovarianzmatrix beschreibt wie Dichte um den
Mittenwert streut
32
Gaußsches Mischmodell: Darstellung als
Graphisches Modell
Abhängigkeit zwischen Variablen
darstellbar
und
graphisch
Scheffer/Vanck: Sprachtechnologie
 „graphisches
Modell“
 Gegeben Daten
Zufallsvariablen
, haben wir auch N
für Clusterzugehörigkeit
„Plate Notation“
Beobachtete Variable
33
Problemstellung Gaußsches Mischmodell
Clustering (Maximum Likelihood)
 Gegeben Daten
Gesucht
   Scheffer/Vanck: Sprachtechnologie
 Mischgewichte
Clusterzentren
Clusterkovarianzen
 So dass (logarithmische) Likelihood maximal:
 Daraus lassen sich Clusterzugehörigkeiten berechnen
34
Problemstellung Gaußsches Mischmodell
Clustering (Maximum Likelihood)
 Gegeben Daten
Gesucht
   Scheffer/Vanck: Sprachtechnologie
 Mischgewichte
Clusterzentren
Clusterkovarianzen
35
EM Algorithmus für Maximum Likelihood
  Erinnerung (Vorlesung 4): Expectation-Maximization
Algorithmus zur Maximierung der Likelihood
Scheffer/Vanck: Sprachtechnologie
 Daten bestehen aus X (sichtbar) und Z (versteckt, hier
Clusterzugehörigkeit)
Idee: Likelihood Maximierung wäre leicht, wenn wir X
und Z hätten
Werte aller ZV in Modell beobachtet!
36
Erinnerung: EM Algorithmus
Aber Z nicht beobachtet!
 Idee: maximiere Q-Funktion
 Iteriere
 Expectation:
 Maximization:
 Theorem (Konvergenz):
Allerdings nur lokales Maximum
 Scheffer/Vanck: Sprachtechnologie
 Parameterwert
im letzten Schritt
37
EM für Gaußsches Mischmodell
Likelihood für vollständige Daten X,Z
 … Z ist allerdings unbekannt!
Scheffer/Vanck: Sprachtechnologie
 38
EM für Gaußsches Mischmodell
Q-Funktion für Gaußsches Mischmodell
Q-Funktion = Likelihood, in der die
durch ihre Erwartungswerte
(„Responsibilities“) ersetzt wurden! (Expectation Schritt)
Scheffer/Vanck: Sprachtechnologie
 39
EM für Gaußsches Mischmodell
Expectation Schritt: Berechnung der
„Responsibilities“
Scheffer/Vanck: Sprachtechnologie
 Bayes Regel
40
EM für Gaußsches Mischmodell
Maximization Schritt: maximiere
in
 Ergebnis (ohne Beweis):
 Wir definieren
„Erwartete Anzahl von Punkten in Cluster k“
 Dann
„Erwarteter Anteil von Punkten in Cluster k“
„Gewichteter Mittelwert für Cluster k“
41
Scheffer/Vanck: Sprachtechnologie
 EM für Gaußsches Mischmodell
Maximization Schritt: maximiere
in
 Ergebnis (ohne Beweis):
 Definieren
„Erwartete Anzahl von Punkten in Cluster k“
 Dann
„Gewichtete Kovarianz für Cluster k“
42
Scheffer/Vanck: Sprachtechnologie
 Vergleich mit K-Means
EM Zusammenfassung:
  Starte mit zufälligen
Expectation: berechne „Responsibilities“
„weiche“ Clusterzugehörigkeiten
 Maximization:
„Weiche“ Berechnung der
neuen Clusterzentren
 Gaußsches Mischmodell + EM ≈ „Weicher“ KMeans
43
Scheffer/Vanck: Sprachtechnologie
 Vergleich mit K-Means (formal)
Gaußsches Mischmodell mit festen Clusterkovarianzen
 Expectation:
 Maximization:
Scheffer/Vanck: Sprachtechnologie
 Für ε → 0 „harte“ Berechnung der
neuen Clusterzentren
 Im Grenzfall ε → 0 wird Gaußsches Mischmodell
zu K-Means
44
Beispiel Gaußsches Mischmodell
Clustering
Scheffer/Vanck: Sprachtechnologie
45
Beispiel Gaußsches Mischmodell
Clustering
Scheffer/Vanck: Sprachtechnologie
46
Beispiel Gaußsches Mischmodell
Clustering
Scheffer/Vanck: Sprachtechnologie
47
Beispiel Gaußsches Mischmodell
Clustering
Scheffer/Vanck: Sprachtechnologie
48
Beispiel Gaußsches Mischmodell
Clustering
Scheffer/Vanck: Sprachtechnologie
49
Problem I: Singularitäten
EM maximiert Likelihood
 Problem: Singularität für
   Scheffer/Vanck: Sprachtechnologie
 Likelihood wird unendlich für
!
„Overfitting“: Modell zu sehr an Daten angepasst
In der Praxis: Während EM diesen Fall detektieren und
entsprechende Clusterkomponente neu initialisieren
50
Problem II: Wie bestimmt man Anzahl der
Cluster?
Likelihood Funktion
 Je mehr Komponenten wir zulassen, desto größer wird
Scheffer/Vanck: Sprachtechnologie
 (bis Anzahl Komponenten = N)
   Modell mit N Clustern nutzlos!
Likelihood kann nicht über Anzahl Cluster entscheiden
Ebenfalls Overfitting Phänomen
51
Diskussion Gaußsches Mischmodell
Probabilistisches Verfahren 
 Singularitäten 
 Anzahl Cluster muss vorgegeben werden 
 Problem ist der „Maximum Likelihood“ Ansatz
  Scheffer/Vanck: Sprachtechnologie
 ML Ansatz erlaubt, Parameter zu sehr an den Datensatz
anzupassen (Overfitting)
Lösung: Regularisierung durch Prior
52
Herunterladen