Training and optimizing an Artificial Neural Network for classification from scratch with just numpy.
Mustafa Qazi (~mustafa65) |
As neural networks, or in general, machine learning, form the crux of almost all the new technologies, its good to know the internal machinery of these algorithms.
We will, in this workshop, train a neural network and study its ins and outs, and finally classify hand written digits with any image of choice.
First we will get our hands onto numpy and using that matrix calculus .
Next will be learning about gradient descent with multiple multidimensional visualizations using matplotlib( not necessary to be acquainted with). Here we will understand why it is best way to find a needle in a very very big haystack, by performing live comparisons with other methods. And that will be all you'll need to kill in this session.
The Neural Net: This will start with structure of neural networks and why it is that way. Then forward propagation, and getting our heads over what is multiplied/dotted with with what. Then we'll study about different activation functions and cost functions, and where to use which. And finally, back-propagation, conquering the last enemy and minimizing the cost function for Keanu Reeves like precision.
In addition to it, we'll differentiate between stochastic, batch and mini-batch gradient descent, and compare their results.
At the end of session, we'll test our neural network on digit images of our choice, and further train the network if necessary.
Introductory knowledge of python
Basic Matrix operations
I'm Mustafa Qazi, a third year Engineering student in Computer Science, from Govt. College of engineering, Aurangabad. I have four to five months of experience in Python and two months now in machine learning. I have a few projects in machine learning and this being one of them. I know somewhat about big-data jargons like map-reduce, Pig and Spark .Ya, I'm not an Ian Goodfellow in machine learning, but I'll be happy share what I have learned uptill now, and learn further with what experience I'll get from this.