Fuzzy C-Means
aus Wikipedia, der freien Enzyklopädie
Der Fuzzy C-Means (FCM) Algorithmus ist ein unüberwachter Clustering-Algorithmus, der auf einem Modell der Zielfunktions-Optimierung basiert. In einer generalisierten Form wurde er von Bezdek (1981) vorgestellt.
Der Begriff fuzzy beschreibt dabei eine Methode der Clusteranalyse, die es erlaubt, ein Objekt mehr als nur einem Cluster zuzuordnen. Ermöglicht wird dies dadurch, dass ein Grad der Zugehörigkeit (membership degree) uik des Objekts xk (k = 1,...,N) zu jedem Cluster i (i = 1,...,C) verwendet wird. Jedes uik liegt dabei im Intervall [0,1]. Je größer uik, desto stärker ist die Zugehörigkeit von xk zu i.
Die Zielfunktion des FCM-Algorithmus lautet:
Dabei gibt die quadrierten (euklidschen) Distanzen zwischen den Punkten xk und den Clusterzentren (Prototypen) vi aus der Matrix V an. Die Partitionsmatrix U gibt die membership degrees uik wieder. C ist die Anzahl an Clustern und N die Größe des Datensatzes. Der "fuzzifier" m(>1) bestimmt, wie scharf die Objekte den Clustern zugeordnet werden. Lässt man m gegen unendlich laufen, so nähern sich die uik dem Wert
an, d.h. die Zugehörigkeit der Punkte ist zu allen Clustern gleich groß. Liegt m nahe bei 1, so ist das Clustering scharf, d.h. die Zugehörigkeiten liegen näher bei 0 oder 1. In der Praxis haben sich für m Werte zwischen 1 und 2,5 als geeignet herausgestellt (vgl. Stutz (1999)). Die Werte uik und vi werden durch Minimierung der Zielfunktion J bestimmt. Die Objekte werden den Clustern also so zugeordnet, dass die Summe der quadrierten Abstände
minimal wird. Die Optimierung findet unter Nebenbedingungen statt:
1.) Für jeden Punkt ist die Summe der Zugehörigkeiten zu allen Clustern gleich 1:
2.) Die Cluster sind nicht-leer:
Zur Lösung des Minimierungs-Problems wird das Lagrangeverfahren angewandt. Die Lagrangefunktion
wird nach u,v, und λ abgeleitet. Als Lösung ergibt sich:
und
Der Algorithmus besteht dann aus den folgenden Schritten:
- Initialisiere eine Start-Partitionsmatrix U0
- Berechne die Prototypen Vr = [vi] im Iterationsschritt r
- Berechne die Partitionsmatrix Ur = [uik] im Iterationsschritt r
- Falls
dann Stopp. Sonst zurück zu Schritt 2
Dabei gibt ε einen kleinen Schwellenwert an.
[Bearbeiten] Literatur
- Christiane Stutz: Anwendungsspezifische Fuzzy-Clustermethoden (Dissertation zur künstlichen Intelligenz, TU München). Infix, Sankt Augustin 1999.
- James C. Bezdek: Pattern Recognition with Fuzzy Objective Function Algorithms. Plenum Press, New York 1981
[Bearbeiten] Siehe auch
[Bearbeiten] Weblinks
- A Tutorial on Clustering Algorithms: Online Tutorial mit interaktivem Demo für den Fuzzy C-Means Algorithmus.