# Double-Constraint Fuzzy Clustering Algorithm
## 3 Double-Constraint Fuzzy Clustering
.\right.. \tag{15}\]  
Since the number of equations in (15) is \((n+c)\) and is equal to the number of both variables \(\mu_{k}\) and \(\lambda_{g}\), its solution is thus uniformly determined. But the power of \(1/(m-1)\) limits its analytic solution. We turn to solve it iteratively using an iteratively numerical optimization process. Note that  
\[\begin{array}{l}\frac{\partial}{\partial x_{g}}\sum\limits_{k=1}^{c}( \frac{-\lambda_{g}-\mu_{k}}{m(x_{g}-v_{i})^{2}})^{1/(m-1)}=-\sum\limits_{k=1}^{c }\frac{1}{m-1}(\frac{-\lambda_{g}-\mu_{k}}{m(x_{g}-v_{k})^{2}})^{\frac{2-m}{m- 1}}\frac{1}{m(x_{g}-v_{k})^{2}}\\ \frac{\partial}{\According to the Newton iteration method [25], \(u_{kg}\) is iteratively solved as  
\[\left\{ \begin{array}{l}\lambda_{g}^{t+1}=\lambda_{g}^{t}-(\sum\limits_{k=1}^{c} {(\frac{-\lambda_{g}-\mu_{k}}{m(x_{g}-v_{k})^{2}})^{1/(m-1)}}-q_{g})/(-\sum \limits_{k=1}^{c}{\frac{1}{m-1}(\frac{-\lambda_{g}-\mu_{k}}{m(x_{g}-v_{k})^{2} })^{\frac{2-m}{m-1}}}\frac{1}{m(x_{g}-v_{k})^{2}})\\ \mu_{k}^{t+1}=\mu_{k}^{t}-(\sum\limits_{g=1}^{n}{(\frac{-\lambda_{g}-\mu_{k}}{ m(x_{g}-v_{k})^{2}})^{1/(m-1)}}-p_{k})/(-\sum\limits_{g=1}^{n}{\frac{1}{m-1}( \frac{-\lambda_{g}-\mu_{k}}{m(x_{g}-v_{k})^{2}})^{\frac{2-m}{m-1}}}\frac{1}{m(x _{g}-v_{k})^{2}})\end{array} \right., \tag{16}\]  
where \(t\) is the iteration time. In this way, DFCM is alternatively optimized as follows. Given the initial (\(v^{0}\), \(\lambda^{0}\), \(\mu^{0}\)), (\(\lambda^{1}\), \(\mu^{1}\)) can be calculated by (16); then, \(u^{1}\) is calculated by (14); \(v^{1}\) is obtained by (13). Then, (\(v^{1}\), \(\lambda^{1}\), \(\mu^{1}\)) is used to calculate (\(\lambda^{2}\), \(\mu^{2}\)), and the above process is repeated until a stop criterion is met. Especially, when \(m\) = 2, (15) reduces to the following form:  
\[\left\{ \begin{array}{l}\lambda_{g}=-(\sum\limits_{k=1}^{c}{\frac{\mu_{k}}{( x_{g}-v_{k})^{2}}+q_{g}})/\sum\limits_{k=1}^{c}{\frac{1}{(x_{g}-v_{k})^{2}}},\ g=1,2,\ldots,n\\ \mu_{k}=-(\sum\limits_{g=1}^{n}{\frac{\lambda_{g}}{(x_{g}-v_{k})^{2}}+p_{k})} )\sum\limits_{g=1}^{n}{\frac{1}{(x_{g}-v_{k})^{2}}},\ k=1,2,\ldots,c\end{array}  \right.. \tag{17}\]  
According to (17), DFCM can be iteratively solved as follows. Given the initial \(v^{0}\), both \(\lambda^{0}\) and \(\mu^{0}\) are solved. Subsequently, \(v^{1}\) is determined using (13), followed by the computation of \(\lambda^{1}\) and \(\mu^{1}\), and this sequence continues iteratively. The process is repeated until a stop criterion is met. According to the algorithm optimization principle, the convergence of this process is guaranteed. In practice, the weighting value of each point \(q_{j}\) can be evaluated by the importance degree of each point. However, the weighting value \(p_{i}\) cannot be directly associated with any cluster since these clusters are unknown before the clustering process is completed. To settle this problem, we implement DFCM in two steps: coarse partitioning and fine partitioning. In the first step, the use of FCM can obtain \(c\) clusters, \(C_{1}\), \(C_{2}\), \(\ldots\), and \(C_{c}\), subject to \(\mid C_{1}\mid<\mid C_{2}\mid<\ldots<\mid C_{c}\mid\). In the second step, \(p_{1}\), \(p_{2}\), \(\ldots\), \(p_{c}\) are actually the number of data vectors in all clusters such that \(p_{1}<p_{2}<\ldots<p_{c}\). We add these constraints of \(p_{1}\), \(p_{2}\), \(\ldots\), \(p_{c}\) to their corresponding \(c\) clusters in FCM. Beginning with these clustering centers in FCM, DFCM is used to partition \(C_{1}\), \(C_{2}\), \(\ldots\), \(C_{c}\) and obtain the final clustering results. The computational time of DFCM includes the computation of the weighting value of \(p_{i}\) as well as the coarse-tuning and fine-tuning steps. However, these two steps account for the majority of the runtime in the entire clustering process. But DFCM begins with the clustering results (centers) derived from FCM, enabling it to reach an optimal solution more rapidly and effectively.