Machine learning is one of the fastest growing fields, and we cannot emphasize enough about its importance.
This course aims to teach one of the fundamental concepts of machine learning, i.e., Neural Network.
You will learn the basic concepts of building a model as well as the mathematical explanation behind Neural Network and based on that; you will build one from scratch (in Python).
You will also learn how to train and optimize your network to achieve a better result. We have specifically designed this course for beginners and it does not require any prior programming experience. Happy learning!
PROLOGUE
The Search for Intelligent MachinesPreview
A Nature Inspired New Golden AgePreview
INTRODUCTION
Who is this course for?Preview
How will we do it?Preview
PART 1 – A LITTLE BACKGROUND
Easy for Me, Hard for YouPreview
A Simple Predicting MachinePreview
Estimating the Constant “c” Iteratively
Classifying vs. Predicting
Building a Simple Classifier
Error in the Training Classifier
Refining the Parameters of Training Classifier
Setting up Learning Rate in Training Classifier
Limitations of Linear Classifiers
Representing Boolean Functions with Linear Classification
PART 2 – LET’S GET STARTED!
Neurons, Nature’s Computing MachinesPreview
What is an Activation Function?
Replicating Neuron to an Artificial Model
Following Signals Through A Simpler Network
Calculating Neural Network Output
Matrix Multiplication is Useful .. Honest!
Calculating Inputs for Internal Layers
A Three Layer Example: Working on Input Layer
A Three Layer Example: Working on Hidden Layer
A Three Layer Example: Working on Output Layer
PART 3 – BACKWARD PROPAGATION OF ERROR
Learning Weights From More Than One Node
Backpropagating Errors From More Output Nodes
Backpropagation: Splitting the Error
Backpropagation: Recombining the Error
Backpropagating Errors with Matrix Multiplication
PART 4 – ADJUSTING THE LINK WEIGHTS
How Do We Actually Update Weights?
Understanding the Gradient Descent Algorithm
How to Transform the Output into Error Function?
Using Gradient Descent to Update Weights
Choosing the Right Weights…Iteratively!
Weight Update Worked Example
Preparing Data: Inputs & Outputs
Preparing Data: Random Initial Weights
PART 5 – A GENTLE START WITH PYTHON
PART 6 – NEURAL NETWORK WITH PYTHON
Building the Neural Network Class
Weights – The Heart of the Network
Optional: More Sophisticated Weights
Applying Sigmoid Function
Testing Our Code Thus Far
The Complete Neural Network Code
PART 7 – TESTING NEURAL NETWORK AGAINST MNIST DATASET
The MNIST Dataset of Handwritten Numbers
A Quick Look at the Data Files
Getting the Dataset Ready
Preparing the MNIST Training Data
The Need to Rescale the Target Output
Python Code to Create and Rescale the Output Array
Updating Neural Network Code
Testing the Network on a Subset
Testing the Network Against the Whole Dataset!
Updating the Neural Network Code…Again
PART 8 – SOME SUGGESTED IMPROVEMENTS
Tweaking the Learning Rate
PART 9 – EVEN MORE FUN!
Inside the Mind of a Neural Network
Creating New Training Data by Rotations
APPENDIX: A SMALL GUIDE TO CALCULUS
Calculus without Plotting Graphs
Handling Independent Variables
7 reviews for Make Your Own Neural Network in Python – Educative
There are no reviews yet.