正则化

Regularization

Posted by 石头人m on May 9, 2018

1.正则化作用

正则化技术广泛应用在机器学习和深度学习算法中,其本质作用是防止过拟合、提高模型泛化能力。过拟合简单理解就是训练的算法模型太过复杂了,过分考虑了当前样本结构。其是防止过拟合的其中一种技术手段。在早期的机器学习领域一般只是将范数惩罚叫做正则化技术,而在深度学习领域认为:能够显著减少方差,而不过度增加偏差的策略都可以认为是正则化技术,故推广的正则化技术还有:扩增样本集、早停止、Dropout、集成学习、多任务学习、对抗训练、参数共享等。

经验风险:机器学习中的风险是指模型与真实解之间的误差的积累,经验风险是指使用训练出来的模型进行预测或者分类,存在多大的误差,可以简单理解为训练误差,经验风险最小化即为训练误差最小。

结构风险:结构风险定义为经验风险与置信风险(置信是指可信程度)的和,置信风险越大,模型推广能力越差。可以简单认为结构风险是经验风险后面多加了一项表示模型复杂度的函数项,从而可以同时控制模型训练误差和测试误差,结构风险最小化即为在保证模型分类精度(经验风险)的同时,降低模型复杂度,提高泛化能力。

(1) 正则化等价于结构风险最小化,其是通过在经验风险项后加上表示模型复杂度的正则化项或惩罚项,达到选择经验风险和模型复杂度都较小的模型目的。

根据奥卡姆剃刀定律,“如无必要,勿增实体”,即认为相对简单的模型泛化能力更好。而模型泛化能力强、泛化误差小,即表示模型推广能力强,通俗理解就是在训练集中训练得到的优秀模型能够很好的适用于实际测试数据,而不仅仅是减少训练误差或者测试误差。

泛化误差定义如下: E = Bias^2 ( X ) + Var ( X ) + Noise 其中, E 表示泛化误差, Bias 代表偏差, Var 代表方差, Noise 代表噪声

随着训练程度加深,模型复杂度会增加,偏差减少,方差增大,而泛化误差呈现 U 型变化,对于一个“好的系统”通常要求误差小,正则化的作用即为适当的控制模型复杂度,从而使得泛化误差曲线取最小值。

(2) 正则化等价于带约束的目标函数中的约束项

(3) 从贝叶斯角度考虑,正则项等价于引入参数的模型先验概率,可以简单理解为对最大似然估计引入先验概率,从而转化为最大后验估计,其中的先验概率即对于正则项。

L2 范数相当于给模型参数 θ 设置一个协方差为 1/alpha 的零 均值高斯先验分布,L1 范数相当于给模型参数 θ 设置一个参数为 1/alpha 的拉普拉斯先验分布。

2.范数

正则化也可以称为规则化、权重衰减技术,不同的领域叫法不一样,数学上常称为范数,例如 L1 和 L2 范数,统计学领域叫做惩罚项、罚因子。

  • (1) P 范数:绝对值的p次方求和再开p次方
  • (2) L0 范数:0 范数表示向量中非零元素的个数(即为其稀疏度)
  • (3) L1 范数:即向量元素绝对值之和, p 范数取 1 则为 1 范数
  • (4) L2 范数:即向量元素绝对值的平方和再开方,也称为欧几里得距离, p 范数取 2 则为 2 范数
  • (5) ∞ 范数: 即所有向量元素绝对值中的最大值, p 范数取 ∞ 则为 ∞ 范数
  • (6) -∞ 范数:即所有向量元素绝对值中的最小值, p 范数取- ∞ 则为- ∞ 范数

假设向量长度为 2 维,则有下列图形: 假设向量长度为 3 维,则有下列图形:

3.L1和L2正则化的区别

  1. L2 regularizer :使得模型的解偏向于 norm 较小的 W,通过限制 W 的 norm 的大小实现了对模型空间的限制,从而在一定程度上避免了 overfitting 。不过 ridge regression 并不具有产生稀疏解的能力,得到的系数 仍然需要数据中的所有特征才能计算预测结果,从计算量上来说并没有得到改观。

  1. L1 regularizer : 它的优良性质是能产生稀疏性,导致 W 中许多项变成零。 稀疏的解除了计算量上的好处之外,更重要的是更具有“可解释性”。
  • L1正则化是指权值向量w中各个元素的绝对值之和,通常表示为 w^1

  • L2正则化是指权值向量w中各个元素的平方和然后再求平方根(可以看到Ridge回归的L2正则化项有平方符号),通常表示为 w^2

  • L1正则化可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择

  • L2正则化可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合

