
Explore the fundamentals of neural networks by building one from scratch in Python with NumPy and pandas, without TensorFlow, using Google Colab for datasets, code snippets, and challenges.
Train a neural network to identify handwritten digits using the MNIST dataset, a 70,000 grayscale 28 by 28 image set with 50k training and 20k test samples.
Turn a binary perceptron into a multiclass classifier using one-versus-rest or one-versus-one, with per-class weight vectors, computing signed distances to hyperplanes to select the class with the strongest margin.
Explore how a perceptron classifies zeros versus non-zeros in 784-dimensional image space and how a multilayer perceptron overcomes the x or problem to form a neural network.
Build a multiclass neural network with one output node per class and softmax activation. Apply cross-entropy loss and gradient-based training to learn accurate predictions.
Wanna understand deep learning and neural networks so well, you could code them from scratch? In this course, we'll do exactly that.
The course starts by motivating and explaining perceptrons, and then gradually works its way toward deriving and coding a multiclass neural network with stochastic gradient descent that can recognize hand-written digits from the famous MNIST dataset.
Course Goals
This course is all about understanding the fundamentals of neural networks. So, it does not discuss TensorFlow, PyTorch, or any other neural network libraries. However, by the end of this course, you should understand neural networks so well that learning TensorFlow and PyTorch should be a breeze!
Challenges
In this course, I present a number of coding challenges inside the video lectures. The general approach is, we'll discuss an idea and the theory behind it, and then you're challenged to implement the idea / algorithm in Python. I'll discuss my solution to every challenge, and my code is readily available on github.
Prerequisites
In this course, we'll be using Python, NumPy, Pandas, and good bit of calculus. ..but don't let the math scare you. I explain everything in great detail with examples and visuals.
If you're rusty on your NumPy or Pandas, check out my free courses Python NumPy For Your Grandma and Python Pandas For Your Grandpa.