Difference between revisions of "Fuzzy C-Means (FCM)"

From
Jump to: navigation, search
Line 20: Line 20:
 
# Choose a number of clusters.
 
# Choose a number of clusters.
 
# Assign coefficients randomly to each data point for being in the clusters.
 
# Assign coefficients randomly to each data point for being in the clusters.
# Repeat until the algorithm has converged (that is, the coefficients' change between two iterations is no more than {\displaystyle \varepsilon } \varepsilon , the given sensitivity threshold) :
+
# Repeat until the algorithm has converged (that is, the coefficients' change between two iterations is no more than E, the given sensitivity threshold) :
* Compute the centroid for each cluster (shown below).
+
* Compute the centroid for each cluster.
 
* For each data point, compute its coefficients of being in the clusters.
 
* For each data point, compute its coefficients of being in the clusters.
 
  
 
http://pythonhosted.org/scikit-fuzzy/_images/plot_cmeans_1.png
 
http://pythonhosted.org/scikit-fuzzy/_images/plot_cmeans_1.png

Revision as of 18:27, 22 April 2019

YouTube search... ...Google search

One of the most widely used fuzzy clustering algorithms is the Fuzzy C-means clustering (FCM) Algorithm. Fuzzy logic principles can be used to cluster multidimensional data, assigning each point a membership in each cluster center from 0 to 100 percent. This can be very powerful compared to traditional hard-thresholded clustering where every point is assigned a crisp, exact label.

The fuzzy c-means algorithm is very similar to the k-means algorithm:

  1. Choose a number of clusters.
  2. Assign coefficients randomly to each data point for being in the clusters.
  3. Repeat until the algorithm has converged (that is, the coefficients' change between two iterations is no more than E, the given sensitivity threshold) :
  • Compute the centroid for each cluster.
  • For each data point, compute its coefficients of being in the clusters.

plot_cmeans_1.png Fuzzy c-means clustering