# Fuzzy C-means and its stages of clustering

when dealing with soft and hard clustering techniques such as K-means and fuzzy C-means I run into abit of difficulty on the steps that FCM takes to calculate the clusters.

For instance in K-means the steps are as follows:

1. Chose number of clusters (K)
2. Initialize centroids (K patterns randomly chosen from data set)
3. Assign each pattern to the cluster with closest centroid
4. Calculate means of each cluster to be its new centroid
5. Repeat step 3 until a stopping criteria is met (no pattern move to another cluster)

Could some one explain the steps of fuzzy C-means?

1. Initialize $U=[u_{ij}]$ matrix, $U^{(0)}$
2. At k-step: claculate the centers vectors $C^{(k)}=[c_j]$ with $U^{(k)}$ $$c_j = \frac{\sum_{i=1}^N u_{ij}^{m}.x_i} {\sum_{i=1}^N u_{ij}^{m}}$$
3. Update $U^{(k)}$, $U^{(k+1)}$ $$u_{ij} = \frac{1} {\sum_{k=1}^C (\frac{||x_i-c_j||}{||x_i-c_k||})^{\frac{2}{m-1}}}$$
4. if $||U^{(k+1)}-U^{(k)}||<\epsilon$ then STOP; otherwise return to step 2