## 5 Performance Evaluation
### Character-Level CNN  
In experiments 1 to 9, described in Table 3, we used the _imbalanced_ version of the training dataset to train the character-level CNN architectures of different hyperparameters, and evaluated the performance of these architectures on the test dataset. The number of epochs is set to 50 for all the experiments. \begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline
**Exp** & **Model** & **Test** & **Test** & **No. of** & **Runtime** & **Best** & **Worst** \\
**No.** & **Model** & **Accuracy** & **Loss** & **Epochs** & **Accuracy** & **Loss** \\ \hline \multirow{3}{*}{1} & 3 conv. layers of 100 filters, & & & & & & \\  & 2 dense layers of 1024 & 0.8558 & 0.2846 & 50 & 18 min 4 s & 0.8558 at 50 th epoch & 0.2846 at 50 th epoch \\  & neurons, dropout 0.5 & & & & & & \\ \hline \multirow{3}{*}{2} & 3 conv. layers of 100 filters, & & & & & & \\  & 2 dense layers of 1024 & 0.8422 & 0.3076 & 50 & 21 min 54 s & 0.8527 at 48 th epoch & 0.2853 at 48 th epoch \\  & neurons, dropout 0.2 & & & & & & \\ \hline \multirow{3}{*}{3} & 3 conv. layers of 100 filters, & & & & & & \\  & 2 dense layers of 1024 & 0.8551 & 0.2970 & 50 & 19 min 23 s & 0.8603 at 49 th epoch & 0.2795 at 49 th epoch \\  & neurons, dropout 0.4 & & & & & & \\ \hline \multirow{3}{*}{4} & 3 conv. layers of 256 filters, & & & & & & \\  & 2 dense layers of 1024 & 0.8498 & 0.2970 & 50 & 53 min 28 s & 0.8628 at 48 th epoch & 0.2780 at 48 th epoch \\ \cline{1-1}  & neurons, dropout 0.2 & & & & & & \\ \hline \multirow{3}{*}{5} & 3 conv. layers of 256 filters, & & & & & & \\  & 2 dense layers of 1024 & 0.8568 & 0.2833 & 50 & 64 min 29 s & 0.8593 at 48 th epoch & 0.2804 at 48 th epoch \\ \cline{1-1}  & neurons, dropout 0.5 & & & & & & \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Experiments and results of character-level CNN (using imbalanced training dataset). For the hyperparameters of the CNN in experiment 1, we fixed the number of filters of each convolution layer to 100, the number of neurons of each fully/densely connected layer to 1024, and the dropout rate of the dropout layer to 0.5. This is the initial version of the architecture (Figure 2). The best performance of experiment 1 on the test set was a 85.58% accuracy and a 28.46% loss in the 50 th epoch with a runtime of 18 min 4 s. Loss is measured as the distance/difference between the current outcome of the model and the desired outcome, representing the summation of errors in the model. In experiments 2 and 3, we reduced the dropout rate to 0.2 and 0.4, respectively, from the initial version of the architecture. The model in experiment 3 performed better in terms of accuracy (86.03%) compared to experiments 1 and 2. For experiment 4, we modified the hyperparameters with the number of filters as 256, the number of neurons as 1024, and the dropout rate as 0.2. The model in experiment 4 performed better in terms of accuracy (86.28%) compared to the previous three experiments, but its runtime was higher (53 min 28 s). In experiment 5, we increased the dropout rate to 0.5 from the architecture in experiment 4, but did not notice any improvement in the results. For experiment 6, we modified the hyperparameters with the number of filters as 100, the number of neurons as 512, and the dropout rate as 0.2. The model in experiment 6 performed better in terms of accuracy (86.36%) as well as runtime (17 min 2 s) compared to the previous five experiments. In experiment 7, we increased the dropout rate to 0.5 from the architecture in experiment 6, but did not see any improvement in the results. For experiment 8, we modified the hyperparameters with the number of filters as 256, the number of neurons as 512, and the dropout rate as 0.2, but also did not notice any improvement. In experiment 9, we increased the dropout rate to 0.5 from the architecture in experiment 8.