Find online courses made by experts from around the world.
Take your courses with you and learn anywhere, anytime.
Learn and practice realworld skills and achieve your goals.
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 fullon nonlinear 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 GPUoptimization, check out my followup 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.
All the code for this course can be downloaded from my github: /lazyprogrammer/machine_learning_examples
In the directory: ann_class
Make sure you always "git pull" so you have the latest version!
HARD PREREQUISITES / KNOWLEDGE YOU ARE ASSUMED TO HAVE:
TIPS (for getting through the course):
USEFUL COURSE ORDERING:
Not for you? No problem.
30 day money back guarantee.
Forever yours.
Lifetime access.
Learn on the go.
Desktop, iOS and Android.
Get rewarded.
Certificate of completion.
Section 1: What is a neural network?  

Lecture 1  03:45  
Overview of the course and prerequisites. 

Lecture 2  04:20  
An almost purely qualitative description of neural networks. 

Lecture 3 
Where does this course fit into your deep learning studies?
Preview

04:57  
Lecture 4 
Deep Learning Readiness Test

05:33  
Lecture 5 
Introduction to the ECommerce Course Project

08:52  
Section 2: Classifying more than 2 things at a time  
Lecture 6 
From Logistic Regression to Neural Networks

05:12  
Lecture 7  02:54  
What's the function we use to classify more than 2 things? 

Lecture 8 
Sigmoid vs. Softmax

01:30  
Lecture 9 
Where to get the code for this course

01:30  
Lecture 10  03:39  
How do we code the softmax in Python? 

Lecture 11  06:23  
Let's extend softmax and code the entire calculation from input to output. 

Lecture 12 
ECommerce Course Project: PreProcessing the Data

05:24  
Lecture 13 
ECommerce Course Project: Making Predictions

03:55  
Quiz 1  1 question  
What do you get if you don't use a nonlinearity such as sigmoid, tanh, rectifier, or softmax? 

Quiz 2  1 question  
test 

Section 3: Training a neural network  
Lecture 14 
What does it mean to "train" a neural network?

06:15  
Lecture 15  11:50  
Derivation of backpropagation from first principles. Defining the objective function, taking the log, and differentiating the log with respect to weights in each layer. 

Lecture 16  04:47  
A further look into backpropagation. 

Lecture 17  04:37  
Backpropagation for deeper networks, exposing the structure, and how to code it more efficiently. 

Lecture 18  17:07  
How to code bacpropagation in Python using numpy operations vs. slow for loops. 

Lecture 19 
The WRONG Way to Learn Backpropagation

03:52  
Lecture 20 
ECommerce Course Project: Training Logistic Regression with Softmax

08:11  
Lecture 21 
ECommerce Course Project: Training a Neural Network

06:19  
Quiz 3 
Backpropagation for binary output

1 question  
Section 4: Practical Machine Learning  
Lecture 22  01:06  
What are the donut and XOR problems again? 

Lecture 23  04:21  
We look again at the XOR and donut problem from logistic regression. The features are now learned automatically. 

Quiz 4 
Try the Donut and XOR yourself

1 question  
Lecture 24  01:26  
sigmoid, tanh, relu along with their derivatives 

Lecture 25  04:10  
Tips on choosing learning rate, regularization penalty, number of hidden units, and number of hidden layers. 

Lecture 26 
Manually Choosing Learning Rate and Regularization Penalty

04:08  
Section 5: TensorFlow, exercises, practice, and what to learn next  
Lecture 27  07:31  
A look at Google's new TensorFlow library. 

Lecture 28 
Visualizing what a neural network has learned using TensorFlow Playground

11:35  
Lecture 29  03:41  
What did you learn? What didn't you learn? Where can you learn more?  
Lecture 30 
You know more than you think you know

04:52  
Lecture 31 
How to get good at deep learning + exercises

05:07  
Section 6: Project: Facial Expression Recognition  
Lecture 32 
Facial Expression Recognition Problem Description

12:21  
Lecture 33 
The class imbalance problem

06:01  
Lecture 34 
Utilities walkthrough

05:45  
Lecture 35 
Facial Expression Recognition in Code (Binary / Sigmoid)

12:13  
Lecture 36 
Facial Expression Recognition in Code (Logistic Regression Softmax)

08:57  
Lecture 37 
Facial Expression Recognition in Code (ANN Softmax)

10:44  
Section 7: Appendix  
Lecture 38 
How to install Numpy, Scipy, Matplotlib, Pandas, IPython, Theano, and TensorFlow

17:22  
Lecture 39 
Gradient Descent Tutorial

04:30 
I am a data scientist, big data engineer, and full stack software engineer.
For my masters thesis I worked on braincomputer interfaces using machine learning. These assist nonverbal and nonmobile persons communicate with their family and caregivers.
I have worked in online advertising and digital media as both a data scientist and big data engineer, and built various highthroughput web services around said data. I've created new big data pipelines using Hadoop/Pig/MapReduce. I've created machine learning models to predict clickthrough rate, news feed recommender systems using linear regression, Bayesian Bandits, and collaborative filtering and validated the results using A/B testing.
I have taught undergraduate and graduate students in data science, statistics, machine learning, algorithms, calculus, computer graphics, and physics for students attending universities such as Columbia University, NYU, Humber College, and The New School.
Multiple businesses have benefitted from my web programming expertise. I do all the backend (server), frontend (HTML/JS/CSS), and operations/deployment work. Some of the technologies I've used are: Python, Ruby/Rails, PHP, Bootstrap, jQuery (Javascript), Backbone, and Angular. For storage/databases I've used MySQL, Postgres, Redis, MongoDB, and more.