## 3 SAL: Proposed Self-Augmentation Labeling Approach
### An increment Update of Labeled Set  
Since our labeling model was trained using a very small labeled dataset, an iterative increment update of labeled observations process will be used to augment new labels for a larger set of unlabeled data; these new labels, along with the originally labeled dataset, are utilized in the next iteration to retrain the model. Such an iterative process will improve the labeling process besides the accuracy of the detection model. Moreover, in order to produce a stronger detection model with as accurate results as possible, this small labeled dataset must be subject to restricted rules, as explained in Section 3.2. The threshold \(\alpha\) is continuously decremented when LR \(<\beta\). The labeling process will be repeated until all observations are labeled. Algorithm 1 shows the detailed steps of the SAL algorithm. data structures, variables, and functions applied by the algorithm are summarized in Table 2.  
```
1:Labeled data set \(L\);
2:Unlabeled data set \(U\);
3:\(C=\{C1,C2,C3\}\): base learning algorithms.
4:Vens: voting Ensemble Classifier.
5:Fully labeled data set Process:
6:Set 3 Threshold values: (\(\alpha,\beta,\gamma\)).
7:\(left\leftarrow\Phi\). \(\triangleright\) set of left unlabeled data.
8:while (U is! empty) do
9:\(Vens(L,C)\)\(\triangleright\) Use L to train ensemble classifier
10:for each \(u_{i}\) in \(U\)do\(\triangleright\) Initial \(i=0\)
11:\(left[i]\gets Count(U)\)
12:While \((left[i-1]-left[i])<\beta\)do
13: Remove \(u_{i}\) From \(U\)
14: Add \(u_{i}\) To \(L\)
15:if\((left[i-1]-left[i])>\beta\)then
16:\(\alpha\leftarrow\alpha-\gamma\)\(\triangleright\) Updating \(\alpha\)
```  
**Algorithm 1** Labeling Process  
\begin{table}
\begin{tabular}{c c} \hline \hline \multicolumn{2}{c}{**Self-Augmentation Labeling Processes Algorithm**} \\ \hline \(L\) & The labeled subset of the training data. \\ \hline \(U\) & The unlabeled subset of the training data (the most part). \\ \hline \(C\)=\{C1,C2,C3\} & Set of the selected supervised base classifiers used to build the decision model. \\ \hline \multirow{2}{*}{_Vens_} & The model that trains on an ensemble to predict an output (class) based on the class with the highest probability of being the output. \\ \hline \multirow{2}{*}{\(\alpha\)} & Predefined labeling threshold represents the minimum acceptable probability for labeling the observations at each iteration start initially with a very high value. \\ \hline \multirow{2}{*}{\(\beta\)} & Predefined amount from the training data set denotes the maximum value of the learning rate which allows the updating of \(\alpha\) threshold, so any LR that exceeds this threshold will block the updating at that iteration. \\ \hline \(\gamma\) & Threshold step (predefined value) to decrement the \(\alpha\) threshold. \\ \hline \(left\) & A list represents the number of unlabeled observations in each iteration. \\ \hline \(u_{i}\) & Any single observation belongs to \(U\). \\ \hline \(i\) & Incremental variable starts initially by 0. \\ \hline \hline \end{tabular}
\end{table}
Table 2: Variables, data structures, and functions employed by Algorithm 1.