Clustering Uwe Reichel IPS, LMU München reichelu@phonetik.uni-muenchen.de 19. Mai 2010
Inhalt Grundidee Vektoralgebra Distanzmaße Clusterrepräsentation Flaches Clustern Single Pass Reallokation Kmeans Vorabermittlung von Clusterzentren Hierarchisches Clustern Hartes vs. Weiches Clustern Validierung Inhalt 1
Praktisches Vorgehen Wann anwendbar? Behandlung von Ausreißern Normalisierung Clusterzentren Clustering Validierung Zusammenfassung: Parameter Inhalt 2
Grundidee Lernen Trainingsobjekte anhand von Merkmalsvektoren repräsentiert, aber noch nicht klassifiziert unüberwachtes Lernen nötig Ziel: Partitionierung der Objekte (Aufteilung in Cluster) dahingehend, dass einander ähnliche Objekte derselben Klasse zugewiesen werden und einander unähnliche Objekte in verschiedene Klassen fallen. Anwendung Zielfunktion f(x): weise einem neuen Objekt x diejenige Klasse c zu, deren Vertreter die geringste Distanz d zu x haben. ˆf(x) = arg min[d(x, c)] c Grundidee 3
Vektoralgebra zu klassifizierende Objekte werden als Merkmalsvektoren repräsentiert Vektor x der Länge n in kartesischer Koordinatenform: x = [x 1, x 2,..., x n ]. x k bezeichnet jeweils den Abstand (s.u.) zwischen x und dem Ursprung des Koordinatensystems in der k-ten Dimension. Im Kontext maschinellen Lernens bezieht sich x k auf den Wert des k ten Attributs des Objekts x. Vektoren sind in Polarkoordinatenform gegeben als das 2-Tupel <Betrag, Winkel> x : Betrag des Vektors x = seine Länge (Abstand zum Ursprung) = Euklid sche Distanz zum Ursprung n k=1 x2 k Vektoralgebra 4
x : Norm des Vektors x erfüllt folgende Bedingungen: 1. Positivität: x 0, x = 0 x = 0 2. Homogenität: c x = c x, c R 3. Dreiecksungleichung: x + y x + y Beispiele: Euklid sche Norm (=Euklid sche Distanz, s.o.) x = k x2 k Betragssummennorm (=Cityblock-Distanz, s.u.) x = k x k Vektoralgebra 5
Distanz- und Ähnlichkeitsmaße Allgemeines Was bedeutet einander ähnliche Objekte? Berechnung der Distanz/Ähnlichkeit zwischen zwei Punkten im n-dimensionalen Vektorraum, also zwischen zwei n-dimensionalen (Merkmals)vektoren Ein Distanz- bzw. Ähnlichkeitsmaß ist eine Metrik, d.h. es erfüllt die folgenden Bedingungen: Positivität, Definitheit: d(a, b) 0; d(a, b) = 0 a = b Symmetrie: d(a, b) = d(b, a) Dreiecksungleichung: d(a, c) d(a, b) + d(b, c) häufig ist die Distanz d von einem Ähnlichkeitsmaß s abgeleitet: d = 1 s Distanz- und Ähnlichkeitsmaße 6
Euklid sche Distanz d e (a, b) = (a i b i ) 2 i kürzester Weg von a nach b Cityblock-Distanz (Manhattan-Distanz) d c (a, b) = i a i b i kürzester Weg von a nach b in Manhattan (oder Mannheim) Addition der Abstände in jeder der n Dimensionen Distanz- und Ähnlichkeitsmaße 7
Abbildung 1: rot, gelb, blau: Manhattan-Distanz, grün: Euklid sche Distanz Distanz- und Ähnlichkeitsmaße 8
Jaccard-Distanz Distanzmaß für Binär-Vektoren d j (a, b) = n 01 + n 10 n 01 + n 10 + n 11 n 11 := count(i): a i = 1 b i = 1 n 10 := count(i): a i = 1 b i = 0 n 01 := count(i): a i = 0 b i = 1 Skalarprodukt nicht normalisiertes Ähnlichkeitsmaß d.h. wächst mit steigender Länge von a und b s s (a, b) = i a i b i Distanz- und Ähnlichkeitsmaße 9
Cosinus-Ähnlichkeit normalisiertes Ähnlichkeitsmaß: misst den Winkel zwischen den Vektoren a und b normalisiert auf Länge von a und b (Euklid sche Distanzen zum Ursprung) s c (a, b) = cos(a, b) = s s(a, b) a b i = a ib i i a2 i i b2 i (1) Divergenzmaße erfüllen eine oder mehr der oben genannten Eigenschaften einer Metrik nicht z.b. Relative Entropie Distanz- und Ähnlichkeitsmaße 10
Clusterrepräsentation nötig zur Berechnung der Distanz zwischen zwei Clustern (bzw. zwischen einem Vektor und einem Cluster) Single Link: Distanz zwischen den beiden ähnlichsten Punkten der beiden Cluster Complete Link: Distanz zwischen den beiden unähnlichsten Punkten der beiden Cluster Group Average Link: mittlere Distanz zwischen zwei Clustern Zentroid: Mittelwertsvektor z Vergleich der Zentroide zweier Cluster Clusterrepräsentation 11
Komplexität O(f(n)): maximal zu erwartender Aufwand (an Rechenzeit, Speicher, etc.) O, wenn ein Datensatz der Größe n mit einem Algorithmus, der f(n) Schritte benötigt, verarbeitet wird. geg. n 1 : Anzahl der Vektoren in Cluster c 1, n 2 : Anzahl der Vektoren in Cluster c 2 Single Link, Complete Link: O(n 1 n 2 ) (Vergleich jedes Objekts aus c 1 mit jedem aus c 2 ) Group Average Link: O((n 1 n 2 ) + (n 1 + n 2 )) (wie oben + Berechnung des Mittelwerts) 1 Zentroid: O(n 1 + n 2 ) (Berechnung der Zentroide aus c 1 und c 2 ) 1 Konstanten sind hier weggelassen. Clusterrepräsentation 12
Flaches Clustern Entstandene Cluster werden nicht weiter zusammengefasst oder unterteilt. Single Pass X Menge der zu clusternden Objekte s Schwellwert für max. erlaubte Distanz init: erstes Cluster mit einem zufällig gewählten x X als Inhalt foreach x X c ähnlichstes Cluster if d(c,x) s c [c, x] update Repräsentation(c) endif if x noch nicht zugeordnet lege ein neues Cluster mit dem Element x an endif endforeach Abbildung 2: Einfache Single-Pass-Methode für hartes Clustering: einmaliges Durchlaufen der zu clusternden Objekte. Flaches Clustern 13
Reallokation Während der fortschreitenden Aktualisierung der Clusterrepräsentationen kommt es i.d.r. dazu, dass bereits zugeordnete Objekte fremden Clustern ähnlicher werden als dem eigenen. Lösung: Wiederhole das Durchlaufen der Objekte mit Neuzuordnung (Reallokation) jedes Objekts zum ähnlichsten Cluster, solange bis kein Objekt mehr das Cluster wechselt, die Clusterrepräsentationen also stabil sind. Kmeans Algorithmus für hartes, flaches Clustern (s.u.) zu Beginn werden k Clusterzentren festgelegt (Repräsentation: Zentroid) dies geschieht entweder durch zufällige Auswahl von k Vektoren, oder durch Vorabermittlung potentieller Clusterzentren (s.u.) Flaches Clustern 14
alle anderen Punkte werden sukzessive einem der k Cluster zugewiesen, wobei die Clusterrepräsentation nach jeder Zuweisung neu ermittelt wird. Objekte werden solange realloziert, bis die Cluster stabil sind. anders als beim oben beschriebenen Single-Pass-Verfahren werden nach der Initialisierung keine neuen Cluster mehr angelegt. X Menge der zu clusternden Objekte k Anzahl der zu gewinnenden Cluster init: bestimme k Clusterzentren until alle Cluster stabil foreach x X c ähnlichstes Cluster c [c, x] update Clusterzentrum(c) endforeach enduntil Abbildung 3: Kmeans. Flaches Clustern 15
Vorabermittlung von Clusterzentren z.b. mittels Mountain Clustering oder subtraktivem Clustern subtraktives Clustern: Clusterzentren: Punkte x mit hoher Nachbarn-Dichte Nachbarn-Dichte D i für Punkt x i in Abhängigkeit der Abstände zu allen benachbarten Punkten x j innerhalb eines Unkreises mit Radius r a : D i = j i x j x e (ra/2) 2 (2) D i nimmt umso höhere Werte an, je größer die Anzahl der x j, die sich innerhalb des durch r a festgelegten Umkreises befinden, und je kleiner die Distanzen zwischen x i und diesen x j. Flaches Clustern 16
Der Punkt x cz mit der höchsten Dichte D cz wird als Clusterzentrum gewählt und entfernt. Die D k aller in einem Umkreis mit Radius r b verbleibenden Punkte x k werden folgendermaßen neu berechnet: D k = D k D cz e x k x cz (r b /2) 2 (3) Dieses Update führt dazu, dass die Dichte eines Punktes x k umso mehr reduziert wird, je näher er am gerade ermittelten Clusterzentrum liegt. Dadurch wird verhindert, dass Zentren zu nah beieinander liegen. durch iteratives Anwenden der Gleichungen 2 und 3 werden solange Clusterzentren erzeugt, bis ein Abbruchkriterium erfüllt ist. Abbruchkriterium (geg. Iterationsschritt j und festzulegenden Schwellwert c): z.b. D j cz/d 1 cz < c, d.h. das aktuell gefundene Dichtemaximum ist gegenüber dem zu Beginn gefundenen klein. beim Mountain Clustering wird ein Gitter in den Vektorraum gelegt und die die Nachbarn-Dichte anstatt für gegebene Datenpunkte für die Gitterschnittpunkte ermittelt (rechenaufwändiger). Flaches Clustern 17
Hierarchisches Clustern Bottom-up sukzessive Verbindung von Objekt-, bzw. Clusterpaaren, bis alle Objekte in einem Cluster (auf der obersten Hierarchieebene) enthalten sind Top-Down Ausgehend von einem Cluster werden die Objekte rekursiv in Subcluster partitioniert 2, bis sie alle voneinander getrennt sind. 2 rekursiv: Anwendung eines Verfahrens V auf das Ergebnis von V. Hier: Partitioniere entstandene Subcluster erneut in Subcluster bis keine weitere Partitionierung mehr möglich ist. Hierarchisches Clustern 18
Dendrogramm Abbildung 4: Dendrogramm Kantenlänge: Distanzen zwischen den Objekten im Teilbaum unter der Kante Hierarchisches Clustern 19
Pruning: Bestimmung der Hierarchieebenen, ab denen eine feinere Einteilung der Objekte nicht mehr gerechtfertigt ist: Inkonsistenz-Koeffizient für jede Kante: Messung der Distanzen zwischen den Objekte in dem Teilbaum unterhalb der Kante relativ zur durchschnittlichen Distanz in allen Teilbäumen, die von derselben Hierarchieebene abgehen je höher die Werte, die der Koeffizient annimmt, desto unähnlicher sind sich die Objekte in dem Teilbaum unterhalb der Kante und desto eher sind sie somit noch weiter partitionierbar Unterschreitet der Koeffizient einen festzulegenden Schwellwert, so werden die Objekte im zugehörigen Teilbaum zu einem Cluster zusammengefasst. Hierarchisches Clustern 20
Hartes vs. Weiches Clustern beim harten Clustern wird ein Objekt x genau einem Cluster zugeordnet alle bislang vorgestellten Methoden sind Verfahren für hartes Clustering beim weichen Clustern kann x mehreren Clustern zugeordnet werden Für den oben angegebenen Single-Pass-Algorithmus ergeben sich somit folgende Änderungen: Hartes vs. Weiches Clustern 21
X Menge der zu clusternden Objekte s Schwellwert für max. erlaubte Distanz init: erstes Cluster mit einem zufällig gewähltem Objekt als Inhalt foreach x X foreach Cluster c if d(c,x) s c [c, x] update Repräsentation(c) endif endforeach if x noch nicht zugeordnet lege ein neues Cluster mit dem Element x an endif endforeach Abbildung 5: Single-Pass-Methode für weiches Clustering. Fuzzy-Clustering: Jedem Objekt x wird für jede Clusterzugehörigkeit noch ein Wahrheitswert w zwischen 0 und 1 zugewiesen, der die Stärke der Objektzugehörigkeit angibt. z.b. w(x c 1 ) = 0.3, w(x c 2 ) = 0.7. x gehört also stärker zu c 2 als zu c 1. Hartes vs. Weiches Clustern 22
Validierung Gütekriterien Kompaktheit Separierbarkeit Anpassungsgüte des Dendrogramms Validierung 23
Validierungsmaße Dunn-Index DI (für hartes Clustering, nicht-hierarchische Clusterergebnisse) DI = arg min [ i,j d(ci, c j ) ] [ arg max k diam(ck ) ], d(c i, c j ): Single-Link-Distanz zwischen Clustern c i und c j diam(c k ): Durchmesser des Clusters c k = Distanz der am weitesten voneinander entfernten Punkte in c k gesucht wird also das am schlechtesten separierbare Clusterpaar c i, c j (Zähler) und das am wenigsten kompakte Cluster c k (Nenner) je separierbarer das Paar c i, c j und je kompakter c k, je besser also das Clusteringergebnis, desto höher DI Validierung 24
Cophenet Korrelationskoeffizient C (für hartes Clustering, hierarchische Clusterergebnisse) misst die Korrelation zwischen der Distanz zweier Objekte x i und x j im Dendrogramm und ihrer tatsächlichen Distanz, misst also die Präzision, mit der das Dendrogramm die tatsächlichen Verhältnisse wiederspiegelt tatsächliche Distanz: Euklid sche Distanz d(i, j) im Vektorraum Distanz im Dendrogramm: Hierarchiebene t(i, j) im Dendrogramm, in der x i und x j zusammengefasst werden C = i,j (d(i, j) µ d)(t(i, j) µ t ) i,j (d(i, j) µ d) 2 i,j (t(i, j) µ t) 2, µ d : arithmetisches Mittel aller d(i, j) µ t : arithmetisches Mittel aller t(i, j) c nimmt Werte zwischen 0 und 1 an, je höher, desto besser die Anpassung des Dendrogramms an die Daten. Validierung 25
Praktisches Vorgehen Wann anwendbar? wenn unüberwachtes Lernen nötig ist wenn folgende Variablentypen vorliegen unabhängige Variablen: kontinuierlich oder kategorial abhängige Variable: kategorial Praktisches Vorgehen 26
Behandlung von Ausreißern Ausreißer können das Clusterergebnis stark verzerren (v.a. bei Kmeans) und sollten daher vorab aus den Daten entfernt werden. Identifizierung unter Annahme normalverteilter Daten Test auf Normalverteilung multivariater Daten: z.b. Royston Test univariat (Merkmalsvektorlänge = 1): Grubb-Test, Chauvenet-Kriterium, Peirce-Kriterium multivariat (Merkmalsvektorlänge > 1): z.b. Wilk-Methode, getrennte Anwendung univariater Tests für jede Dimension Ausreißer sind diejenigen Vektoren, die sich an den äußersten Rändern der Normalverteilung (multivariat: der mehrdimensionalen Gaußglocke) befinden, also diejenigen Vektoren, die mit einer sehr geringen Irrtumswahrscheinlichkeit als nicht zugehörig betrachtet werden können. bei Test anzugeben: Signifikanzniveau (höchste akzeptierte Irrtumswahrscheinlichkeit) α α = 0.05 bedeutet: identifiziere nur Vektoren als Ausreißer, bei denen eine Irrtumswahrscheinlichkeit von maximal 5 % besteht. Das gilt für Vektoren, die mindestens zwei Standardabweichungen vom Zentroid entfernt liegen. Praktisches Vorgehen 27
Identifizierung ohne Annahme einer bestimmten Verteilung univariat: Ausreißer := Wert > oberes Quartil +1.5 Interquartilabstände < unteres Quartil 1.5 Interquartilabstände Abbildung 6: Boxplot. Waagrechte Linien von unten nach oben: Minimum, unteres Quartil (Wert größer-gleich 25% der Messwerte), Median ( 50%), oberes Quartil ( 75%), Maximum. Interquartilabstand = oberes Quartil - unteres Quartil. multivariat: getrennte Anwendung univariater verteilungsfreier Tests für jede Dimension Praktisches Vorgehen 28
Normalisierung Attribute mit einem großen Definitionsbereich gehen ungleich stärker in die Abstandsmessung ein als Attribute mit einem kleinen Definitionsbereich (vgl. Folien zu KNN) Normalisierung der Werte, um Vergleichbarkeit zu gewährleisten z-transformation: x X : x x mean(x) führt zu std(x) Standardnormalverteilung mit Mittelwert 0 und Standardabweichung 1. Normalisierung auf Intervall [0 1]: x X : x Bestimmung von Clusterzentren z.b. mittels subtraktiven Clusterns x min(x) max(x) min(x) um zu verhindern, dass Clusterzentren zu nah beieinander liegen wird in den Gleichungen 2 und 3 r b größer als r a gesetzt, i.d.r. r b = 1.5 r a Praktisches Vorgehen 29
Clustering Methoden Kmeans: niedrigste Komplexität O(n), aber anfällig gegenüber Ausreißern festzulegende Parameter bei Kmeans: u.a. Anzahl der Cluster bei subtraktivem Clustern: u.a. r a und r b bei hierarchischem Clustern: u.a. Schwellwert des Inkonsistenzkoeffizienten dazu: Distanzmaß, Clusterrepräsentation Clusterrepräsentationen: Single link führt zu langgezogenen Clustern Complete link führt zu kompakten Clustern Zentroid-Clustering am wenigsten rechenaufwändig Praktisches Vorgehen 30
Validierung Clusteringalgorithmen garantieren nur lokale Optima optimale Parameterkombinationen (s.o.) sind i.d.r. nicht bekannt aus diesen beiden Gründen sind Wiederholungen mit unterschiedlichen Initialisierungen nötig Ziel: finde das bestvalidierte Modell Zusammenfassung: einzustellende Parameter Features Clusterverfahren Anzahl der Cluster bzw. Distanzschwellwerte Clusterinitialisierung Clusterrepräsentation Validierungsmaß Darbietungsreihenfolge der Objekte Praktisches Vorgehen 31