# VSFCM: A Novel Viewpoint-Driven Subspace Fuzzy C-Means Algorithm
## 3 Proposed VSFCM Algorithm
### The Mechanism of the VSFCM Algorithm  
Here, we show the main idea of the viewpoint-driven subspace fuzzy c-means (VSFCM) algorithm. Its flowchart is shown below (Figure 3). Figure 3: The flowchart of the clustering algorithm VSFCM. The first initial cluster center selected by the CDCI method is recorded as \(x_{e}\) (i.e., the point of the largest value of \(\tau_{j}\)), which is taken as the viewpoint. The position of our viewpoint is constantly changing with iteration. The row number of the viewpoint in the cluster center matrix is \(q=\arg(\min(d_{qe}))\) with \(d_{qe}=\parallel v_{q}-x_{e}\parallel\). That is, we replace the cluster center closest to the viewpoint as the viewpoint. We use three parts to complete the construction of the objective function. In the first part, the fuzzy feature weight is combined with the classical FCM algorithm, and the cluster centers and the viewpoint are integrated together. The second part is an adaptive fuzzy weight penalty term, which uses the parameter \(\varphi_{i}\) that can be automatically calculated. The third part represents the inter-cluster separation term, in which the fuzzy feature weight and the cluster center that is integrated with the viewpoint are used, and the centroid of the initialization cluster center serves as the reference point for inter-cluster separation. The objective function is expressed as follows:  
\[J_{\text{VSFCM}}=\sum\limits_{i=1}^{c}\sum\limits_{j=1}^{n}u_{ij}^{m}\sum \limits_{k=1}^{l}w_{ik}^{t}\Big{|}\Big{|}x_{jk}-h_{ik}\Big{|}\Big{|}^{2}+\sum \limits_{i=1}^{c}\varphi_{i}\sum\limits_{k=1}^{l}w_{ik}^{t}-\eta\sum\limits_ {i=1}^{c}(\sum\limits_{j=1}^{n}u_{ij}^{m})\sum\limits_{k=1}^{l}w_{ik}^{t} \parallel v_{0k}-h_{ik}\parallel^{2}. \tag{16}\]  
Among them (\(i=1,\ldots,c\)). \[h_{i}= \begin{cases}v_{i},&i\
eq q\\ x_{e},&i=q\end{cases} ,v_{0}=\sum\limits_{i=1}^{c}v_{i}/c. \tag{17}\]  
The following constraints are imposed (\(i=1,\ldots,c,j=1,\ldots,n\))  
\[\sum\limits_{i=1}^{c}u_{ij}=1,\ \ \sum\limits_{k=1}^{l}w_{ik}=1. \tag{18}\]  
Here, \(h_{i}\) is the cluster center fused with the viewpoint. When \(i=q,h_{i}\) is replaced with the point of maximum value of \(\tau\), namely the viewpoint. The reference point of separation between clusters is the above (17). The fuzzy weight \(w_{ik}^{t}\) is the weight of the \(k\)-th feature of the \(i\)-th cluster, in which the fuzzy coefficient \(t\) is used, and generally \(t>1\). \(\varphi_{i}\) is the parameter used to implement the fuzzy weight penalty. Parameter \(\eta\) is used to adaptively adjust the value of the separation term between clusters. Note that (16) can be transformed into:  
\[J=\sum\limits_{i=1}^{c}\sum\limits_{j=1}^{n}u_{ij}^{m}\sum\limits_{k=1}^{l}w_ {ik}^{t}[(x_{jk}-h_{ik})^{2}-\eta(v_{0k}-h_{ik})^{2}]+\sum\limits_{i=1}^{c} \varphi_{i}\sum\limits_{k=1}  
Firstly, we give the solution process of \(u_{ij}\). Starting from \(\frac{\partial J^{{}^{\prime}}}{\partial u_{ij}}=0\), we get  
\[\frac{\partial J^{{}^{\prime}}}{\partial u_{ij}}=mu_{ij}^{m-1}D_{ij}-\lambda_{j }=0. \tag{23}\]  
From (23), we obtain  
\[u_{ij}=(\frac{\lambda_{j}}{mD_{ij}})^{\frac{1}{m-1}}. \tag{24}\]  
Because \(1=\sum\limits_{i=1}^{c}u_{ij}=\sum\limits_{i=1}^{c}(\frac{\lambda_{j}}{mD_{ ij}})^{\frac{1}{m-1}}\), it follows that  
\[(\frac{\lambda_{j}}{m})^{\frac{1}{m-1}}=\frac{1}{\sum\limits_{l=1}^{c}D_{lj}^ {-\frac{1}{m-1}}}. \tag{25}\]  
Substituting (25) into (24), we have  
\[u_{ij}=\frac{D_{ij}^{-\frac{1}{m-1}}}{\sum\limits_{l=1}^{c}D_{lj}^{-\frac{1}{ m-1}}}. \tag{26}\]  
The iterative formula of membership degree is obtained, and it involves the value of \(\eta\). Note that when \(\eta\) is very large, \(D_{ij}\) may become negative, which is obviously not what we want.