## 4 Background
### Machine Learning  
In this section, we first introduce machine learning; then, we shed the light on different machine learning techniques. Machine learning is the field in computer science that focuses on providing computers with the ability to solve problems through learning, such as in humans [26]. There are some variations in defining the types of machine learning algorithms. Still, in general, they can be categorized by their purpose into supervised, unsupervised, semi-supervised, reinforcement, and deep learning, as discussed and presented in [27; 28; 29]. Based on [27; 28; 29], machine learning techniques with multiple algorithms that fall under these types can be summarized as in Figure 2.  
A supervised learning (SL) model or algorithm is mostly used in solving prediction problems. The model is trained using historical data with labeled inputs to outputs [30]. The training data are analyzed by a supervised learning algorithm, which generates a reasoning function that could be used to map new inputs that have not been seen before [31]. Supervised learning contains two types of techniques, which include classification and regression. A classification technique concludes observed values as one or more outcomes in a definite form. Examples of classification algorithms includes random forest (RF) [32], support vector machine (SVM) [33], decision tree [34], and logistic regression (LR) [35], while a regression technique is mainly used to make predictions on numbers, i.e., when the output is a natural or continuous value. As it falls under supervised learning, it works \begin{table}
\begin{tabular}{l c c c c c c c c c} \hline \hline
**Prominent Security Issues** & **[PERSON] et al.** & **[PERSON]** & **[PERSON]** & **[PERSON]** & **[PERSON] et al.** & **[PERSON]** & **[PERSON]** & **[PERSON] and** & **Our** \\  & [15] & et al. [19] & et al. [20] & et al. [21] & et al. [22] & et al. [23] & et al. [24] & et al. [24] & **[PERSON]** [25] & **Survey** \\ \hline Vulnerabilities of all SDN Layers & ✓ & ✓ & ✓ & Control & Control & ✓ & Data & Control \& & ✓ \\  & & & & Layer & Layer & & Layer & Data Layer & \\ \hline DDoS Attacks & ✓ & ✓ & ✓ & ✓ & ✓ & ✓ & ✓ & ✓ & ✓ \\ \hline LDDoS Attacks & ✗ & ✗ & ✗ & ✗ & ✗ & ✗ & ✗ & ✗ & ✓ \\ \hline Detection or Mitigation Schemes & ✓ & ✓ & ✗ & ✓ & ✓ & ✓ & ✓ & ✓ & ✓ \\ using Machine Learning & ✓ & ✓ & ✓ & ✗ & ✗ & ✗ & ✗ & ✓ & ✓ \\ \hline Taxonomy of Security Attacks & ✓ & ✓ & ✓ & ✗ & ✗ & ✗ & ✗ & ✓ & ✓ \\ \hline Categorize Detection Solutions & ✓ & ✗ & ✓ & ✓ & ✓ & ✓ & ✓ & ✓ & ✓ \\ \hline Limitation of Existing Work & ✓ & ✓ & ✗ & ✓ & ✗ & ✓ & ✗ & ✓ & ✓ \\ \hline Discussion on Possible Future works & ✓ & ✗ & ✓ & ✓ & ✗ & ✓ & ✗ & ✓ & ✓ \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Coverage of Security Issues in Survey Papers. Figure 2: Overview of Machine Learning Techniques. with trained data to predict new test data. There are some Regression algorithms such as backpropagation neural network (BPNN) [36], K-Nearest Neighbor (KNN) [37], linear regression [38]. Unsupervised learning (UL) model or algorithm learns from training data that has not been classified, categorized, or labeled [39]. Rather than reacting to feedback, the unsupervised learning model discovers similarities in data and reacts depending on the existence or lack of such commonalities in each new dataset. This is the primary application of unsupervised learning in statistical density estimation. In contrast to supervised learning, which classifies the training data into acceptable categories, unsupervised learning models must understand the connections between the items in the dataset and categorize the raw data without \"assistance\" [40]. Clustering is an unsupervised learning technique that involves classifying data points into specific groups. If we have some objects or data points, we can apply a clustering algorithm to analyze and group them according to their properties and features. This method of unsupervised technique is used due to its statistical techniques.