I need support with this Machine Learning question so I can learn better.
The purpose of this homework is to allow you to obtain a deeper understanding of the underlying working mechanisms and theory behind neural networks. The homework consists of a series of tasks that allow you to understand, develop or re-implement some of the features of the neural networks.
Read and fully understand the article Nothing but NumPy: Understanding & Creating Neural Networks with Computational Graphs from Scratch (https://www.kdnuggets.com/2019/08/numpy-neural-networks-computational-graphs.html). If you have not programmed in Python before, please type yourself all the code provided at the end of the article. This will help you get a feel of Python programming and help you understand what is going on. (Even if you programmed in Python before I strongly recommend you do not skip this step.)
Get the program from Task 1 to work on the MNIST database (http://yann.lecun.com/exdb/mnist/). Evaluate the performance (classification error) of your program in comparison to others (https://rodrigob.github.io/are_we_there_yet/build/classification_datasets_results.html). Use a minimum of 3 internal layers with minimum 20 activation nodes in each internal layer.
Save your program and the corresponding results as version 1 (V1).
Change the following in your program:
- Replace batch gradient descent with mini-batch gradient descent (http://cs231n.github.io/optimization-1/#gd) to train the network. Re-run your program on the MNIST dataset and compare the performance (execution speed due to mini-batch change and the classification error). Save this program as version 2 (V2).
- Change the activation function to another based on your choice (https://en.wikipedia.org/wiki/Activation_function). Note that changing the activation function will require you to change backpropagation derivatives. Re-run your program on the MNIST dataset and compare the performance (execution speed due to the activation function change and the classification error). Save this program as version 3 (V3).
Summarize and explain the observed performance changes in all 3 versions of your program in a short presentation (not more than 10 slides).
Submit all versions of your program, results, and slides in a zipped directory named HW.zip.
Requirements: 10 Slides Maximum + All Python Code + Results | .ppt file | Python