正则化
1 正则化作用
正则化技术广泛应用在机器学习和深度学习算法中,其本质作用是防止过拟合、提高模型泛化能力。过拟合简单理解就是训练的算法模型太过复杂了,过分考虑了当前样本结构。其是防止过拟合的其中一种技术手段。在早期的机器学习领域一般只是将范数惩罚叫做正则化技术,而在深度学习领域认为:能够显著减少方差,而不过度增加偏差的策略都可以认为是正则化技术,故推广的正则化技术还有:扩增样本集、早停止、Dropout、集成学习、多任务学习、对抗训练、参数共享等。对于机器学习领域的正则化技术可以从以下几个不同角度来理解:
1.1 正则化等价于结构风险最小化,其是通过在经验风险项后加上表示模型复杂度的正则化项或惩罚项,达到选择经验风险和模型复杂度都较小的模型目的
经验风险: 机器学习中的风险是指模型与真实解之间的误差的积累,经验风险是指使用训练出来的模型进行预测或者分类,存在多大的误差,可以简单理解为训练误差,经验风险最小化即为训练误差最小
结构风险: 结构风险定义为经验风险与置信风险(置信是指可信程度)的和,置信风险越大,模型推广能力越差。可以简单认为结构风险是经验风险后面多加了一项表示模型复杂度的函数项,从而可以同时控制模型训练误差和测试误差,结构风险最小化即为在保证模型分类精度(经验风险)的同时,降低模型复杂度,提高泛化能力
其中,
其中,
从上图可以看出,随着训练程度加深,模型复杂度会增加,偏差减少,方差增大,而泛化误差呈现 U 型变化,对于一个“好的系统”通常要求误差小,正则化的作用即为适当的控制模型复杂度,从而使得泛化误差曲线取最小值
1.2 正则化等价于带约束的目标函数中的约束项
以平方误差损失函数和
针对上述带约束条件的优化问题,采用拉格朗日乘积算子法可以转化为无约束优化问题,即:
由于参数
1.3 从贝叶斯角度考虑,正则项等价于引入参数的模型先验概率,可以简单理解为对最大似然估计(MLE)引入先验概率,从而转化为最大后验估计(MAP),其中的先验概率即对于正则项
2 正则化技术基本概念
2.1 正则化
正则化也可以称为规则化、权重衰减技术,不同的领域叫法不一样,数学上常称为范数,例如
其中,
2.2 范数
(1)
(2)
(3)
(4)
(5)
(6)
假设向量的长度为2,则有如下图形:
假设向量的长度为3,则有如下图形:
从上述各图可以看出:
-
越小,曲线越贴近坐标轴
-
越大,曲线越远离坐标轴,并且棱角越明显
- 当
取0时,完全和坐标轴贴合
- 当
取时,呈现正方体的形状
3 正则化技术的深度理解
3.1 简单数值假设分析法
如图所示:左边的曲线拟合是欠拟合,中间的曲线拟合是刚好合适,右边的曲线拟合是过拟合
对于右边的拟合曲线,有:
从上式可以看出,由于
正则化的目的是为了适当缩减
要使得
在实际开发中,是对所有参数进行正则化,为了使代价函数尽可能的小,所有的参数
3.2 图形分析法
3.2.1
蓝色的圆形空间表示
当正则项
3.2.2
3.3 公式推导分析法
3.3.1
此处采用损失函数为误差平方和、正则项为
其中
从上式可以看出:
3.3.2
对于加入
直接对各
从上式可以看出:
- 当上一轮
大于0时,下一次更新一定减小
- 当上一轮
小于0时,下一次更新一定增加
-
都一定是往0方向靠近,最终得到近似的稀疏解
在
3.4 贝叶斯推断分析法
首先需要知道:整个最优化问题从贝叶斯观点来看是一种贝叶斯最大后验估计,其中正则化项对应后验估计中的先验信息,损失函数对应后验估计中的似然函数,两者的乘积即对应贝叶斯最大后验估计的形式
针对
-
范数相当于给模型参数设置一个协方差为1/alpha的零均值高斯先验分布
-
范数相当于给模型参数设置一个参数为1/alpha的零均值拉普拉斯先验分布
3.4.1 高斯分布和拉普拉斯分布
高斯分布的概率密度函数为:
记作:
其中,
其中,
拉普拉斯分布的概率密度函数定义为:
其中,
3.4.2 最大似然估计
最大似然估计: 在已知试验结果(即是样本)的情况下,用来估计满足这些样本分布的参数,把可能性最大的那个参数
通俗理解就是,该算法作用是找到一组参数
若总体
设
由于上述式子不好计算,而且
3.4.3 最大后验估计
(1)最大后验估计和最大似然估计联系非常密切,对最大似然估计引入先验概率估计即转化为最大后验估计,最大后验概率估计可以看作是规则化的最大似然估计
最大似然估计属于频率派的观点,其认为参数
根据贝叶斯公式可得,后验概率计算公式为:
由于分母计算非常困难,而我们的目的是求最大化后验概率,故分母不进行计算(我们在朴素贝叶斯算法中也是这样处理的),只考虑分子:
观察
(2)L2范数相当于给模型参数
以线性模型为例,结论可以推广到任意模型,线性模型方程可以表示为:
其中,
通过上面的
要求上式最大,去掉负号和统一处理前面的参数,故而可以转化为:
上式正好是线性回归问题在
(3)L1范数相当于给模型参数
以线性模型为例,结论可以推广到任意模型,同样假设
要求上式最大,去掉负号和统一处理前面的参数,故而可以转化为:
上式正好是线性回归问题在
如果误差符合0均值的高斯分布,那么最大似然估计法的结果就是最小二乘法,这也是为何误差定义经常使用
4 正则化技术典型应用
4.1 逻辑回归
二分类逻辑回归使用Sigmoid作为决策函数进行分类,该函数可以将任意的输入映射到
其中似然方程和对数似然方程为:
正则化后的代价函数为:
注:正则化是针对损失函数,而不是似然函数,故需要将似然函数取负号转换为损失函数,然后再加上正则项
4.2 岭回归(Ridge Regression)
岭回归本质上是针对线性回归问题引入了
其中,
带正则化的代价函数采用最小二乘法或者正规方程可以得到上述回归系数为:
可以发现:经过
4.3 Lasso回归
lasso回归本质上是针对线性回归问题引入了
其中,参数函数和岭回归中相同。
4.4 SVM
支持向量机 SVM 优化目的为寻找一个超平面,使得正负样本能够以最大间隔分离开,从而得到更好的泛化性能,其通过引入核函数来将低维线性不可分的样本映射到高维空间从而线性可分,通过引入惩罚参数
(1)
(2)
5 总结
结论:
(1) 正则化的作用是防止过拟合、提高模型泛化能力
(2)正则化等价于结构风险最小化
(3) 正则化等价于带约束的目标函数中的约束项
(4)正则项等价于引入参数的模型先验概率
(5)在误差符合均值为0的高斯分布,则最大似然估计和最小二乘法等价
(6)最大后验估计就是在最大似然估计函数上面乘上了一项先验分布而已
(7)
如何判断模型出现过拟合:
(1)比较模型对验证集和训练集的识别精度,如果验证集识别精度大幅低于训练集,则可以判断模型存在过拟合
(2)训练集的代价函数快速下降至0附近,也可以怀疑出现了过拟合
(3)样本个数比特征个数少,也很容易出现过拟合
6 参考资料
[1] 深度眸机器学习实战教程
[2] 吴恩达深度学习教程
[3] 深度学习
[4] PRML
[5] 李航统计学习方法
[6] 机器学习实战
[7] 黄海广深度学习笔记