## 3 Materials and Methods
### Methodology
#### 3.4.3 Voting-Based Ensemble Learning  
Studies have shown that several pre-trained CNN models, independently of the number of layers or the values of their parameters, predict widely varying classification outcomes on publicly available datasets [32; 39; 90]. Whenever multiple models are available to solve the classification problem in various domains, in order to enhance the performance of this multimodal paradigm, 'ensemble' algorithms are most frequently used. Such domains include plant classification [91], citrus pest classification [92], maritime vessel classification [93], etc. The ensemble method has three different approaches to learning: bagging, boosting, and voting. One of the simplest and most straightforward ensemble learning methods is vote-based ensemble learning, in which many models' diagnoses are integrated using either hard or soft voting [69; 94]. In hard voting, the aggregator picks the class prediction most often among base models. The class with the most votes \(N_{c}\) will be selected in this voting, and the class label \(\hat{y}\) will be determined by majority (plurality) voting on each classifier's model [95], as indicated in (5).  
\[\hat{y}=\mathbf{argmax}(N_{c}(y_{t}^{1}),N_{c}(y_{t}^{2}),\cdots,N_{c}(y_{t}^{n })) \tag{5}\]  
On the other hand, soft voting uses a probability approach. During this vote, we make predictions for the class labels based on the projected probability \(p\) for the classifiers \(C_{i}\), as seen in (6).  
\[\hat{y}=\mathbf{argmax}(\frac{1}{N_{classifiers}}\sum_{classier}(p_{1},p_{2}, \cdots,p_{N})) \tag{6}\]  
The majority multiclass voting (MajMulVot) algorithm takes '\(n\)' classifier models \((C_{1},C_{2},C_{3},\cdots,C_{n})\) and dataset DS, which have a multiclass label as an argument. The given dataset (DS) is split into training (TR) and test (TS) sets according to the k-fold cross-validation criterion. In addition, each training set is used to train all classifiers,  
Figure 9: Transfer learning procedure.  
and the resulting trained classifier models are created as \(TC_{1}\), \(TC_{2}\), \(TC_{3}\), \(\cdots\), \(TC_{n}\). The \(I\)th trained classifier model (\(TC_{i}\)) predicts probabilities \(P_{i}(L_{1})\), \(P_{i}(L_{2})\), and \(P_{i}(L_{3})\), \(\cdots\), \(P_{i}(L_{m})\), for all multiclass labels \(L_{1},L_{2}\), \(L_{3},\cdots,L_{m}\), respectively, for sample (\(S\)). The voting mechanism was developed using the estimated probabilities for each label. If the predicted probability of model (\(TC_{i}\)) is \((P_{i}(L_{1})>P_{i}(L_{2}),P_{i}(L_{3}),\cdots,P_{i}(L_{m}))\), then the vote count of \(L_{1}:VCL_{1}(i)=1\); otherwise, if \((P_{i}(L_{2})>P_{i}(L_{1}),P_{i}(L_{3}),\cdots,P_{i}(L_{m}))\) then the vote count of \(L_{2}:VCL_{2}(i)=1\) and so on. Further, the total vote shares of all the models for class labels \(L_{1},L_{2},\cdots\) and \(L_{m}\) are calculated separately using variables \(TVCL_{1},TVCL_{2},\cdots\), and \(TVCL_{m}\), respectively. Furthermore, we check the total vote share for each model label-wise. If \((TVCL_{1}>TVCL_{2},TVCL_{3},\cdots,TVCL_{m})\), then the predicted label via the MajMulVot algorithm is \(L_{1}\); otherwise, \(L_{2}\) or \(L_{3},\cdots\) or \(L_{m}\) as per the TVCL for the respective label (Figure 10). Likewise, this process was repeated for all of the test samples of the test set (TEST). The effectiveness of the MajMulVot algorithm was assessed by comparing the ground truths of all the test samples with their predicted labels.