Comparative analysis of optimization algorithms for a Feedforward Neural Network (FNN) on Amharic news text classification.
# Comparing 9 Optimization Algorithms on Amharic News Classification
Deep Learning — Group Assignment
| Submitted by | ID |
|---|---|
| Etsubdink Zebre | GSE/0523/18 |
| Francy Ayele | GSE/1254/18 |
| Henock Bonsa | GSE/3554/18 |
**Instructor:** Dr. Fantahun Bogale
A **simple feed-forward neural network**, written from scratch in NumPy, classifies
Amharic news articles into six categories. The network is deliberately plain; the
object of study is the **nine optimization algorithms** that train it, compared
under an identical experimental setup.
---
## The problem
Six-way topic classification of Amharic news articles:
| Amharic | English |
|---|---|
| ሀገር አቀፍ ዜና | Local News |
| ስፖርት | Sport |
| ፖለቲካ | Politics |
| ዓለም አቀፍ ዜና | International |
| ቢዝነስ | Business |
| መዝናኛ | Entertainment |
Amharic is a morphologically rich, low-resource Ethio-Semitic language in the
Ge'ez script: no standard tokenizer, several families of homophone characters used
interchangeably by writers, its own punctuation and numerals, and no stop-word list
in scikit-learn. The preprocessing in src/data.py handles all four.
**Dataset** — *An Amharic News Text Classification Dataset*, Israel Abebe Azime &
Nebil Ibrahim Mohammed (2021), arXiv:2103.05639,
CC-BY-4.0. ~51k articles; downloaded automatically on first run.
## The nine algorithms
| Part | # | Algorithm | Varies within the group |
|---|---|---|---|
| **I** | 1 | Batch GD | samples per gradient estimate |
| | 2 | Mini-batch SGD | |
| | 3 | SGD | |
| **II** | 4 | GD | the update rule |
| | 5 | GD + Momentum | |
| | 6 | GD + Nesterov | |
| **III** | 7 | AdaGrad | the per-parameter step scaling |
| | 8 | RMSProp | |
| | 9 | Adam | |
All nine are implemented by hand in src/optimizers.py against
one shared forward/backward pass. Nesterov uses the **true look-ahead form** — the
gradient is evaluated at `θ + βv` — not the re-parameterised shortcut.
## Four comparisons
* **(a)** Part-I — batch size, with everything else frozen
* **( …