Posted by Math-Man on March 27, 20011
In Reply to need help ?? how implementation fuzzy c-means posted by faris santa on March 27, 20011: help me please...!!!!!!
First a short intro for most readers who never heard of "fuzzy c-means"...
Fuzzy C-Means (FCM) clustering allows a set of data-points to belong to two or more clusters. Each point has a degree of belonging to the various clusters (between 0 and 1, as in fuzzy logic). Thus, points on the edge of a cluster, may be in the cluster to a lesser degree than points in the center of cluster.
Clustering is a common technique for statistical data analysis used in many fields, including machine learning, data mining, pattern recognition, image analysis, information retrieval, and bio-informatics.
FCM partitioning is carried out through an iterative method, where an algorithm is repeated until a calculated value becomes smaller than a given "error value" e (between 0 and one). The smaller e, the greater the precision and the more steps will be needed.
For each point X we have a coefficient Uk(x) giving the degree of being in the K-th cluster. Usually, the sum of those coefficients for any given X is defined to be 1.
With FCM, the "centroid" of a cluster is the mean of all points, weighted by their degree of belonging to the cluster ( this degree is related to the inverse of the distance to the cluster center).
The FCM algorithm is carried out as follows:
1. Choose a number of clusters.
2. Assign randomly to each point coefficients 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):
3.1 Compute the centroid for each cluster.
3.2 For each point, compute its coefficients of being in the clusters.
Gimme a few days to come up with an example and some code.