regularization 规范化(L1,L2等等):加惩罚函数降低过拟合
2016-08-12 12:05
393 查看
这称为岭回归
一般模型
选择最好的惩罚函数
L1L2 规范
在上一节的课程中,我们讲到
右图用的是10次方程去拟合,左图用的是2次方程去拟合。很显然10次方程发生过拟合现象。那么我们就选择化简模型,将10次模型转化为2次模型。
我们先假设将x域映射到z域的函数Φ(x)为(对于所有的非线性模型,都存在映射函数Φ(x))
那么10次模型和2次模型的表达式分别为
通过比较,可以发现,要想把10次模型转化为2次模型,只需将w3,w4,...,w10都设为0即可。即
所以,我们的方法就是,加约束条件。
所以我们的转化就是
但是,我们发现,完全把10次降为2次太过头了。比如也许模型x6+x+1=0比模型x2+x+1=0要好。所以,我们就把约束条件放松一些,即我们希望w10,w9,...,w0只要有8为0就行了,而不是一定w10,w9,...,w3为0.
即变为
其实,对于
这样形式的是NP hard ,不好求解(在PLA中我们谈到过)。那么我们就将他转化为可以微分的形式。C是我们自己给的。
其实这样还有个好处:他又把要求放松了一些。他不是要求一定要有8个w为0,而是要求所有的权重平方和小于C就行。C是我们自己给的。
为了简单,我们现在只考虑线性模型
那么他的Ein为
他的约束条件为
总结就是
如果没有约束条件的话,那么要想最小化Ein,那么只需求出沿着梯度的方向一只滚到谷底就行,但是现在有了约束条件
,就不能那么自由自在的向下滚了。
不难发现,
就是要求点必须在以C‾‾√为半径的圆内。那么我们可以画出图形来:
一般情况下,离谷底最近的点是在圆的边界上面的。那在什么时候有最优解呢?就是不能再下降的时候。梯度方向
再切线方向(绿线)有分量时,表明还可以下降。所以当梯度方向
在切线方向(绿线)无分量时,即互相垂直时,得到最好的情况。此时,梯度方向
与法线(w,红线)就平行。注意:根据图可知,是正平行。那么梯度
与法线(w,红线)的成正比。我们设比值为2λN。由于是正平行,那么比值必须为正值,即λ>=0
所以我们就将
转化为了
这样做的好处,就是他对于w是线性的,可以直接求出来
我们回想一下,我们以前想最小化Ein,那么我们令他的梯度为0就行。所以我们把上面的式子就认为是某一函数的梯度,求这个梯度为0,就是想最小化某一个函数,这个函数就是上面式子的积分
所以可以总结为
注意:λ很小的时候(比如0.001),就可以使得模型很大程度避免过拟合,大了(比如1),反而会欠拟合。
λ是人为给定的,具体取值方法见下一讲。λ越大,就会使得模型权重w减小,模型抖动就小,就越简单。
我们回想一下,我们先前有假设映射函数为
当数据都处于[-1,1]之间时,对于高次幂xQn的数据,就会比其他次幂小的多。如果我们模型需要高次幂,但是xQn很小,那么就必须增大权重来提高其影响力,但是惩罚函数又会限制权重的增大,这就照成了问题。方法就是让Φ(x)内的向量是互相正交的,即Legendre polynomials。
比如,我知道我的f(x)是偶函数,那么我就希望我的g内偶次幂的权重大。即我要尽可能降低我奇次幂的权重。即把惩罚函数设为
如果我希望我们模型光滑,简单,那就用L1规范
如果我希望我的模型任意达到最优,就是效果好,那就用L2规范
L1要求低,精度低,但计算量小
L1要求低,精度低,但计算量小
那如何选择λ呢?见下一讲
一般模型
选择最好的惩罚函数
L1L2 规范
在上一节的课程中,我们讲到
右图用的是10次方程去拟合,左图用的是2次方程去拟合。很显然10次方程发生过拟合现象。那么我们就选择化简模型,将10次模型转化为2次模型。
我们先假设将x域映射到z域的函数Φ(x)为(对于所有的非线性模型,都存在映射函数Φ(x))
那么10次模型和2次模型的表达式分别为
通过比较,可以发现,要想把10次模型转化为2次模型,只需将w3,w4,...,w10都设为0即可。即
所以,我们的方法就是,加约束条件。
所以我们的转化就是
但是,我们发现,完全把10次降为2次太过头了。比如也许模型x6+x+1=0比模型x2+x+1=0要好。所以,我们就把约束条件放松一些,即我们希望w10,w9,...,w0只要有8为0就行了,而不是一定w10,w9,...,w3为0.
即变为
其实,对于
这样形式的是NP hard ,不好求解(在PLA中我们谈到过)。那么我们就将他转化为可以微分的形式。C是我们自己给的。
其实这样还有个好处:他又把要求放松了一些。他不是要求一定要有8个w为0,而是要求所有的权重平方和小于C就行。C是我们自己给的。
为了简单,我们现在只考虑线性模型
那么他的Ein为
他的约束条件为
总结就是
如果没有约束条件的话,那么要想最小化Ein,那么只需求出沿着梯度的方向一只滚到谷底就行,但是现在有了约束条件
,就不能那么自由自在的向下滚了。
不难发现,
就是要求点必须在以C‾‾√为半径的圆内。那么我们可以画出图形来:
一般情况下,离谷底最近的点是在圆的边界上面的。那在什么时候有最优解呢?就是不能再下降的时候。梯度方向
再切线方向(绿线)有分量时,表明还可以下降。所以当梯度方向
在切线方向(绿线)无分量时,即互相垂直时,得到最好的情况。此时,梯度方向
与法线(w,红线)就平行。注意:根据图可知,是正平行。那么梯度
与法线(w,红线)的成正比。我们设比值为2λN。由于是正平行,那么比值必须为正值,即λ>=0
所以我们就将
转化为了
这样做的好处,就是他对于w是线性的,可以直接求出来
这称为岭回归
在模型是线性回归,且加上权重平方和作为惩罚函数的(即||w||2)就是岭回归。一般模型
我们上面讲的是认为模型是线性回归,所以Ein已经给好了。那么现在处理其他模型情况。我们回想一下,我们以前想最小化Ein,那么我们令他的梯度为0就行。所以我们把上面的式子就认为是某一函数的梯度,求这个梯度为0,就是想最小化某一个函数,这个函数就是上面式子的积分
所以可以总结为
注意:λ很小的时候(比如0.001),就可以使得模型很大程度避免过拟合,大了(比如1),反而会欠拟合。
λ是人为给定的,具体取值方法见下一讲。λ越大,就会使得模型权重w减小,模型抖动就小,就越简单。
我们回想一下,我们先前有假设映射函数为
当数据都处于[-1,1]之间时,对于高次幂xQn的数据,就会比其他次幂小的多。如果我们模型需要高次幂,但是xQn很小,那么就必须增大权重来提高其影响力,但是惩罚函数又会限制权重的增大,这就照成了问题。方法就是让Φ(x)内的向量是互相正交的,即Legendre polynomials。
选择最好的惩罚函数
根据我们想要的target function f来选比如,我知道我的f(x)是偶函数,那么我就希望我的g内偶次幂的权重大。即我要尽可能降低我奇次幂的权重。即把惩罚函数设为
如果我希望我们模型光滑,简单,那就用L1规范
如果我希望我的模型任意达到最优,就是效果好,那就用L2规范
L1要求低,精度低,但计算量小
L1,L2 规范
L1要求低,精度低,但计算量小
那如何选择λ呢?见下一讲
相关文章推荐
- 对过拟合的处理:正则化方法:L1和L2 regularization、数据集扩增、dropout
- 避免过拟合的手段:L1&L2 regularization/Data Augmentation/Dropout/Early Stoping
- 正则化方法/防止过拟合提高泛化能力的方法:L1和L2 regularization、数据集扩增、dropout
- 正则化方法:L1和L2 regularization、数据集扩增、dropout
- 正则化方法:L1和L2 regularization、数据集扩增、dropout
- 正则化方法:L1和L2 regularization、数据集扩增、dropout
- OpenCv中norm()函数,cvNorm()函数,CV_L1,CV_L2等宏定义的源代码解读
- 正则化方法:L1和L2 regularization、数据集扩增、dropout
- <zz>L1, L2 regularization的深层次理解
- 正则化方法:L1和L2 regularization、数据集扩增、dropout
- 机器学习中正则化方法简介:L1和L2正则化(regularization)、数据集扩增、dropout
- 正则化方法:L1和L2 regularization、数据集扩增、dropout
- 正则化方法:L1和L2 regularization、数据集扩增、dropout
- 正则化方法:L1和L2 regularization、数据集扩增、dropout
- 正则化方法:L1和L2 regularization、数据集扩增、dropout
- 正则化方法:L1和L2 regularization、数据集扩增、dropout
- 正则化方法:L1和L2 regularization、数据集扩增、dropout
- 正则化方法:L1和L2 regularization、数据集扩增、dropout
- L0,L1,L2范数,正则化,过拟合
- 正则化方法:L1和L2 regularization、数据集扩增、dropout