## 2 HAC-FCM Algorithm Establishment
The algorithm iteratively performs operations until the objective function \(J\) converges to the global minimum, with a maximum number of iterations set. Upon completion of the iteration, the desired clustering result can be obtained. However, if the initial conditions are not optimal, FCM may produce a local minimum, particularly when adjusting the original cluster center. To avoid producing results that are only relevant within their immediate vicinity, the FCM algorithm often employs a straightforward initial cluster center selection criterion. The algorithm's objective is to minimize the objective function described in Equation (2), with parameters that vary depending on the data's specifics and the task's requirements. \[\min\!J_{FCM}(U,C)=\sum\limits_{i=1}^{N}\sum\limits_{j=1}^{K}u_{ij}^{m}\|x_{ i}-c_{j}\|^{2} \tag{2}\]  
Here, \(U\) is the degree matrix of the initial sample, where the \(u_{ij}\) is the degree value of the \(j\) cluster that completely contains the \(i\) sample vector \(x_{i}\). \(C=[c_{1},c_{2},\cdots,c_{K}]\), \(c_{j}\) is the center of the \(j\) cluster to calculate the distance between them and the separation points to determine which cluster these points belong to. \(N\) is the number of sampling points; \(m\) is the operation's index, with \(m>1\) representing the fuzzy index of the fuzzy c-means algorithm. This index is a weight-based index and can also be referred to as a smooth index. When \(m=1\), the objective function becomes the objective function of hard clustering. In this paper, we use \(m=2\). \(x_{i}\) is the data point for the index value. \(\|\|\) refers to the normalized Euclidean distance metric between the processed point and the cluster center obtained in the previous iteration. The fuzzy partitioning is achieved by iteratively optimizing the objective function of Equation (2), where the membership and clustering centers are obtained by updating Equations (3) and (4). \[u_{ij}=\frac{1}{\sum\limits_{k=1}^{K}\left(\left\|\frac{x_{i}-c_{j}}{\|x_{i}- c_{k}\|}\right)^{\frac{2}{m-1}}} \tag{3}\]  
\[c_{j}=\frac{\sum\limits_{i=1}^{N}u_{ij}^{m}\cdot x_{i}}{\sum\limits_{i=1}^{N}u _{ij}^{m}} \tag{4}\]  
If condition \(\max\{\left|u_{ij}^{(k+1)}-\ u_{ij}^{k}\right|\}<\varepsilon\) is satisfied, the iteration will be terminated, where \(\varepsilon\) is the termination criterion between 0 and 1, and k is the number of iteration steps. At the end of the clustering process, the Kosko subset measure formula is used to make sure that the fusion clustering results are correct. If the results meet the expectation, the calculated output can be used as the final output of the algorithm. In this paper, the threshold of the Kosko subset measuring test is set to \(\varepsilon_{1}\). The benchmark value is 0.01, and each step of the experiment has a scaling factor \(\delta\) with a step size of 0.1. The threshold is tested on the training set until a significant effect is seen. Use Equation (5) to figure out \(f_{K}\), if \(f_{K}<\varepsilon_{1}\) says that the results of the cluster algorithm can be trusted. Since fuzzy clustering is used and each sample does not belong to exactly one class, \(\|u_{ki}-u_{kj}\|<\varepsilon\) is defined, \(u_{ki}=\max\limits_{1\leq m\leq K}(u_{kM})\) or \(u_{kj}=\max\limits_{1\leq m\leq K}(u_{kM})\), element \(x_{k}\in c_{i}\cap c_{j}(1\leq k\leq N,1\leq i\leq K,1\leq j\leq K,i\
eq j)\). \[f_{K}(A,B)=\left\{ \begin{array}{l}1,A=\oslash\\ \frac{M(A\cap B)}{M(A)},A\
eq\oslash\end{array} \right. \tag{5}\]  
Here, \(M(X)=|X|\). The Kosko subset measuring formula is used to determine two categories, and the smaller the value of \(f_{K}(A,B)\), the better the classification. When the value of the function is greater, the result of the cluster algorithm is vaguer and the degree of distinction is reduced. This means that a higher value of \(f_{K}(A,B)\) indicates that the clusters are less distinct and the cluster algorithm is less effective.