This is the second edition of the book. The code has been formatted with fixed with a fixed width font, and includes line numbering. This book derives and builds a multi-layer, multi-unit Deep Learning from the basics. The first chapter starts with the derivation and implementation of Logistic Regression as a Neural Network. This followed by building a generic L-Layer Deep Learning Network which performs binary classification. This Deep Learning network is then enhanced to handle multi-class classification along with the necessary derivations for the Jacobian of softmax and cross-entropy loss. Further chapters include different initialization types, regularization methods (L2, dropout) followed by gradient descent optimization techniques like Momentum, Rmsprop and Adam. Finally the technique of gradient checking is elaborated and implemented. All the chapters include implementations in vectorized Python, R and Octave. Detailed derivations are included for each critical enhancement to the Deep Learning. By the time you reach the last chapter, the implementation includes fully functional L-Layer Deep Learning with all the bells and whistles in vectorized Python, R and Octave. The code, for all the chapters, has been included in the Appendix section

*Author: Tinniam V Ganesh*