正则化(regularizaiton)

1. 正则化定义

修改学习算法,使其降低泛化误差(generalization error)而非训练误差。最新定义:旨在更好实现模型泛化的补充技术,即在测试集上得到更好的表现。(Kukacka et al,2017)

2. 正则化用途

正则化是为了防止过拟合, 进而增强模型的泛化能力。

3. 正则化方法

  • 经验正则化:通过工程上的技巧来实现更低的泛化误差方法,比如:提前终止法(earlystopping)、模型集成、Dropout等;
  • 参数正则化:直接提供正则化约束,比如:L1/L2正则化法等;
  • 隐式正则化:不直接提供约束,比如:数据有关的操作,包括归一化、数据增强等。

下面对常用的正则化方法进行介绍:

3.1 提前终止法(earlystopping)

提前终止法适用于模型表达能力很强的时候。此时模型的训练误差会随着训练次数的增多而逐渐下降,但是训练误差却会随着训练次数的增加呈现先下降再上升的趋势(模型可能开始过拟合),提前终止法就是在训练误差最低的时候终止训练。比如,模型训练次数从100次逐渐增加到200次,期间误差是不断减小的,但是测试误差可能是训练次数是100到150次时不断下降,从150次到200次又开始上升,这时候我们就要在训练次数为150次的时候终止训练,即训练次数取150。

3.2 模型集成(ensemble)

常用的模型集成方法有:bagging、boosting、stacking。

3.3 dropout

dropoutd的基本步骤是在每一次的迭代中,随机删除一部分节点,只训练剩下的节点。每次迭代都会随机删除,每次迭代删除的节点也都不一样,相当于每次迭代训练的都是不一样的网络,通过这样的方式降低节点之间的关联性以及模型的复杂度,从而达到正则化的效果。dropout的缺点在于,需要将训练集分为不同子集输入每一次的迭代,这就需要较大的训练集,所以在训练集较小的情况下,dropout的效果可能并不好。

3.4 L1/L2正则化

L1正则化会让特征变得稀疏,起到特征选择的作用;L2正则化会让模型变得更简单,防止过拟合,而不会起到特征选择的作用。具体分析如下:
对L1正则化:

3.5 归一化

见 规范化、归一化、标准化、中心化、正则化

3.6 数据增强

扩大数据集的一种方法。在训练样本不足无法获取或者获取成本高昂时,对已有的样本数据进行变换得到新的样本的一种方法。对图像而言包括旋转、裁剪、扭曲、放大等操作来获得新的图片的方法。

你可能感兴趣的:(网络,深度学习,机器学习,python,java)