# Amharic Handwritten Character Recognition
A neural network that classifies handwritten Amharic characters, built to
practice neural network fundamentals (forward propagation, dense layers,
softmax classification) while tackling a real, underserved problem: Amharic
handwriting recognition, an area with far less tooling and research
attention than Latin-script OCR.
## Why this scope
Amharic's full script (Ge'ez/Fidel) has 33 base consonants, each written in
7 vowel-modified forms ("orders") — 231+ total character shapes. This
project deliberately scopes down to the **33 base (first-order) characters
only**. This keeps the model, a plain dense neural network, appropriately
matched to the problem's complexity, while still tackling a real
classification task grounded in actual research datasets rather than a toy
problem like MNIST.
## Results
| Model | Test Accuracy |
|---|---|
| Logistic Regression (baseline) | 82.4% |
| Dense Neural Network | 86.3% |
| **Convolutional Neural Network (CNN)** | **95.8%** |
The dense neural network achieved an 86.3% test accuracy (~3.9 percentage
points over the linear baseline). Upgrading to a CNN yielded a substantial leap
to **95.77% test accuracy** (+9.5 pp over Dense NN, +13.4 pp over baseline).
Across 3 runs with different random seeds, CNN test accuracy consistently
ranged from **95.4% to 96.5%** (averaging **95.89%**), confirming the stability
of spatial feature learning across initializations.
### Training curves
Validation accuracy tracks *above* training accuracy for most of training —
a signature of the data augmentation (random rotation/translation/zoom)
working as intended: it makes the training task harder, which reduces
overfitting rather than causing it.
### Confusion matrix
Predictions are strongly concentrated on the diagonal (correct), with errors
sharply reduced across all character classes.
**The primary remaining confusion:** ደ (`169de`, `U+12F0`) predicted as ጸ (`211Te`, `U+1338`):
- **Dense NN** …