Building a modular Deep Neural Network system using only the NumPy and Math python libraries. The system has the capacity to add layers with different activation functions, backpropogate error and plot average cost.
The system built here is meant for Multi-Classification problems with Softmax as the output layer activation function. Therefore, a Cross-Entropy cost function was implemented:
Based on the Softmax activation and Cross-Entropy loss, the local gradients for output and hidden layer nodes respectively are calculated as follows using the chain rule of differentiation:
Lastly, weights are updated using the following formula: