
Overview of the course and prerequisites.
Discover how to succeed in this course by embracing questions, meeting prerequisites, and hands-on coding and note taking, with anonymous q&a and practical exercises.
Review the prerequisites for the course and explore logistic regression as the building block of neural networks, showing how models make predictions and how to train them to measure error.
Explore how logistic regression learns weights through the binary cross-entropy loss, derives gradients, and applies gradient descent with learning rate, while considering regularization to prevent oversized weights.
An almost purely qualitative description of neural networks.
Explore how to prepare e-commerce data for deep learning by encoding categories, normalizing numerical features, and building logistic regression and neural network models to predict user actions.
Explore how neural networks extend logistic regression to non-linear classification by combining multiple neurons, outline prediction and training, and apply softmax and sigmoid for multi-class and binary tasks.
Transition from logistic regression to neural networks through a one-layer feedforward network, using weights, biases, and sigmoid activations to compute outputs, and explore nonlinearities like tanh and relu.
What's the function we use to classify more than 2 things?
Explore the equivalence of sigmoid and softmax for two-class problems and derive the softmax form. Advise using softmax for any K, as it covers the sigmoid case when K=2.
Explore feedforward neural networks with two inputs and three hidden units, predicting binary outcomes and softmax multiclass targets. Learn vectorized weight matrices, biases, and one-hot encoding for training labels.
Access all course code at github.com/lazyprogrammer/machine_learning_examples, with files like forwardprop.py, backprop.py, xor_donut.py, and tf_example.py in the ann_class folder. Run git pull to stay updated.
How do we code the softmax in Python?
Let's extend softmax and code the entire calculation from input to output.
Practice making predictions with a neural network in an e-commerce project, using a forward pass, softmax, and random weights to generate and evaluate initial predictions before training.
Explore a digital suggestion box to gather targeted feedback on your background, course difficulty, and missing topics like CNNs, transformers, or quantum mechanics, improving Python explanations.
Mirror the big picture of backpropagation by centering on the cost function and gradient descent for multiclass predictions, not the calculus details, and translate the equations into Python code.
Learn to train multi-class logistic regression with a softmax output, using cross-entropy loss and gradient descent, and apply the chain rule to derive the required gradients for weight W.
Derive the gradient of the logistic regression objective with softmax and simplify using delta cancellation and dummy variables, then implement with X transpose times T minus Y via numpy dot.
How to code bacpropagation in Python using numpy operations vs. slow for loops.
the lecture extends backpropagation to a three-layer neural network, deriving gradients for W3, W2, and W1 via the chain rule and total derivatives.
Implement and train a multi-class neural network in Python, including data preprocessing, one-hot encoding, softmax cross-entropy loss, gradient descent, and evaluating train and test accuracy in the Colab notebook.
Explore gradient updates for binary classification with a one-hidden-layer neural network using a sigmoid output and binary cross-entropy.
Train neural networks by minimizing a cost function with backpropagation and gradient descent, using vectorized NumPy on two-dimensional data, and compare accuracies to logistic models on an e-commerce dataset.
What are the donut and XOR problems again?
We look again at the XOR and donut problem from logistic regression. The features are now learned automatically.
Explore neural networks for regression, using a 100 hidden units feedforward model to fit a satel shape curve y equals x1 times x2, with gradient descent and residuals visualization.
sigmoid, tanh, relu along with their derivatives
Tips on choosing learning rate, regularization penalty, number of hidden units, and number of hidden layers.
Explore practical methods for selecting learning rate and regularisation penalties in neural networks, using log-scale tuning, batch-size normalization, and debugging strategies.
A look at Google's new TensorFlow library.
Learn to build neural networks in three lines of code with Sci-Kit learn using MLPClassifier for training and predicting, with API consistency across models.
Explore facial expression recognition using a 48x48 grayscale Kaggle dataset of seven emotions. Preprocess data from CSV, and compare neural network models by accuracy, complexity, and training time.
Build a neural network for facial expression recognition in Python using sigmoid and compare binary classification to logistic regression, detailing forward propagation, backprop, and training.
Derive the softmax derivative for backpropagation, computing with respect to a(k) and a(k′) to obtain y(k)−y(k)^2 and −y(k)y(k′). Use the delta function to simplify the sum and yield t_n(k)−y_n(k).
Explore common backpropagation issues and how careful calculus and indexing conventions clarify the derivatives of softmax and cross-entropy for weights W and V in hidden and output layers.
Clarifies the difference between neural networks and deep learning, debunks myths about CNNs and RNNs, and traces their evolution from perception classifier to modern architectures.
Ever wondered how AI technologies like OpenAI ChatGPT, GPT-4, DALL-E, Midjourney, and Stable Diffusion really work? In this course, you will learn the foundations of these groundbreaking applications.
This course will get you started in building your FIRST artificial neural network using deep learning techniques. Following my previous course on logistic regression, we take this basic building block, and build full-on non-linear neural networks right out of the gate using Python and Numpy. All the materials for this course are FREE.
We extend the previous binary classification model to multiple classes using the softmax function, and we derive the very important training method called "backpropagation" using first principles. I show you how to code backpropagation in Numpy, first "the slow way", and then "the fast way" using Numpy features.
Next, we implement a neural network using Google's new TensorFlow library.
You should take this course if you are interested in starting your journey toward becoming a master at deep learning, or if you are interested in machine learning and data science in general. We go beyond basic models like logistic regression and linear regression and I show you something that automatically learns features.
This course provides you with many practical examples so that you can really see how deep learning can be used on anything. Throughout the course, we'll do a course project, which will show you how to predict user actions on a website given user data like whether or not that user is on a mobile device, the number of products they viewed, how long they stayed on your site, whether or not they are a returning visitor, and what time of day they visited.
Another project at the end of the course shows you how you can use deep learning for facial expression recognition. Imagine being able to predict someone's emotions just based on a picture!
After getting your feet wet with the fundamentals, I provide a brief overview of some of the newest developments in neural networks - slightly modified architectures and what they are used for.
NOTE:
If you already know about softmax and backpropagation, and you want to skip over the theory and speed things up using more advanced techniques along with GPU-optimization, check out my follow-up course on this topic, Data Science: Practical Deep Learning Concepts in Theano and TensorFlow.
I have other courses that cover more advanced topics, such as Convolutional Neural Networks, Restricted Boltzmann Machines, Autoencoders, and more! But you want to be very comfortable with the material in this course before moving on to more advanced subjects.
This course focuses on "how to build and understand", not just "how to use". Anyone can learn to use an API in 15 minutes after reading some documentation. It's not about "remembering facts", it's about "seeing for yourself" via experimentation. It will teach you how to visualize what's happening in the model internally. If you want more than just a superficial look at machine learning models, this course is for you.
"If you can't implement it, you don't understand it"
Or as the great physicist Richard Feynman said: "What I cannot create, I do not understand".
My courses are the ONLY courses where you will learn how to implement machine learning algorithms from scratch
Other courses will teach you how to plug in your data into a library, but do you really need help with 3 lines of code?
After doing the same thing with 10 datasets, you realize you didn't learn 10 things. You learned 1 thing, and just repeated the same 3 lines of code 10 times...
Suggested Prerequisites:
calculus (taking derivatives)
matrix arithmetic
probability
Python coding: if/else, loops, lists, dicts, sets
Numpy coding: matrix and vector operations, loading a CSV file
Be familiar with basic linear models such as linear regression and logistic regression
WHAT ORDER SHOULD I TAKE YOUR COURSES IN?:
Check out the lecture "Machine Learning and AI Prerequisite Roadmap" (available in the FAQ of any of my courses, including the free Numpy course)