Logo Lanfrica

Etsubdink-Zebre/amharic-news-optimization

Domain:

natural language processing

Record type:

project
Creator:
Ets
Host:
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 * **( …