## 5 Results and Analysis  
We used two datasets for the handwritten recognition process: the Kaggle dataset for our English letter (A-Z) and MNIST for our numeric characters (0-9). Two optimizers were used for each of the datasets, 'ADAM' and 'RMSprop', as well as three different learning rates (LRs) of 0.001, 0.0001, and 0.00001 for each of the optimizers. This gives us six CNN models for each of the datasets and twelve models overall. To avoid confusion and repetition, we named our models. The models were named as follows for the Kaggle dataset: with a learning rate of 0.001, the model under the 'ADAM' optimizer is K1 and the one under the 'RMSprop' is K2; with a learning rate of 0.0001, the model under the 'ADAM' optimizer is K3 and the one under the 'RMSprop' is K4; with a learning rate of 0.00001, the model under the 'ADAM' optimizer is K5 and the one under the 'RMSprop' is K6. The models were named similarly for the MNIST dataset from model M1 to model M6. Our results indicated that we obtained the best result under the 'ADAM' optimizer with a learning rate of 0.00001 under the Kaggle dataset (model K5), and under 'RMSprop' with a learning rate of 0.001 for the MNIST dataset (model M2). We then calculated the \(F1\) score (micro, macro, and weighted average) and obtained confusion matrices and two classification reports for the two models that give us the best accuracy for the each datasets. Figure 7 simplifies the selection of the best models for each dataset. Figure 7: Best model selection from the Kaggle and MNIST datasets. For the alphabet dataset, the overall accuracies using the 'ADAM' optimizer in the proposed CNN model for handwritten English alphabet recognition were 99.516%, 99.511%, and 99.563% for LR 0.001, LR 0.0001, and LR 0.00001, respectively. The same model using 'RMSprop' achieved the accuracy of 99.292%, 99.108%, and 99.191%, respectively, by LR 0.001, LR 0.0001, and LR 0.00001. These results clearly show that, in terms of accuracy, the model using the 'ADAM' optimizer with LR 0.00001, named as model K5, performs better than the other proposed models. It is clear that all the proposed six models for character recognition achieved above 99.00% overall accuracy. For the digit dataset, the overall accuracies using 'RMSprop' for handwritten digit recognition were 99.642%, 99.452%, and 98.142% for LR 0.001, LR 0.0001, and LR 0.00001, respectively. The same model using the 'ADAM' optimizer achieved accuracies of 99.571%, 99.309%, and 98.142% for LR 0.001, LR 0.0001, and LR 0.00001, respectively. Figures 8 and 9 depict validation accuracies and Figures 10 and 11 show the validation losses of all the twelve models with the Kaggle and MNIST dataset, respectively. It is clear that overall accuracy decreases with the decrease in learning rate (LR). This confirms that the model using 'RMSprop' with LR 0.001, named as model M2, outperformed the other proposed models in terms of accuracy. From Figures 9 and 11, it can be clearly observed that no overfitting happens for the digit recognition or for alphabet recognition; overfitting occurs when 'RMSprop' is used, which is depicted in Figures 8d-f and 10d-f. Overfitting occurs when the model performs fine on the training data but does not perform exactly in the testing set. Here, the model learns the unnecessary information within the dataset as it trains for a long time on the training data. The performance evaluation of the models is more obvious and explicit from the matrices of specificity, recall, precision, \(F1\) score, and support. The possible outcomes obtained by the confusion matrix (CM) calculate the performance of these matrices. This CM has four different outcomes: total false positive (TFP), total false negative (TFN), total true positive (TTP), and total true negative (TTN). The CM sets up nicely to compute the per-class values of recall, precision, specificity, and \(F1\) score for each of the datasets. Let us consider the scenario where we want the model to detect the letter 'A'.