~Myself [when the model is not learning]

Neural Networks are stupid, yet extremely powerful!

Wow, bold statement to begin with! This said, I am indeed a “statistician” and I have to belittle my closest “competitors”, right?

Anyway, if you are still interested in** how I made my PC recognize and read House Numbers**, at the point of becoming so good at that to **passing the feared mother with glasses**

**test**, just keep on reading!

## The Task | SVHN Dataset

During my **Erasmus **in **Portugal**, I had the chance to attend a **Machine Learning** **course **called **ADNE **(to be fancy, *Aprendizagem com Dados Não Estruturados*), that **revolved **on the basic aspects of **Neural Networks**. One of the aspects that I **enjoyed **the most about this course, was the fact that it was **extremely practical**, with several projects on real-life data.

One of this project involved the **Street View House Numbers (SVHN) Dataset**, a real-world image dataset made up by **more **than **600.000 images** obtained from **house numbers in Google Street View**.

The task was pretty simple on theory: to **build **a **Neural Network algorithm** that is able to **correctly identify **the **house number** from any given image of the **SVHN Dataset**.

On a second thought, though, we need to **consider **the **following points**:

- Not every house has the same number of digits
- The colour and font of each house number may vary
- Images may be taken from different angles and distances

This complicates the problem considerably, as it is necessary to **address these issues** when designing the algorithm.

## The Solution

The solution was based on a **Convolutional Neural Network**, and I have included all the **data**, the **codes **and the **weights **of the **algorithm **in a **GitHub repository** 😊

- GitHub repo: SVHN – CNN