3.6.1 Initializing Model Parameters . . . . . . . . . . . . . . . . . . . . . . . . 117
3.6.2 Dening the Somax Operation . . . . . . . . . . . . . . . . . . . . . . . 118
3.6.3 Dening the Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
3.6.4 Dening the Loss Function . . . . . . . . . . . . . . . . . . . . . . . . . . 119
3.6.5 Classication Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
3.6.6 Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
3.6.7 Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
3.7 Concise Implementation of Somax Regression . . . . . . . . . . . . . . . . . . . 124
3.7.1 Initializing Model Parameters . . . . . . . . . . . . . . . . . . . . . . . . 125
3.7.2 Somax Implementation Revisited . . . . . . . . . . . . . . . . . . . . . . 125
3.7.3 Optimization Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
3.7.4 Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4 Multilayer Perceptrons 129
4.1 Multilayer Perceptrons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.1.1 Hidden Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.1.2 Activation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
4.2 Implementation of Multilayer Perceptrons from Scratch . . . . . . . . . . . . . . 137
4.2.1 Initializing Model Parameters . . . . . . . . . . . . . . . . . . . . . . . . 137
4.2.2 Activation Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
4.2.3 Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
4.2.4 Loss Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
4.2.5 Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
4.3 Concise Implementation of Multilayer Perceptrons . . . . . . . . . . . . . . . . . 140
4.3.1 Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
4.4 Model Selection, Undertting, and Overtting . . . . . . . . . . . . . . . . . . . . 142
4.4.1 Training Error and Generalization Error . . . . . . . . . . . . . . . . . . . 142
4.4.2 Model Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
4.4.3 Undertting or Overtting? . . . . . . . . . . . . . . . . . . . . . . . . . . 146
4.4.4 Polynomial Regression . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
4.5 Weight Decay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
4.5.1 Norms and Weight Decay . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
4.5.2 High-Dimensional Linear Regression . . . . . . . . . . . . . . . . . . . . 154
4.5.3 Implementation from Scratch . . . . . . . . . . . . . . . . . . . . . . . . 154
4.5.4 Concise Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
4.6 Dropout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
4.6.1 Overtting Revisited . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
4.6.2 Robustness through Perturbations . . . . . . . . . . . . . . . . . . . . . . 160
4.6.3 Dropout in Practice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
4.6.4 Implementation from Scratch . . . . . . . . . . . . . . . . . . . . . . . . 161
4.6.5 Concise Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
4.7 Forward Propagation, Backward Propagation, and Computational Graphs . . . . . 165
4.7.1 Forward Propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
4.7.2 Computational Graph of Forward Propagation . . . . . . . . . . . . . . . . 166
4.7.3 Backpropagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
4.7.4 Training Neural Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
4.8 Numerical Stability and Initialization . . . . . . . . . . . . . . . . . . . . . . . . . 169
4.8.1 Vanishing and Exploding Gradients . . . . . . . . . . . . . . . . . . . . . 170
4.8.2 Parameter Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
4.9 Environment and Distribution Shi . . . . . . . . . . . . . . . . . . . . . . . . . . 174
4.9.1 Types of Distribution Shi . . . . . . . . . . . . . . . . . . . . . . . . . . 175
iii