【泛化能力】
文章目录
1.什么是泛化
1.1.什么是泛化(generalization)
- 模型不仅在训练集表现良好,在未知的数据(测试集)也表现良好,即具有良好的泛化能力
2.什么是正则化
2.1.什么是正则化
-
所谓正则化,它的目标就是要同时让经验风险和模型复杂度都最小,对模型的一种约束
min f ∑ i = 1 n V ( f ( x i ) , y i ) + λ R ( f ) \min _{f} \sum_{i=1}^{n} V\left(f\left(x_{i}\right), y_{i}\right)+\lambda R(f) fmini=1∑nV(f(xi),yi)+λR(f) -
f 即预测结果函数,V 即损失函数
-
R(f)跟模型复杂度相关的单调递增函数,用于约束模型的表达能力
3.常用的正则化方法
3.1.正则化方法分类
-
显示正则化(经验正则化,参数正则化)
- 网络结构,损失函数的修改,模型使用方法的调整
-
隐士正则化
- 非直接正则化,间接获取更好的泛化能力
3.2 经验正则化方法
-
提前终止
-
模型集成(essemalbe)
3.2.1经验正则化方法-Dropout
- 训练时按照概率P随机的丢弃一部分节点,测试时不丢弃,输出结果乘以P
3.2.2其他经验正则化方法
- Dropout connect,随机去掉链接
- Maxout,取N个激活的最大值
- Stochastic pooling,随机选择池化
- Stochastic depth 将res block 随机为等价映射
- 、、、
3.3参数正则化方法
3.4.隐式正则化方法
- 数据归一化(batch normalization 等)
- 数据增强
- 随机梯度下降优化