李宏毅-机器学习2021春-2
李宏毅-机器学习2021春-2
1 机器学习任务攻略
Model bias:模型过于简单,有局限性
Optimization Issue:模型足够复杂了,但Optimization做的不够好。
Overfitting:在训练集上效果好,在测试集上效果差。解决方法如下:
- 增加训练数据,Data augmentation(图片左右翻转)
- 限制模型,减少模型的flexibility:
- 减少参数,共享参数(CNN)
- 减少features
- Early stopping
- Regularization
- Dropout
模型的复杂性需要在Overfitting和Model bias间进行trade-off
mismatch:训练集和测试集的数据分别不同
N-fold Cross Validation:将Training Set进行不同的分组,分别对模型进行训练和验证,得到的mse取平均值。
2 类神经网络训练不起来怎么办
2.1 Local Minima与Saddle Point
Critical point包括Local Minima与Saddle Point。
当有很多参数时,Local Minima几乎不存在。
2.2 Batch与Momentum
Batch
- Shuffle:在一个epoch结束后重新分batch。
大Batch v.s. 小Batch
当考虑并行运算(gpu)后,大Batch的运行速度更快。
小Batch的noise更大,但这反而有助于训练。
结论:小Batch效果更好,但耗时间更多。
Momentum
2.3 Adaptive Learning Rate
$$ \theta_i^{t+1}\leftarrow\theta_i^t-\frac{\eta}{\sigma^t_i}g^t_i $$
Root Mean Square:
- Used in Adagrad
RMSProp:
Learning Rate Scheduling
- Learning Rate Decay:
- Warm Up:
Summay of Optimization
2.4 Batch Normalization
Feature Normalization
在实际中,由于$z^1$的改变,会引起$\mu和\sigma$的改变,进而引起$\widetilde z^1、\widetilde z^2、\widetilde z^3$的改变,因此,整个Batch组成了一个大的神经网络。
Batch Normalization
$\gamma$和$\beta$一开始是全1和全0,它们作为参数,被机器学习。