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