Understand machine learning basics like linear regression, gradient descent, deep learning and more without frameworks.

My name is Loek van den Ouweland, a senior software engineer with 25 years of experience. I am the creator of Wunderlist for windows, Microsoft To-do and Mahjong for Windows and I love to teach software engineering!

What you’ll learn

- Understand the ideas behind neural networks..
- Learn how to use plain Python to create neural networks..
- Learn concepts like feed forward, backward propagation, gradient descent, regression step by step..
- Understand how Softmax, ReLU and Sigmoid allow you to approximate complex non-linear prediction functions..
- Realise that neural networks are not magic and can be implemented without using libraries, in any language you desire..

Course Content

- Course Introduction –> 2 lectures • 11min.
- Neural Network Introduction –> 1 lecture • 4min.
- Linear Regression –> 3 lectures • 37min.
- Real Data –> 3 lectures • 24min.
- Classification –> 3 lectures • 26min.
- Multiclass Classification –> 2 lectures • 28min.
- Hidden Layers, Random Weights –> 3 lectures • 33min.
- Handwritten Digits Recognition –> 3 lectures • 24min.

Requirements

- You have an interest in neural networks..
- You have some programming experience in Python or another language..
- There will be no exercises in this course. Feel free to write along with the code examples..

My name is Loek van den Ouweland, a senior software engineer with 25 years of experience. I am the creator of Wunderlist for windows, Microsoft To-do and Mahjong for Windows and I love to teach software engineering!

In this course you will learn how to build Neural Networks with plain Python. **Without the need for any library**, you will see how a simple neural network from 4 lines of code, evolves in a network that is able to recognise handwritten digits. In this process, you will learn concepts like: **Feed forward, Cost, Back propagation, Hidden layers, Linear regression, Gradient descent** and **Matrix multiplication**.

The topics of the course are:

- Linear regression
- Cost functions
- Bias
- Multiple inputs
- Normalisation
- Gradient descent
- Classification
- Activation
- Multi-class classification
- Non-linear data
- Hidden layers

Every topic is a continuation of a previous example. This way, you will learn neural networks from the ground up.

**Why is this course different than others?**

Many tutorials claim to start from scratch, but import external libraries or rapidly type in code and before executing even once, you are looking at 50 lines of code. When finally the code is run, you are totally lost and still stuck trying to understand line 3.

It is my goal to start with the absolute beginning. That means an empty python file, and no libraries imported. There are many steps we need to make before we reach the goal. But that does not have to be a problem as long as we take them one step at the time!

The feedback I get from my students is that after this course, they understand how neural networks really work. They have learned the code to create neural networks from the ground up.