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 ) ]
   87   88   89   90   91   92   93   94   95   96   97