Clusteranalyse
Unter Clusteranalyse (Clustering-Algorithmus, gelegentlich auch: Ballungsanalyse) versteht man Verfahren aus dem Bereich des Data Mining zur Strukturentdeckung in (großen) Datenbeständen. Die so gefundenen Gruppen von „ähnlichen“ Objekten werden als Cluster bezeichnet, die Gruppenzuordnung als Clustering. Die gefundene Gruppierung kann auch hierarchisch sein, also Untergruppen in Gruppen beschreiben.
Im Gegensatz zur Klassifikation ist das Ziel bei der Clusteranalyse neue Gruppen in den Daten zu identifizieren. Man spricht von einem „uninformierten Verfahren“, da es nicht auf Vorwissen angewiesen ist. Diese neuen Gruppen können anschließend beispielsweise zur automatischen Klassifizierung, zur Erkennung von Mustern in der Bildverarbeitung oder zur Marktsegmentierung eingesetzt werden (oder in beliebigen anderen Verfahren, die auf ein derartiges „Vorwissen“ angewiesen sind).
Die zahlreichen Algorithmen unterscheiden sich vor allem in ihrem Ähnlichkeits- und Gruppenbegriff, ihrem Datenmodell, ihrem algorithmischen Vorgehen (und damit ihrer Komplexität) und der Toleranz gegenüber Störungen in den Daten. Ob das von einem solchen Algorithmus generierte „Wissen“ nützlich ist, kann jedoch in der Regel nur ein Experte beurteilen. Ein Clusteringalgorithmus kann unter Umständen vorhandenes Wissen reproduzieren (beispielsweise Personendaten in die bekannten Gruppen „männlich“ und „weiblich“ unterteilen), oder auch für den Anwendungszweck nicht hilfreiche Gruppen generieren. Die gefundenen Gruppen lassen sich oft auch nicht verbal beschreiben (z.B. „männliche Personen“) sondern gemeinsame Eigenschaften erst durch nachträgliche Analyse identifizieren. Bei der Anwendung von Clusteranalyse ist es daher oft notwendig, verschiedene Verfahren und verschiedene Parameter zu probieren, die Daten vorzuverarbeiten und beispielsweise Attribute auszuwählen oder wegzulassen.
Beispiel
Angewendet auf einen Datensatz von Fahrzeugen, könnte ein Clustering beispielsweise folgende Sturktur liefern
Fahrzeuge | |||||||||||||||||||||||
Motorisiert | Manuell | ||||||||||||||||||||||
LKW | PKW | Fahrräder | |||||||||||||||||||||
Wobei ein Clustering-Algorithmus in der Regel keine Interpretation der gefundenen Gruppen liefert. Man würde also zunächst einfach nur „Gruppe 1“, „Gruppe 2“ usw. erhalten. Erst durch Analyse der gefundenen Gruppen kann man ermitteln, dass beispielsweise auf der ersten Ebene nach dem Vorhandensein eines Motors getrennt wurde, in der zweiten Ebene nach der Anzahl der Räder oder dem Gesamtgewicht. Die gefundenen Gruppen müssen auch nicht immer mit Klassen, wie sie ein Mensch wählen würde, übereinstimmen. Ein Clustering-Algorithmus hätte genauso gut die Fahrzeuge nach Farbe gruppieren können, oder auch einer beliebigen Attributkombination. Dadurch können auch Fehler entstehen, z.B. ein Moped in einer Gruppe die vorwiegend Fahrräder enthält.
Geschichte
Historisch gesehen stammt das Verfahren aus der Taxonomie in der Biologie, wo über eine Clusterung von verwandten Arten eine Ordnung der Lebewesen ermittelt wird. Allerdings wurden dort ursprünglich keine automatischen Berechnungsverfahren eingesetzt. Inzwischen können zur Bestimmung der Verwandtschaft von Organismen unter anderem ihre Gensequenzen verglichen werden. Siehe auch: Kladistik
Prinzip / Funktionsweise
Mathematische Modellierung
Die Eigenschaften der zu untersuchenden Objekte werden mathematisch als Zufallsvariablen aufgefasst. Sie werden in der Regel in Form von Vektoren als Punkte in einem Vektorraum dargestellt, deren Dimensionen die Eigenschaftsausprägungen des Objekts bilden. Bereiche, in denen sich Punkte anhäufen (Punktwolke), werden Cluster genannt. Bei Streudiagrammen dienen die Abstände der Punkte zueinander oder die Varianz innerhalb eines Clusters als sogenannte Proximitätsmaße, welche die Ähnlichkeit bzw. Unterschiedlichkeit zwischen den Objekten zum Ausdruck bringen.
Ein Cluster kann auch als eine Gruppe von Objekten definiert werden, die in Bezug auf einen berechneten Schwerpunkt eine minimale Abstandssumme haben. Dazu ist die Wahl eines Distanzmaßes erforderlich. In bestimmten Fällen sind die Abstände (bzw. umgekehrt die Ähnlichkeiten) der Objekte untereinander direkt bekannt, so dass sie nicht aus der Darstellung im Vektorraum ermittelt werden müssen.
Grundsätzliche Vorgehensweise
Schritte zur Clusterbildung
- Variablenauswahl: Auswahl (und Erhebung) der für die Untersuchung geeigneten Variablen
- Proximitätsbestimmung: Bestimmung der Distanz- bzw. Ähnlichkeitswerte zwischen den Objekten über ein geeignetes Proximitätsmaß. Es ergibt sich die Proximitätsmatrix
- Fusionierung: Bestimmung eines geeigneten Clusterverfahren bzw. Fusionierungsverfahren um anschliessend mit Hilfe des Verfahrens Gruppen/Cluster bilden zu können
- Bestimmung der optimalen Clusterzahl bzw. Clustergröße / Clusterzusammensetzung durch Verwendung der des gewählten Clusteralgorithmus
Weitere Schritte:
- Interpretation der Cluster
- Beurteilung der Güte der Clusterlösung
Variablenauswahl
Sofern die Variablen der Objekte/Elemente noch nicht bekannt/vorgegeben sind, müssen alle für die Untersuchung wichtigen Variablen bestimmt und anschließend ermittelt werden.
Proximitätsbestimmung
Abhängig vom der Art der Variablen, bzw. der Skalenart der Variablen, wird eine entsprechende Distanzfunktion zur Bestimmung des Abstandes (Distanz) zweier Elemente, oder eine Ähnlichkeitsfunktion zur Bestimmung der Ähnlichkeit verwendet. Die Variablen werden zunächst einzeln Verglichen und und aus der Distanz der einzelnen Variablen die Gesamtdistanz (oder Ähnlichkeit) berechnet. Die Funktion zur Bestimmung von Distanz oder Ähnlichkeit wird auch Proximitätsmaß genannt. Der durch ein Proximitätsmaß ermittelte Distanz-, bzw. Ähnlichkeitwert nennt sich Proximität. Werden alle Objekte miteinander verglichen ergibt sich eine Proximitätsmatix, welche jeweils zwei Objekten eine Proximität zuweist.
Fusionierung
Anschließend können die Objekte mit Hilfe von Gruppierungsverfahren (auch als Clusterverfahren oder Daten-Clustering-Algorithmen (vgl. Algorithmus) bezeichnet) zu Gruppen zusammenfassen. Zudem können noch Methoden zur Berechnung des Mittelpunktes eines Clusters verwendet werden.
Unterschiedliche Proximitätsmaße / Skalen
Die Skalen bezeichnen den Wertebereich, den die betrachtete(n) Variable(n) des Objektes annehmen kann. Je nachdem welche Art von Skala vorliegt, muss man ein passendes Proximitätsmaß verwenden. Es gibt drei Hauptkategorien von Skalen:
- Binäre Skalen
- die Variable kann zwei Werte z.B. 0 oder 1 annehmen z.B. männlich/weiblich.
- Verwendete Proximitätsmaße (Beispiele):
- Jaccard-Koeffizient (Ähnlichkeitsmaß)
- Lance-Williams-Maß (Distanzmaß)
- Nominale Skalen
- die Variable kann unterschiedliche Werte annehmen um eine qualitative Unterscheidung zu treffen, z.B. ob Pop, Rock oder Jazz bevorzugt wird.
- Verwendete Proximitätsmaße (Beispiele):
- Chi-Quadrat-Maß (Distanzmaß)
- Phi-Quadrat-Maß (Distanzmaß)
- Metrische Skalen
- die Variable nimmt einen Wert auf einer vorher festgelegten Skala eine quantitative Aussage zu treffen z.B. wie gerne eine Person Pop auf einer Skala von 1 bis 10 hört.
- Verwendete Proximitätsmaße (Beispiele):
- Pearson Korrelationskoeffizient (Ähnlichkeitsmaß)
- Euklidische (Distanzmaß)
- Miniskowski Metrik (Distanzmaß)
Formen der Gruppenbildung (Gruppenzugehörigkeit)
Es sind drei unterschiedliche Formen der Gruppenbildung (Gruppenzugehörigkeit) möglich. Bei den nichtüberlappenden Gruppen wird jedes Objekt nur einer Gruppe (Segment,Cluster) zugeordnet, bei den überlappenden Gruppen kann ein Objekt mehreren Gruppen zugeordnet werden, und bei dem Fuzzygruppen gehört ein Element jeder Gruppe mit einer bestimmten Wahrscheinlichkeit an.
Nichtüberlappend | |||||||||||||
Formen der Gruppenbildung | Überlappend | ||||||||||||
Fuzzy | |||||||||||||
Man unterscheidet man zwischen "harten" und "weichen" Clusteringalgorithmen. Harte Methoden (z. B. k-means, Spectral Clustering, Kernel PCA) ordnen jeden Datenpunkt genau einem Cluster zu, wohingegen bei weichen Methoden (z. B. EM-Algorithmus mit mixture-of-Gaussians model) jedem Datenpunkt für jeden Cluster eine Wahrscheinlichkeit zugeordnet wird mit der dieser Datenpunkt in diesem Cluster liegt. Weiche Methoden sind insbesondere dann nützlich wenn die Datenpunkte relativ homogen im Raum verteilt sind und die Cluster nur als Regionen mit erhöhter Datenpunktdichte in Erscheinung treten, d.h. wenn es z. B. fließende Übergänge zwischen den Clustern oder Hintergrundrauschen gibt (harte Methoden sind in diesem Fall unbrauchbar).
Unterscheidung der Clusterverfahren
Clusterverfahren lassen sich in graphentheoretische, hierarchische, partitionierende, und optimierende Verfahren sowie in weitere Unterverfahren einteilen.
- Partitionierende Verfahren
- verwenden eine gegebene Partitionierung und ordnen die Elemente durch Austauschfunktionen um, bis die verwendete Zielfunktion ein Optimum erreicht. Zusätzliche Gruppen können jedoch nicht gebildet werden, da die Anzahl der Cluster bereits am Anfang festgelegt wird (vgl. hierarchische Verfahren).
- Hierarchische Verfahren
- gehen von der gröbsten (agglomerativ bzw. bottom-up) bzw. feinsten (divisiv bzw. top-down) Partition aus (vgl. Top-down und Bottom-up). Die gröbste Partition entspricht der Gesamtheit aller Elemente und die feinste Partition enthält lediglich ein Element bzw. jedes Element bildet seine eigene Gruppe/Partition. Durch Aufteilen bzw. Zusammenfassen lassen sich anschließend Cluster bilden. Einmal gebildete Gruppen können nicht mehr aufgelöst oder einzelne Elemente getauscht werden (vgl. partitionierende Verfahren). Agglomerative Verfahren kommen in der Praxis (z.B. der Marktsegementierung im Marketing) sehr viel häufiger vor.
graphentheoretisch | |||||||||||||||||||||||||||
divisiv | |||||||||||||||||||||||||||
hierarchisch | |||||||||||||||||||||||||||
agglomerativ | |||||||||||||||||||||||||||
Clusterverfahren | |||||||||||||||||||||||||||
Austauschverfahren | |||||||||||||||||||||||||||
partitionierend | |||||||||||||||||||||||||||
iterierte Minimaldistanzverfahren | |||||||||||||||||||||||||||
optimierend | |||||||||||||||||||||||||||
Zu beachten ist, dass man noch diverse weitere Verfahren und Algorithmen unterscheidet kann, unter anderem überwachten (supervised) und nicht-überwachten (unsupervised) Algorithmen oder modellbasierte Algorithmen, bei denen eine Annahme über die zugrundeliegende Verteilung der Daten gemacht wird (z. B. mixture-of-Gaussians model).
Algorithmen / Verfahren
Graphentheoretische Cluster
DBSCAN – Dichteverbundene Cluster
Grundlagen Bei dichtebasiertem Clustering werden Cluster als Objekte in einem d-dimensionalen Raum betrachtet, welche dicht beieinander liegen, getrennt durch Gebiete mit geringerer Dichte.
Grundbegriffe
- Ein Objekt o ∈ O heißt Kernobjekt, wenn gilt: |Nε(o)| ≥ MinPts, wobei Nε(o) = {o’ ∈ O | dist(o, o’) ≤ ε}.
- Ein Objekt p ∈ O ist direkt dichte-erreichbar von q ∈ O bzgl. ε und MinPts, wenn gilt: p ∈ Nε(q) und q ist ein Kernobjekt in O.
- Ein Objekt p ist dichte-erreichbar von q, wenn es eine Kette von direkt erreichbaren Objekten zwischen q und p gibt.
- Zwei Objekte p und q sind dichte-verbunden, wenn sie beide von einem dritten Objekt o aus dichte-erreichbar sind.
- Ein Cluster C bzgl. ε und MinPts ist eine nicht-leere Teilmenge von O, für die die folgenden Bedingungen erfüllt sind:
- Maximalität: ∀ p, q ∈ O: wenn p ∈ C und q dichte-erreichbar von p ist, dann ist auch q ∈ C.
- Verbundenheit: ∀ p, q ∈ C: p ist dichte-verbunden mit q.
Eine wichtige Erweiterung von DBSCAN ist der Algorithmus OPTICS, der auch Cluster unterschiedlicher Dichte erkennen kann, ein hierarchisches Ergebnis liefert, und eine visuelle Evaluierung erlaubt.
Cliquen und Zusammenhangskomponenten
Zwei Extreme bei der Clusterung in Netzwerken bilden die Einteilung in Zusammenhangskomponenten (Single Link) und in Cliquen.
Hierarchische Clusterverfahren
Agglomeratives Verfahren
Beschreibung der agglomerativen Verfahren
Beim Anhäufen der Cluster wird zunächst jedes Objekt als ein eigener Cluster mit einem Element aufgefasst. Nun werden in jedem Schritt die jeweils einander nächsten Cluster zu einem Cluster zusammengefasst. Das Verfahren kann beendet werden, wenn alle Cluster eine bestimmte Distanz zueinander überschreiten oder wenn eine genügend kleine Zahl von Clustern ermittelt worden ist.
- agglomerative Verfahren
- Single Linkage
- Complete Linkage
- Average Linkage
- Centroid
- Medoid
- Median
- Ward
Mathematische Beschreibung der agglomerativen Verfahren
Berechnet werden kann der Abstand zweier Cluster und beispielsweise über eine der folgenden Distanzfunktionen ( ist hierbei der Abstand von zwei einzelnen Objekten):
- Der minimale Abstand zweier Elemente aus den beiden Clustern (single linkage clustering)
-
Single Linkage Abstand
- Der maximale Abstand zweier Elemente aus den beiden Clustern (complete linkage clustering)
-
Complete Linkage Abstand
- Der durchschnittliche Abstand aller Elementpaare aus den beiden Clustern (average linkage clustering)
-
Mittelwert-Abstand
- Der durchschnittliche Abstand aller Elementpaare aus der Vereinigung von A und B (average group linkage)
- Der Abstand der Mittelwerte der beiden Cluster (centroid method)
Wobei der Mittelwert des Clusters sei, des Clusters .
- Die Zunahme der Varianz beim Vereinigen von A und B (Ward’s method)
Wobei der Mittelwert des Clusters sei, des Clusters .
Weitere Methoden: Density Linkage, Uniform-Kernel, Wong’s Hybrid, EML, Flexible-Beta, McQuitty’s Similarity Analysis, Medoid
Von praktischer Relevanz ist hierbei vor allem "single linkage", da es mit dem Algorithmus SLINK eine effiziente Berechnungsmethode gibt.
Visualisierung
Zur Visualisierung der bei einer hierarchischen Clusterung entstehenden Baumstruktur kann das Dendrogramm (griech. δένδρον (dendron) = Baum) genutzt werden. Das Dendrogramm ist ein Baum, der die hierarchische Zerlegung der Datenmenge in immer kleinere Teilmengen darstellt. Die Wurzel repräsentiert ein einziges Cluster, das die gesamte Menge enthält. Die Blätter des Baumes repräsentieren Cluster, in denen sich je ein einzelnes Objekt der Datenmenge befindet. Ein innerer Knoten repräsentiert die Vereinigung aller seiner Kindknoten. Jede Kante zwischen einem Knoten und einem seiner Kindknoten hat als Attribut noch die Distanz zwischen den beiden repräsentierenden Mengen von Objekten.
Dendrogramm: Die Objekte b und c, sowie d und e liegen sehr dicht zusammen, während f und a sich weiter entfernt davon befinden, siehe [1].
Partitionierende Clusterverfahren
k-means-Algorithmus
Beim k-means Algorithmus wird die Anzahl von Clustern vor dem Start festgelegt. Eine Funktion zur Berechnung des Abstands zweier Messungen muss gegeben und kompatibel zur Mittelwertbildung sein.
Der Algorithmus läuft folgendermaßen ab:
- Initialisierung: (zufällige) Auswahl von Clusterzentren
- Zuordnung: Jedes Objekt wird dem ihm am nächsten liegenden Clusterzentrum zugeordnet
- Neuberechnung: Es werden für jeden Cluster die Clusterzentren neu berechnet
- Wiederholung: Falls sich nun die Zuordnung der Objekte ändert, weiter mit Schritt 2, sonst Abbruch
Eigenheiten k-means-Algorithmus
- Der k-means-Algorithmus liefert für unterschiedliche Startpositionen der Clusterzentren möglicherweise unterschiedliche Ergebnisse.
- Es muss k geeignet gewählt werden, und die Qualität des Ergebnisses hängt stark von den Startpositionen ab.
- Es kann sein, dass ein Cluster in einem Schritt leer bleibt und somit (mangels Berechenbarkeit eines Clusterzentrums) nicht mehr gefüllt werden kann.
- Ein optimales Clustering zu finden gehört zur Komplexitätsklasse NP. Der k-means Algorithmus findet nicht notwendigerweise die optimale Lösung, ist aber sehr schnell.
Um diese Probleme zu umgehen, startet man den k-means-Algorithmus einfach neu in der Hoffnung, dass beim nächsten Lauf durch andere zufällige Clusterzentren ein anderes Ergebnis geliefert wird. Wegen der obigen theoretischen Unzulänglichkeiten gilt der k-means-Algorithmus als „quick’n’dirty“-Heuristik, weil er dennoch oft brauchbare Resultate liefert.
Der isodata-Algorithmus kann als Spezialfall von k-means angesehen werden.
EM-Algorithmus
Die Idee des EM-Algorithmus basiert auf dem Clustern nach k-means. Grundvoraussetzung ist, dass alle Objekte als Vektoren der Dimension dargestellt werden können, wobei beliebig gewählt werden kann. Weiterhin muss eine Funktion bekannt sein, nach welcher der Mittelwert zweier solcher Vektoren berechnet werden kann. Wie bei k-means wird zu Beginn des Clustervorgangs eine beliebige, domänenspezifische Anzahl von Clustern gewählt. Die Zugehörigkeitswahrscheinlichkeit eines Objektes zu einem Cluster soll mit einer zu bestimmenden Wahrscheinlichkeit angegeben werden. Jeder Cluster hat einen Mittelpunkt, welcher durch einen n-dimensionalen Vektor beschrieben wird.
Der Clusteralgorithmus selbst durchläuft zwei Schritte:
- Expectation: Bestimme für jedes Objekt nach einer beliebigen Wahrscheinlichkeitsverteilung (beispielsweise der Normalverteilung), mit welcher Wahrscheinlichkeit es zu jedem der Cluster gehört und speichere diese Wahrscheinlichkeiten für alle Objekte und Cluster.
- Maximization: Bestimme anhand der ermittelten Zuordnungswahrscheinlichkeiten die Parameter neu, welche die Cluster bestimmen (beispielsweise die Mittelwertvektoren).
Die Iteration wird abgebrochen, wenn entweder die Änderung der Likelihood der Daten gegeben die Clustern unter einen vorgegebenen Schwellenwert sinkt, oder die ebenfalls vorgegebene maximale Anzahl von Iterationen erreicht ist.
Im Gegensatz zu k-means wird damit eine „weiche“ Clusterzuordnung erreicht: Mit einer gewissen Wahrscheinlichkeit gehört jedes Objekt zu jedem Cluster. Jedes Objekt beeinflusst so die Parameter jedes Clusters entsprechend dieser Wahrscheinlichkeit. Der Erfolg des Algorithmus hängt stark von der angenommenen Wahrscheinlichkeitsverteilung ab.
Spectral Clustering
Dieser Algorithmus wird häufig in der Bildverarbeitung eingesetzt, kann aber auch zum Clustern von Websuchergebnissen verwendet werden.
- Input: Adjazenzmatrix A, die die paarweisen Ähnlichkeiten der zu clusternden Objekte enthält
- Finde einen Schnitt durch diesen Graphen so, dass möglichst wenig Verbindungen zwischen ähnlichen Instanzen durchtrennt werden
- solange nicht die gewünschte Anzahl Clustern erreicht ist: zurück zu 2.
Maximum Margin Clustering
Problemstellung: Beim Clustering existieren keine Labels zu den Beispielen. Die Aufgabe ist es, ein Labeling der Instanzen zu finden, das den größten Abstand (margin) zwischen den Clustern ermöglicht.
Naiver Ansatz zur Lösung des Problems:
- Input: Eine Menge von ungelabelten Beispielen
- Finde eine mögliche Clusteraufteilung und bezeichne alle Beispiele eines Clusters mit dem gleichen Label!
- Trainiere einen Large Margin Classifier (z. B. Support Vector Machine) auf den so entstandenen gelabelten Beispielen und bestimme die Größe des Margins!
- Zurück zu 2, solange die ideale Clusteraufteilung nicht gefunden wurde.
Multiview Clustering
Übliche Clusteralgorithmen können nur in einem Vektorraum clustern. Der Multiviewansatz ermöglicht das parallele Clustern in verschiedenen Vektorräumen. Webseiten können z. B. im TF-IDF-Raum dargestellt werden. Dann wird jedem Eintrag im Featurevektor die Häufigkeit des Wortes im gegebenen Dokument zugewiesen. Andererseits können sie auch als Summe ihrer eingehenden Links aufgefasst werden – dann enthält jeder Eintrag im Featurevektor genau dann eine 1, wenn von der entsprechenden Quellseite ein Link auf die aktuelle Seite existiert. Kombiniert man diese beiden Views mittels Multiview Clustering, so sind die resultierenden Ergebnisse nachweisbar qualitativ besser als bei einfacher Konkatenation der Featurevektoren.
Ablauf des Algorithmus am Beispiel Webseiten:
- Initialisiere die Mittelwertvektoren eines k-Means Algorithmus auf Basis der TFIDF Vektoren
- Ordne die Instanzen entsprechend ihrer TFIDF Repräsentation dem ihnen am nächsten gelegenen Cluster zu
- Initialisiere die Mittelwertvektoren eines zweiten k-Means auf Basis der in 2 entstandenen Clusterzuordnungen und der Linkvektoren
- Ordne die Instanzen entsprechend ihren Linkvektoren dem ihnen am nächsten gelegenes Cluster zu
- zurück zu 1, solange sich die Zuordnung der Instanzen zu Clustern noch ändert.
Self-Organizing Maps (SOMs)
siehe Self-Organizing Maps.
Fuzzy Clustering
Objektmengen können Elemente enthalten, die aufgrund mehrdeutiger Datenbefunde für keines der ermittelten Cluster prototypisch sind und mehreren Clustern zugeordnet werden könnten. Beim Fuzzy-Clustering werden Objekte unscharf (also mit einem bestimmten Zugehörigkeitsgrad) auf Cluster verteilt. Im Spezialfall der Zugehörigkeit = 1 bzw. der Zugehörigkeit = 0 ist das Element einem Cluster vollständig bzw. überhaupt nicht zugehörig. Der bekannteste Fuzzy-Clustering Algorithmus ist der Fuzzy C-Means Algorithmus.
Literatur
- Backhaus, K., Erichson, B., Plinke, W., Weiber, R. Multivariate Analysemethoden. Springer
- Bickel, S., Scheffer, T., Multi-View Clustering. Proceedings of the IEEE International Conference on Data Mining, 2004
- Bortz, J. (1999), Statistik für Sozialwissenschaftler. (Kap. 16, Clusteranalyse). Berlin: Springer
- Dempster, A., Laird, N. and Rubin, D., Maximum likelihood from incomplete data via the EM algorithm. Journal of the Royal Statistical Society B 39, 1977
- Ester, M. and Sander, J. Knowledge Discovery in Databases. Techniken und Anwendungen, Springer, Berlin, 2000
- Härdle, W.; Simar, L. Applied Multivariate Statistical Analysis, Springer, New York, 2003
- Homburg, C., Krohmer. H. Marketingmanagement: Strategie - Instrumente - Umsetzung - Unternehmensführung, 3 Edition, Kapitel 8.2.2, Gabler, Wiesbaden, 2009
- Moosbrugger, H., Frank, D. (1992). Clusteranalytische Methoden. Bern: Huber
- Shi, J., Malik, J. Normalized Cuts and Image Segmentation, in Proc. of IEEE Conf. on Comp. Vision and Pattern Recognition, Puerto Rico 1997
- Xu, L., Neufeld, J., Larson, B. and Schuurmans, D., Maximum margin clustering. in Advances in Neural Information Processing Systems 17 (NIPS*2004), 2004
Einzelnachweise