理解正则化项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的代价函数。

它们的功能

二者均可减小参数绝对值

参数绝对值减小即可减小l1l2,即可减小损失函数,因此无论是将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(θ)就是在原模型基础之上添加的限制。
那么这个限制有什么效果呢?从图形的角度上看看。

画图理解

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

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

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


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

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

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


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

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

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

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


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

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

除了l1还有谁有稀疏能力

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

它们的数学本质

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

说明

如有错误,敬请指正。