4.正则化技术的典型算法应用

逻辑回归

二分类逻辑回归使用 Sigmoid 作为决策函数进行分类,该函数可以将任意的输入映射到[0,1]区间,当预测结果小于 0.5,则表示负类,当预测结果大于 0.5.则表示正类,其模型本质是求最大似然估计,具体求解似然函数通常使用梯度下降法,最大似然估计法没有考虑训练集以外的因素,很容易造成过拟合,故而逻辑回归一般采用 L2 范数进行正则化操作.

岭回归(Ridge Regression)

岭回归本质上是针对线性回归问题引入了 L2 范数正则,通过缩减回归系数避免过拟合问题,最先用来处理特征数多于样本数的情况(高维小样本问题),现在也用于在估计中加人偏差,从而得到更好的估计.

Lasso 回归

拉索回归(lasso 回归)本质上是针对线性回归问题引入了 L1 范数正则,通过缩减回归系数避免过拟合问题,其不同于 L2 范数,其可以将某些系数缩减为 0 即所谓的具备稀疏性(稀疏性的好处是简化计算、容易理解模型、减少存储空间、不容易出现过拟合等等).

SVM

支持向量机 SVM 优化目的为寻找一个超平面,使得正负样本能够以最大间隔分离开,从而得到更好的泛化性能,其通过引入核函数来将低维线性不可分的样本映射到高维空间从而线性可分,通过引入惩罚参数 C(类似于正则化参数)来对错分样本进行惩罚,从而减少模型复杂度,提高泛化能力.

λ = 1/2C

惩罚参数 C 作用和正则化参数 λ 作用一致,只是反相关而已:

  • (1) C 越大, λ 越小,表示对分错样本的惩罚程度越大,正则化作用越小,偏差越小,方差越大,越容易出现过拟合(通俗理解,原本将低维空间映射到 5 维空间正好线性可分,但是由于惩罚过于严重,任何一个样本分错了都不可原谅,结果系统只能不断提高维数来拟合样本,假设为 10 维,最终导致映射维数过高,出现过拟合样本现象,数学上称为 VC 维较大);
  • (2) C 越小, λ 越大,表示对分错样本的惩罚程度越小,正则化作用越大,偏差越大,方差越小,越容易出现欠拟合(通俗理解,原本将低维空间映射到 5 维空间正好线性可分,但是由于惩罚过小,分错了好多样本都可以理解,比较随意,结果系统也采用简化版来拟合样本,假设为 3 维,最终导致映射维数过低,出现欠拟合样本现象,数学上称为 VC 维较小)。

5.正则化为什么能防止过拟合

https://www.cnblogs.com/alexanderkun/p/6922428.html

过拟合的时候,拟合函数的系数往往非常大,就是拟合函数需要顾忌每一个点,最终形成的拟合函数波动很大。在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大。

而正则化是通过约束参数的范数使其不要太大,所以可以在一定程度上减少过拟合情况。

6.总结

  • (1) 正则化的作用是防止过拟合、提高模型泛化能力
  • (2) 正则化等价于结构风险最小化
  • (3) 正则化等价于带约束的目标函数中的约束项
  • (4) 正则项等价于引入参数的模型先验概率
  • (5) 在误差符合均值为 0 的高斯分布,则最大似然估计和最小二乘法等价
  • (6) 最大后验估计就是在最大似然估计函数上面乘上了一项先验分布而已
  • (7) L2 范数相当于给模型参数 θ 设置一个零均值高斯先验分布,L1 范数相当于给模型参数 θ 设置一个拉普拉斯先验分布
  • (8) L0 和 L1 正则可以得到稀疏解,而 L2 不能,并且参数优化速度 L1 快于 L2,但是L2 更容易理解,计算更方便。

如何判断模型是否或者容易出现过拟合?常用的办法有:

  • (1) 比较模型对验证集和训练集的识别精度,如果验证集识别精度大幅低于训练集,则可以判断模型存在过拟合;
  • (2) 训练集的代价函数快速下降至 0附近,也可以怀疑出现了过拟合;
  • (3) 样本个数比特征个数少,也很容易出现过拟合。