## 2 ML Methodologies
### Unsupervised Learning
#### 2.2.1 Clustering  
Clustering, as an unsupervised learning method, plays a crucial role in organizing unlabeled data into groups of similarity known as clusters. Each cluster represents a collection of data points that exhibit similar characteristics, and these clusters can vary in terms of their similarity or dissimilarity to data points in other clusters [111]. The main objective of clustering is to identify groups of similar objects within a dataset while ensuring that dissimilar objects are separated into different clusters or labeled as noise points [112]. From a statistical analysis perspective, clustering involves examining the underlying structure and patterns present in the data. By leveraging similarity metrics and distance measures, clustering algorithms aim to partition the data in a way that maximizes intracluster similarity and minimizes intercluster dissimilarity. This process enables the identification of natural groupings or clusters within the dataset [113]. The applications of clustering extend across various fields, including ML, data mining, pattern recognition, image analysis, and bioinformatics. In ML, clustering can be employed to group similar instances together, aiding in tasks such as customer segmentation, anomaly detection, and recommendation systems. In data mining, clustering assists in exploratory data analysis, helping researchers discover hidden patterns and structures within large datasets. Pattern recognition leverages clustering to identify similar objects or patterns in images, texts, or signals. Image analysis techniques often utilize clustering to segment images into meaningful regions or objects. In the field of bioinformatics, clustering helps identify groups of genes with similar expression patterns or clusters proteins based on their functional similarities [113]. Clustering algorithms have evolved to encompass various approaches, each with its own strengths and suitability for different types of data. These algorithms consider factors such as data distribution, distance metrics, and cluster representation to effectivelyorganize the data. The k-means algorithm partitions the data into a predetermined number of clusters based on the centroids, while hierarchical clustering builds a hierarchy of clusters through merging or splitting. Expectation maximization employs probabilistic models to estimate the parameters of the underlying distribution, and density-based clustering focuses on regions of high density in the data space [111, 112]. By employing clustering techniques, researchers and practitioners can gain valuable insights into complex datasets, enabling them to make informed decisions, identify patterns, and extract meaningful information. Clustering serves as a fundamental tool for uncovering hidden structures and relationships within unlabeled data, ultimately contributing to advancements in various domains. Table 9 presents an overview of various clustering algorithms. Clustering is a crucial technique in data analysis and machine learning that groups similar data points together based on certain criteria. These algorithms play a pivotal role in uncovering patterns and structures within data, making them essential for tasks such as customer profiling, pattern recognition, and anomaly detection. Table 10 provides a concise summary of common error functions used in clustering. Error functions are essential for evaluating the quality and performance of clustering algorithms. These functions help quantify the dissimilarity between data points and cluster centroids, aiding in the assessment and optimization of clustering results. In Table 11, we establish connections between water management methodologies and specific nonlinear regression techniques, highlighting applications and references for verification.