# Fuzzy C-Means Clustering Algorithm with Multiple Fuzzification Coefficients
## 3 Fuzzy C-Means Clustering with Multiple Fuzzification Coefficients (MC-FCM)
### Derivation of the MC-FCM Clustering Algorithm  
In this section, we derive the fuzzy C-means clustering algorithm with multiple fuzzification coefficients (MC-FCM). The objective function to be minimized in the MC-FCM algorithm is formulated as follows,  
\[J(U,V)=\sum\limits_{i=1}^{N}\sum\limits_{k=1}^{C}U(i,k)^{m_{i}}D(i,k)^{2} \tag{5}\]  
where \(X=\{X_{1},X_{2},\ldots,X_{N}\}\) is the dataset, \(N\) is the number of elements, \(C\) is the number of clusters, \(U(i,k)\) is the membership value of element \(X_{i}\) in the cluster with center \(V_{k}\), \(0\leq U(i,k)\leq 1\), \(1\leq i\leq N\)\(1\leq k\leq C\), \(\sum\limits_{k=1}^{C}\ U(i,k)=1\), \(\sum\limits_{i=1}^{N}U(i,k)>0\), \(m_{i}\in[m_{L},m_{U}]\) is the fuzzification coefficient of \(X_{i}\) and \(D(i,k)^{2}=\left\|X_{i}-V_{k}\right\|^{2}\) is the distance between two vectors \(X_{i}\) and \(V_{k}\).  
To solve the optimization problem shown in Equation (5), we employ the Lagrange multiplier method. Let  
\[L=\sum\limits_{i=1}^{N}\sum\limits_{k=1}^{C}U(i,k)^{m_{i}}D(i,k)^{2}-\sum \limits_{i=1}^{N}\lambda_{i}\left(\sum\limits_{k=1}^{C}U(i,k)-1\right) \tag{6}\]  
Furthermore, with  
\[\begin{cases}\frac{\partial L}{\partial U(i,k)}=0,&1\leq i\leq N,1\leq k\leq C \\ \frac{\partial L}{\partial V_{k}}=0,&1\leq k\leq C\end{cases}\]  
we can compute \(V_{k}\) using  
\[\frac{\partial L}{\partial V_{k}}=\frac{\partial\left[\sum\limits_{i=1}^{N}U (i,k)^{m_{i}}(X_{i}-V_{k})^{2}\right]}{\partial V_{k}}=\sum\limits_{i=1}^{N} U(i,k)^{m_{i}}\cdot 2\cdot(X_{i}-V_{k})\cdot(-1)=0\]  
hence, we have  
\[\sum\limits_{i=1}^{N}U(i,k)^{m_{i}}X_{i}=\sum\limits_{i=1}^{N}U(i,k)^{m_{i}}V _{k}\]  
or  
\[V_{k}=\frac{\sum\limits_{i=1}^{N}U(i,k)^{m_{i}}X_{i}}{\sum\limits_{i=1}^{N}U( i,k)^{m_{i}}} \tag{7}\]  
Next, we compute \(U(i,k)\) using  
\[\frac{\partial L}{\partial U(i,k)}=m_{i}U(i,k)^{m_{i}-1}D(i,k)^{2}-\lambda_{i }=0\]  
which implies  
\[U(i,k)=\left(\frac{\lambda_{i}}{m_{i}D(i,k)^{2}}\right)^{\frac{1}{m_{i}-1}}= \left(\frac{\lambda_{i}}{m_{i}}\right)^{\frac{1}{m_{i}-1}}\left(\frac{1}{D(i, k)}\right)^{\frac{2}{m_{i}-1}} \tag{8}\]  
Because \(\sum\limits_{j=1}^{C}U(i,j)=1\), we have \(\sum\limits_{j=1}^{C}\left(\frac{\lambda_{i}}{m_{i}D(i,j)^{2}}\right)^{\frac{ 1}{m_{i}-1}}=1\),  
or \(\left(\frac{\lambda_{i}}{m_{i}}\right)^{\frac{1}{m_{i}-1}}=\frac{1}{\sum \limits_{j=1}^{C}\left(\frac{1}{D(i,j)^{2}}\right)^{\frac{1}{m_{i}-1}}}=\frac {1}{\sum\limits_{j=1}^{C}\left(\frac{1}{D(i,j)}\right)^{\frac{2}{m_{i}-1}}}\) (9)  
Replacing (9) into (8), we have  
\[U(i,k)=\left(\frac{\lambda_{i}}{m_{i}D(i,k)^{2}}\right)^{\frac{1}{m_{i}-1}}= \frac{\left(\frac{1}{D(i,k)}\right)^{\frac{2}{m_{i}-1}}}{\sum\limits_{j=1}^{C }\left(\frac{1}{D(i,j)}\right)^{\frac{2}{m_{i}-1}}}=\frac{1}{D(i,k)^{\frac{2} {m_{i}-1}}\sum\limits_{j=1}^{C}\left(\frac{1}{D(i,j)}\right)^{\frac{2}{m_{i}- 1}}}\]\[\text{or }U(i,k)=\frac{1}{\sum\limits_{j=1}^{C}\left(\frac{D(i,k)}{D(i,j)} \right)^{\frac{2}{n_{i}-1}}}=\left(\sum\limits_{j=1}^{C}\left(\frac{D(i,k)}{D( i,j)}\right)^{\frac{2}{n_{i}-1}}\right)^{-1} \tag{10}\]  
**Summary of steps for the MC-FCM algorithm Input:** the dataset \(X=\{X_{1},X_{2},\ldots,X_{N}\}\), the fuzzification coefficients \(m_{i}\) of each \(X_{i}\).  
**Output:** the partition of \(X\) into \(C\) clusters.  
**Steps:**  
* Step 1: Initialize value for \(V\), let \(l=0\), set \(\varepsilon>0\).
* Step 2: At the \(l-th\) loop, update \(U\) according to Equation (10).
* Step 3: Update \(V\) for the next step \((l+1)\), according to Equation (7).
* Step 4: If \(\|V^{(l)}-V^{(l+1)}\|<\varepsilon\), then go to Step 5; otherwise, let \(l=l+1\) and return to Step 2.
* Step 5: End.  
The MC-FCM algorithm has similar steps to the FCM, except for Equations (10), (7) replacing (2), (3) in FCM.