Page 92 - Algorithm Collections for Digital Signal Processing Applications using MATLAB
P. 92
80 Chapter 2
Consider the vector x1 belongs to the cluster 1 whose centroid is c1, then
(x1-c1)^2 must be minimized. But if the x1 belongs to cluster 1 with the
membership value m1, then m1*(x1-c1)^2 has to be minimized. Similarly x1
belongs to the cluster 2 whose centroid is c2. Also x1 belongs to the cluster 2
with membership value m2. Thus the term m2*(x1-c2)^2 also has to be
minimized.
Thus the fuzzy k-means problem is treated as the optimization technique
for obtaining the membership values along with the centroids of the
individual clusters such that
100 6 2
Σ Σ M ik 2 * (x -c ) is minimized
k
i
i=1 k=1
M ij is membership value of the vector xi belongs in the cluster k. Xi is the
th
th
i vector. c k is the k centroid.
The algorithm for obtaining the centroids along with membership values
is displayed below.
4.1 Fuzzy K-means Algorithm
Step 1: Intialize the membership values (M ij) randomly.
Step 2: Compute the centroids of the 6 clusters.
C1=[Vector1* (the member ship value of the vector 1 belongs to the
2
2
cluster 1) (i.e.) M 11 + Vector2* (the member ship value of the vector 2
2
2
belongs to the cluster 1) (i.e.) M 12 +… Vector100* (the member ship
2
2
value of the vector 100 belongs to the cluster 1) (i.e.) M 1,100 ]/
Sum of the squared values of the membership values belonging to the
cluster 1.
Similarly the centroids C2, C3, C4, C5 and C6 are obtained.
Step 3: Update the membership values M using the current values of the 6
centroids as given below.
2 2
2
M 11 = 1/ [((vector 1-c1) / (vector1 –c1) ) +
2
2 2
((vector 1-c1) / (vector1 –c2 ) +
2 2
2
((vector 1-c1) / (vector1 –c3 ) +
2
2 2
((vector 1-c1) / (vector1 –c4 ) +
2 2
2
((vector 1-c1) / (vector1 –c5 ) +
2
2 2
((vector 1-c1) / (vector1 –c6 ) ]