## 3 Materials and Methods for Emojis Classification
### Experiments Settings
#### 3.5.1 Conventional Supervised Classifiers  
We briefly discuss traditional supervised machine learning (ML) classifiers, i.e., conventional ML algorithms used before the current deep-learning hype, that will be trained using Alexnet and ResNet-18 with their parameter setup.  
_K Nearest Neighbors (K-NN) [6]_ finds the k data points that are closest to a given pattern data point. The number of k neighbors is set experimentally by the developer. For each sample of test data, the algorithm assigns membership to each emotion class depending on the value of k, i.e., how many nearest neighbors vote for a given class. We exploited the experiments of K-NN with different values of k, i.e., odd values between 1 and 15, to reduce the probability of a tie.  
_Support Vector Machine (SVM) [7]_ is designed for binary classification, but can be adopted for multi-class classification. In classifying the data points (i.e., our emoji examples), the goal is to identify a partition of the input space using hyperplanes as decision boundaries. Support vectors are a subset of the training samples that calculate the location of the separation hyperplane. In multi-class classification, the problem is partitioned into a set of binary classification problems. In this study, we used different variants of SVM such as linear SVM, Radial Basis Function (RBF) kernel, and polynomial kernel.  
_Decision Tree (DS) [9]_ is a method for approximating discrete-valued functions that recursively divides the data into subgroups. DS learns a heuristic, non-backtracking search through the space of all possible decision trees. Such a tree-like structure supports the prediction of the decisions in the tree from the root node down to a leaf node, where the leaf node contains the response. A pruning algorithm is used to avoid overfitting.  
_Linear Discriminant Analysis Classifier (LDA) [11]_ effectively isolates categories based on the linear combination of features. In multi-class classification, the Fisher discriminant is used to find a subspace that constrains class inconsistency. In this study, we employed different discriminant types, i.e., 'linear', 'diagLinear', 'diagQuadratic', 'pseudoLinear' and 'pseudoQuadratic'. Linear estimates a covariance matrix for all classes, while quadratic estimates a covariance matrix for each class.  
_Boosting_ is an ensemble learning technique that combines several weak learners into one strong learner to overcome training errors. Similarly, ensemble learning refers to a group of base learners working together to achieve a better prediction. In this study, we used different variants of boosting algorithms, i.e., AdaboostM2 [10], TotalBoost [35], and LPBoost [35]. For each boosting algorithm, we used a forest of 100 classification trees.  
_Random Forest (RF) [8]_ is a classification algorithm comprised of many decision trees. It uses bagging and random features in the creation of each tree to create an uncorrelated forest of trees. Forest prediction by committee is more accurate than a single tree. In our experiments, we used a forest of 100 classification trees and combined the results using bagging techniques (see the _Tree Bagger_).  
_Tree Bagger [8]_ grows ensemble decision trees using bootstrap samples of the data. Tree Bagger selects a random subset of predictors to use in each decision split similar to a random forest. Bootstrap-aggregated decision trees combine the results of many decision trees, reducing the effects of overfitting and improving generalization. We used 100 trees while training the tree bagger.