## 3 Preliminaries
### FCM Clustering  
FCM [34; 35] finds the cluster centers \(\mathbf{V}\) and the partition matrix \(\mathbf{U}\) that minimize the following objective function:  
\[\mathrm{J}(\mathbf{U},\mathbf{V})=\sum_{\mathrm{i=1}}^{\mathrm{C}}\sum_{ \mathrm{j=1}}^{\mathrm{N}}\mathrm{u}_{\mathrm{ij}}^{\mathrm{m}}\mathrm{d}_{ \mathrm{ij}}^{2}=\sum_{\mathrm{i=1}}^{\mathrm{C}}\sum_{\mathrm{j=1}}^{\mathrm{N }}\mathrm{u}_{\mathrm{ij}}^{\mathrm{m}}\left\|\mathbf{x}_{\mathrm{j}}-\mathbf{ v}_{\mathrm{i}}\right\|^{2} \tag{1}\]  
where \(\mathrm{d}_{\mathrm{ij}}=\left\|\mathbf{x}_{\mathrm{j}}-\mathbf{v}_{\mathrm{i}}\right\|\) is the Euclidean distance between the center \(\mathrm{v}_{\mathrm{i}}\) of the ith cluster and the jth data point and m\(\in\)[1,+\(\infty\)) is a parameter, called a fuzzifier, that defines the degree of fuzziness of the partition. For m = 1, FCM becomes a hard C-means clustering method; the more m trends towards +\(\infty\), the more the fuzziness level of the clusters increases. An acceptable value for this parameter is m = 2. The following constraints are respected:  
\[\sum_{\mathrm{i=1}}^{\mathrm{C}}\mathrm{u}_{\mathrm{ij}}=1\;\forall\;\mathrm{ j}\in\{1,...,\mathrm{N}\} \tag{2}\]  
\[0<\sum_{\mathrm{j=1}}^{\mathrm{N}}\mathrm{u}_{\mathrm{ij}}<\;\mathrm{N}\; \forall\;\mathrm{i}\in\{1,...,\mathrm{C}\} \tag{3}\]  
where Equation (2) states that the sum of the membership degrees of all clusters is equal to 1 and Equation (3) establishes that at least one data point must belong to a cluster with a non-zero membership degree and that the sum of the membership degrees of the data points in a cluster is less than the number of data points. By applying the Lagrange multipliers to the Equation (1), the following solutions for **V** and **U** are obtained:  
\[\textbf{v}_{\text{i}}=\frac{\sum_{\text{j}=1}^{\text{N}}\text{u}_{\text{j}}^{ \text{m}}\textbf{x}_{\text{j}}}{\sum_{\text{j}=1}^{\text{N}}\text{u}_{\text{j}}^ {\text{m}}}\qquad\text{i}\in\{1,...,\text{C}\} \tag{4}\]  
and  
\[\text{u}_{\text{j}}=\frac{1}{\sum_{\text{k}=1}^{\text{c}}\left(\frac{\text{d}_{ \text{j}}}{\text{d}_{\text{k}}}\right)^{\frac{2}{\text{m}-1}}}\qquad\text{i} \in\{1,...,\text{C}\},\text{ j}\in\{1,...,\text{N}\} \tag{5}\]  
In [34; 35], an iterative algorithm is proposed that allows for the minimization of the objective function (1), determining the solutions for **V** and **U**. Initially, the C cluster centers are assigned randomly; at each iteration, the partition matrix is computed by (5), and the cluster centers are computed by (4). The algorithm stops after t iterations, when the following is true:  
\[\left|\textbf{U}^{(\text{t})}-\textbf{U}^{(\text{t}-1)}\right|<\varepsilon \qquad\text{i}=1,\ldots,\text{C};\qquad\text{j}=1,\ldots,\text{N} \tag{6}\]  
where \(\varepsilon>0\), called the end iteration threshold, is a parameter assigned a priori to terminate the algorithm if the maximum absolute difference between the partition matrix computed in the tth iteration and the previous partition matrix is below this threshold. In (6), this maximum absolute difference is given by the following:  
\[\left|\textbf{U}^{(\text{t})}-\textbf{U}^{(\text{t}-1)}\right|=\max_{ \begin{array} []{c}\text{i}=1,...,\text{C}\\ \text{j}=1,...,\text{N}\end{array} }\left\{\left|\textbf{u}_{\text{j}}^{(\text{ t})}-\textbf{u}_{\text{j}}^{(\text{t}-1)}\right|\right\}\quad\text{i}=1,\ldots,\text{C}; \quad\text{j}=1,\ldots,\text{N} \tag{7}\]  
FCM has been used as a clustering algorithm in a wide range of applications and disciplines. It has the advantage of high computational speed, although it requires a priori fixing of the number of clusters. In addition, different initializations can lead to different evolutions of the algorithm, which, in some cases, could converge to local minima. To overcome this limitation, it is possible to execute the algorithm multiple times. Below is a pseudocode for the FCM algorithm (Algorithm 1).