理解正则化项l1和l2的区别

防止过拟合的思路

防止过拟合的思路就是让模型别那么复杂,简单点。
那么怎么能让模型简单点呢?有两个思路:

减少参数的数量

可想而知,参数越少模型越简单。

减小参数的绝对值

参数数量越少模型越简单,为什么参数绝对值越小模型越简单呢?
一个复杂的、容易过拟合的模型相比一个简单的、泛化能力更好的模型,往往表现为坑坑洼洼,没有后者平滑;平滑的模型,其导数绝对值(坡度)往往较小,而坑坑洼洼的模型,相对来说存在更多的导数绝对值(坡度)大的情况。
以一个线性模型 y=Wx 为例,导数是什么?就是模型参数本身,即 y=W ;因此,减小参数绝对值就可以达到减小导数绝对值的效果,即可达到平滑模型、防止过拟合的效果。

它们的公式

l1 正则项的公式为

l1=λin|θi|

l2 正则项的公式为
l2=λinθ2i

可见,二者公式上的区别是,前者是将所有参数绝对值和(乘以可调系数)添加到代价函数中,后者是将所有参数平方和(乘以可调系数)添加到代价函数中。
例如:
J(θ)=12mi=1m(hθ(x(i))y(i))2+λj=1nθ2j

这是一个使用最小二乘和 l2 的代价函数。

它们的功能

二者均可减小参数绝对值

参数绝对值减小即可减小 l1 l2 ,即可减小损失函数,因此无论是将 l1 还是将 l2 添加到代价函数中,它们都具有倾向于使参数绝对值减小的趋势。

l1 具有“稀疏能力”

l1 具备一个 l2 所不具备的功能,即“稀疏能力”,即 l1 会使参数矩阵变得稀疏,即 l1 会倾向于使一些参数变为0,即 l1 会倾向于减少非零参数数量。
为什么 l1 具备“稀疏能力”?

解空间

对于追求最小化代价函数的模型,它的解空间应该是个“大坑”。
而迭代的过程,就是一步步走向“坑底”的过程。
而“坑底”并不好,因为这个坑是属于“训练集”的,坑底往往是“过拟合”的。
真正具有良好的泛化能力的最优解应该在“半坑腰”上。
那么如果才能避免模型在迭代的过程中向“坑底”走得太深呢?
方法就是给走向“坑底”的“小人儿”设个围栏,不让它走得太深。

凌驾于解空间之上的限制活动区

设原始的代价函数为

Jall=J(θ)

添加了正则项的代价函数为
Jall=J(θ)+L(θ)

而求解模型即
argminθJall=J(θ)+L(θ)

下面对其做一个等价变换
设以上模型最终收敛后各项的值为:
Jalllast=Jlast+Llast

那么以上模型等价于:
argminθJall=J(θ), s.t.L(θ)Llast

其中 L(θ)Llast(θ) 就是在原模型基础之上添加的限制。
那么这个限制有什么效果呢?从图形的角度上看看。

画图理解

假设模型只有两个参数, w1 w2
原始的解空间是个坑,我们画出其等高线,如图。
如果限制项 L(θ) l1 ,即

L(θ)=λin|θi|  Llast

那么表现在图形上,即画了一个菱形的“限制活动区”,如图。


这里写图片描述

那么模型迭代的过程即要求:
1. 只许在“限制活动区”活动。
2. 尽可能往“坑底”走。

那最终“小人儿”会走到哪里呢?
答案是,多数情况下,会走到菱形的角尖去;
即,多数情况下,菱形的角尖是在“限制活动区”内所能到达的解空间上最低的地方。
为什么是角尖?
因为角尖向外突出。
而,因为角尖这些点都在坐标轴上,所以与该轴垂直的其他轴所代表的的参数都为0。
所以, l1 倾向于把一些参数置为0,即 l1 具有“稀疏能力”。
等等,是不是有问题?在“角尖”处获得的最优解只会留下一个参数啊,就是该“角尖”所处的坐标轴所代表的参数,所有与该轴垂直的坐标轴所代表的的参数都是0,但是模型训练怎么可能最后只有一个参数不为0呢。
我是这么想的,考虑三维情况,此时,限制活动区由“菱形”变成了一个“八面体”,如图,此时最优解最容易出现在那里呢?


这里写图片描述

可能还是“角尖”,也可能最容易出现在八面体的棱上。
如果出现在角尖,那么就意味着只有一个参数不为0,如果出现在棱上,那么就意味着有两个参数不为0。
推广到多维,角尖越来越多,棱也越来越多,而且还有一点,就是这个超多面体的角尖越来越“没那么突出”,而它的棱由于“又多又长”,占据了优势,所以最优解此时最容易出现在棱上。
为什么不是出现在面上啊?因为面没有棱突出。

为什么 l2 不具备“稀疏能力”

同理,假设只有两个参数 w1 w2
那么 l2 限制活动区是个圆,如图。


这里写图片描述

最优解以“平等的概率”出现在圆的任何一个点上;
三维情况下,限制活动区是个球,最优解同样以“平等的概率”出现在球面的任何一个点上。
可见,最优解不倾向于让参数为0,因而 l2 不具备“稀疏能力”。

除了 l1 还有谁有稀疏能力

能使“限制活动区”“带尖儿”的(尖儿得在坐标轴上)都有稀疏能力。
因为“带尖儿”的都把“尖儿”往外伸,使得最优解以很大可能性落在“尖儿”上。
用数学的话讲,凡是在 wi=0 处不可导的正则函数,都具有稀疏性。
wi=0 处不可导,跟“带尖儿”是一码事儿。

它们的数学本质

做事情得讲道理!咱有些同学就在那瞎写 —— 邯郸一中宋光杰老师
解释一个方法最让人心服口服的方式莫过于用数学 —— 我瞎说的
上面只说了正则项 l1 l2 能有什么效果以及为什么有这些效果,那么它们是怎么来的?数学本质是什么?
如果不熟悉最大似然估计和最大后验估计,请先进传送门之补课
然后再进传送门之正则项的数学基础,学习正则项 l1 l2 的数学基础。

说明

如有错误,敬请指正。

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页