L1、L2正则化
2021-05-04 本文已影响0人
张虾米试错
正则化(Regularization)是机器学习中一种常用的技术,其主要目的是控制模型复杂度,减小过拟合。最基本的正则化方法是在原目标(代价)函数 中添加惩罚项,对复杂度高的模型进行“惩罚”。其数学表达形式为:
其中,为训练样本以及标签,为目标函数,为权重系数向量,为惩罚项,为惩罚因子。不同的对权重的最优解有不同的偏好,因而会产生不同的正则化效果。最常用的是范数和范数,相应称之为正则和正则。
1. 为什么L1、L2正则化可以防止过拟合?
深入理解L1、L2正则化从带约束条件的优化求解和最大后验概率两种思路对L1、L2正则化给出了分析。本文从只说下带约束条件的优化求解(因为目前我只能理解这种思路。。。)
我们知道,模型的复杂度可用VC维来衡量。通常情况下,模型VC维与系数的个数成线性关系:即数量越多,VC维越大,模型越复杂。因此,为了限制模型的复杂度,很自然的思路是减少系数的个数,即让向量中一些元素为0或者说限制中非零元素的个数。为此,我们可在原优化问题中加入一个约束条件:
范数表示向量中非零元素的个数。但由于该问题是一个NP问题,不易求解,为此我们需要稍微“放松”一下约束条件。为了达到近似效果,我们不严格要求某些权重为0,而是要求权重应接近于0,即尽量小。从而可用范数和范数来近似,即:
利用拉格朗日算子法,我们可将上述带约束条件的最优化问题转换为不带约束项的优化问题,构造拉格朗日函数:
综上所述,正则和正则是通过将某些为0或者接近于0,降低模型复杂度,防止过拟合。
《深度学习》第7章
image.png2. L1、L2正则化为什么可以将某些为0或者接近于0?
当为1维的时候,和的函数图像如下:
y=|x| y=x^2和,会向0的方向优化;区别在于,中将不会再变化,而是接近于0但不会等于0(个人想法)。
公式推导
《深度学习》第七章(7.1--7.2)有公式推导,有时间可以再好好看看,初看没看懂。
L2推导
L1推导
参考资料
- 深入理解L1、L2正则化
- L1正则化与L2正则化
- 《深度学习》第七章(7.1--7.2)
- 《机器学习》(周志华)第11章(11.4)