## 2 ML Methodologies
### Supervised Learning
#### 2.1.1 Classification
\begin{table}
\begin{tabular}{p{113.8 pt} p{113.8 pt} p{113.8 pt}} \hline \hline
**Algorithm** & **Ref.** & **Description** \\ \hline Support vector machine (SVM) & [57] & SVM is a powerful algorithm that can perform both linear and nonlinear classification by transforming the data into a higher-dimensional feature space. It finds the optimal hyperplane that maximizes the margin between different classes. & [57] \\ \hline Decision trees & [58] & Decision trees partition the feature space into smaller regions based on different attribute values. They can capture nonlinear relationships by splitting the data based on various conditions at each internal node. The data are separated into specific parameters and located in nodes, while decisions are contained in leaves. The use of decision trees helps us better approximate and interpret categorical and quantitative values, as well as address issues like filling in missing values in attributes with the most likely value. & [57] \\ \hline Random forest & [9,59] & Random forest is an ensemble method that combines multiple decision trees. It creates a diverse set of trees by using random subsets of the features and then aggregates their predictions to make the final classification. The goal of this method is to reduce the number of variables required to make a prediction, alleviate the data collection burden, accurately evaluate the prediction error rate, and improve efficiency in terms of the number of variables, computation times, and the area under the receiver operating curve. & [57] \\ \hline Gradient boosting & [60] & Gradient boosting is another ensemble method that builds a sequence of weak learners (typically decision trees) in a stage-wise manner. Each subsequent learner focuses on correcting the mistakes made by the previous ones, resulting in a powerful nonlinear classifier. & [57] \\ \hline K-nearest neighbors (KNN) & [61] & KNN classifies new instances based on their proximity to labeled instances in the training data. It can handle nonlinear classification by considering the class labels of the k-nearest neighbors. The KNN algorithm calculates the probability that the test data belong to the classes of the “K” training data, and the class with the highest probability will be selected. & [57] \\ \hline Neural networks & [62] & Neural networks consist of interconnected nodes (neurons) organized in layers. By using nonlinear activation functions and multiple hidden layers, neural networks can capture complex nonlinear relationships between the input features and the target variable. & [57] \\ \hline Gaussian naive Bayes & [63] & Gaussian naive Bayes assumes that features are normally distributed and calculates the posterior probability of each class using [PERSON] theorem. Although it assumes feature independence, it can still capture nonlinear decision boundaries in the data. & [57] \\ \hline Kernel methods (e.g., kernel SVM) & [64] & Kernel methods use a nonlinear mapping of the input space to a higher-dimensional feature space. By using a kernel function, they can implicitly compute the dot products in the higher-dimensional space, enabling nonlinear classification. & [56] \\ \hline Bayesian networks & [65] & Bayesian networks model the probabilistic relationships among variables using directed acyclic graphs. They can capture nonlinear dependencies between variables and are particularly useful when dealing with uncertain data. & [56] \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Nonlinear classification algorithms.