## 2 ML Methodologies
### Unsupervised Learning
#### 2.2.1 Clustering
\begin{table}
\begin{tabular}{p{142.3 pt} p{142.3 pt}} \hline \hline
**Algorithm** & **Ref.** & **Description** \\ \hline K-means & [114] & K-means is an iterative algorithm that divides data into k clusters. It aims to minimize the sum of squared distances within each cluster. Initially, k centroid points are randomly assigned, and each data point is assigned to the nearest centroid. The centroids are updated iteratively by computing the mean of the points within each cluster until convergence is achieved. \\ \hline DBSCAN & [115] & DBSCAN is a density-based clustering algorithm that groups data points based on their density. It defines clusters as dense regions separated by areas of lower density. The algorithm starts with an arbitrary point and expands the cluster by adding nearby points that have a sufficient number of neighbors within a specified distance. Outliers are considered as points with low density and are not assigned to any cluster. \\ \hline Hierarchical clustering & [116] & Hierarchical clustering builds a tree-like structure of clusters by iteratively merging or splitting clusters based on similarity. It can be agglomerative, starting with individual data points as separate clusters and merging the most similar ones, or divisive, starting with a single cluster and recursively splitting it into smaller clusters. The result is a dendrogram that provides insights into the hierarchical structure of the data. \\ \hline Gaussian mixture models (CMMs) & [117] & GMM assumes that the data are generated from a mixture of Gaussian distributions. It models each cluster as a Gaussian distribution with its own mean and covariance matrix. The algorithm estimates the parameters of the Gaussian components using the expectation maximization (EM) algorithm, which maximizes the likelihood of the observed data. GMM provides probabilistic cluster assignments, allowing soft assignments where data points can belong to multiple clusters with varying probabilities. \\ \hline Mean shift & [118] & Mean shift is an iterative algorithm that aims to find the modes or peaks of the data distribution. It starts with an initial set of points and iteratively shifts them towards the direction of the highest density, which is determined by a kernel density estimation. The algorithm continues until convergence, resulting in clusters centered around the modes of the data distribution. \\ \hline Spectral clustering & [119] & Spectral clustering transforms the data into a lower-dimensional space using eigenvectors of a similarity matrix and then applies traditional clustering techniques. It considers the pairwise similarity between data points and constructs a similarity matrix. The eigenvectors corresponding to the largest eigenvalues are used to embed the data into a lower-dimensional space, where clustering algorithms like k-means or Gaussian mixture models can be applied. Spectral clustering can handle nonlinearly separable data and is particularly effective for graph-based clustering. \\ \hline OPTICS & [120] & OPTICS (ordering points to identify the clustering structure) is a density-based clustering algorithm similar to DBSCAN. It creates a reachability plot that represents the ordering of data points based on their density reachability. It captures both dense regions and density-based hierarchical relationships in the data. OPTICS is particularly useful for analyzing the varying density of clusters and identifying clusters of different sizes and shapes. \\ \hline Agglomerative clustering & [121] & Agglomerative clustering is a hierarchical clustering algorithm that starts with each data point as a separate cluster and iteratively merges the most similar clusters until stopping criterion is met. It can be based on various distance metrics and linkage criteria such as single linkage, complete linkage, or average linkage. The result is a dendrogram that shows the hierarchical structure of the data. \\ \hline Density-based clustering & [122] & Density-based clustering algorithms identify clusters as areas of high data density separated by regions of low density. These algorithms, such as DBSCAN and OPTICS, do not require specifying the number of clusters in advance and can handle datasets with varying densities and irregular shapes. They are robust to noise and capable of identifying outliers. \\ \hline \hline \end{tabular}
\end{table}