导读
本文对几种常用的防止模型过拟合的方法进行了详细的汇总和讲解。
LP范数
L1范数
特征选择
可解释性
L2范数
L1范数和L2范数的区别
L1范数相当于加入了一个Laplacean先验;
L2范数相当于加入了一个Gaussian先验。
Dropout
在Dropout每一轮训练过程中随机丢失神经元的操作相当于多个DNNs进行取平均,因此用于预测时具有vote的效果。
减少神经元之间复杂的共适应性。当隐藏层神经元被随机删除之后,使得全连接网络具有了一定的稀疏化,从而有效地减轻了不同特征的协同效应。也就是说,有些特征可能会依赖于固定关系的隐含节点的共同作用,而通过Dropout的话,就有效地组织了某些特征在其他特征存在下才有效果的情况,增加了神经网络的鲁棒性。
Batch Normalization
归一化、标准化 & 正则化
把数变为(0, 1)之间的小数
把有量纲的数转化为无量纲的数
归一化和标准化的区别:
归一化:缩放仅仅跟最大、最小值的差别有关。
标准化:缩放和每个点都有关系,通过方差(variance)体现出来。与归一化对比,标准化中所有数据点都有贡献(通过均值和标准差造成影响)。
为什么要标准化和归一化?
提升模型精度:归一化后,不同维度之间的特征在数值上有一定比较性,可以大大提高分类器的准确性。
加速模型收敛:标准化后,最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解。如下图所示: