## 7 Classification of the Surveyed AI Techniques
### Machine Learning Techniques
#### Unsupervised Learning  
The goal of unsupervised learning algorithms is to find unknown patterns or reduce features in unlabeled datasets. These two tasks are carried out using clustering and dimensionality reduction (DR) techniques. Popular clustering techniques include K-means, hierarchical, Density-based spatial clustering of applications with noise (DBSCAN), and cluster analysis while DR tasks majorly use principal component analysis (PCA), linear discriminant analysis (LDA), non-negative matrix factorization (NNMF) and autoencoder methods. Clustering algorithms are extremely useful in CS-related tasks due to their ability to work with unlabeled data and their ability to automate the difficult sensor data annotation process [132; 133]. On the other hand, DR techniques are useful for selecting and extracting features from collected data before transmission due to bandwidth limitations, or as a precursor to a supervised learning task [134; 135]. Other application areas include density estimation, outlier, and anomaly detection [136]. Data clustering is a process of grouping unlabeled datasets into clusters of the same features. For example, given a set of measurements \((\mathbf{m_{1}},\mathbf{m_{2}},\ldots\mathbf{m_{n}})\), where each measurement is a \(\mathbf{g}\)-dimensional real vector, k-mean clustering will partition the \(\mathbf{n}\) measurements into \(\mathbf{k}(\leq\mathbf{n})\) sets \(\mathbf{S}=(\mathbf{S_{1}},\ \mathbf{S_{2}},\ldots\mathbf{S_{k}})\) to minimize the within-cluster sum of square. The objective is shown in Equation (12) as  
\[\mathbf{arg}\min_{\mathbf{s}}\sum_{\mathbf{i}=1}^{\mathbf{k}}\sum_{\mathbf{m \in s_{i}}}\|\mathbf{m}-\mathbf{\mu_{i}}\|^{2}=\mathbf{arg}\min_{\mathbf{s}} \sum_{\mathbf{i}=1}^{\mathbf{k}}\lvert\mathbf{s_{i}}\rvert\mathbf{Var}\ \mathbf{S_{i}} \tag{12}\]  
where \(\mathbf{\mu_{i}}\) is the mean of points in \(\mathbf{S_{i}}\). In hierarchical clustering, the objective is to build a hierarchy of clusters using either a bottom-up or a top-down approach. In the bottom-up approach, each observation starts in its cluster and pairs of clusters are merged as one moves up the hierarchy whereas in the top-down approach, all observations start in one cluster, and splits are performed recursively as one moves down the hierarchy. Common metrics used to determine whether clusters are to be combined or split include Euclidean distance \(\|\mathbf{a}-\mathbf{b}\|_{2}=\sqrt{\sum_{\mathbf{i}}\left(\mathbf{a_{i}}- \mathbf{b_{i}}\right)^{2}}\), Squared Euclidean distance \(\|\mathbf{a}-\mathbf{b}\|^{2}\mathbf{{}_{2}}=\sum_{\mathbf{i}}\left(\mathbf{a _{i}}-\mathbf{b_{i}}\right)^{2}\), Manhattan distance \(\|\mathbf{a}-\mathbf{b}\|_{1}=\sum_{\mathbf{i}}\lvert\mathbf{a_{i}}-\mathbf{ b_{i}}\rvert\). Dimensionality reduction techniques derive their importance in CS solutions due to the difficulty encountered by some supervised learning algorithms when working with large datasets and the bandwidth/energy limitation problem in sensor data transmission. PCA is an algorithm used majorly for DR and it operates by performing a linear mapping of the data to a lower-dimensional space in such a way that the variance of the data in the lower dimensional space is maximized. A review of the DR techniques applicable to the IoT domain can be found in ref. [137]. To recover missing IoT sensor data, authors in ref. [138] propose the use of a probabilistic method and data from related sensors. The proposed method uses a K-mean algorithm to measure and split data into different clusters based on the idea that sensors within one group will have similar patterns of measurement. After this, a probabilistic matrix factorization (PMF) is carried within the cluster to recover missing sensor data by analyzing measurement patterns of neighboring sensors. The performance of the PMF algorithm is further enhanced by normalizing the data and limiting the probabilistic distribution of random feature matrices.