理解正则化项l1和l2的区别
防止过拟合的思路
防止过拟合的思路就是让模型别那么复杂,简单点。
那么怎么能让模型简单点呢?有两个思路:
减少参数的数量
可想而知,参数越少模型越简单。
减小参数的绝对值
参数数量越少模型越简单,为什么参数绝对值越小模型越简单呢?
一个复杂的、容易过拟合的模型相比一个简单的、泛化能力更好的模型,往往表现为坑坑洼洼,没有后者平滑;平滑的模型,其导数绝对值(坡度)往往较小,而坑坑洼洼的模型,相对来说存在更多的导数绝对值(坡度)大的情况。
以一个线性模型
它们的公式
可见,二者公式上的区别是,前者是将所有参数绝对值和(乘以可调系数)添加到代价函数中,后者是将所有参数平方和(乘以可调系数)添加到代价函数中。
例如:
这是一个使用最小二乘和
它们的功能
二者均可减小参数绝对值
参数绝对值减小即可减小
l1 具有“稀疏能力”
为什么
解空间
对于追求最小化代价函数的模型,它的解空间应该是个“大坑”。
而迭代的过程,就是一步步走向“坑底”的过程。
而“坑底”并不好,因为这个坑是属于“训练集”的,坑底往往是“过拟合”的。
真正具有良好的泛化能力的最优解应该在“半坑腰”上。
那么如果才能避免模型在迭代的过程中向“坑底”走得太深呢?
方法就是给走向“坑底”的“小人儿”设个围栏,不让它走得太深。
凌驾于解空间之上的限制活动区
设原始的代价函数为
添加了正则项的代价函数为
而求解模型即
下面对其做一个等价变换
设以上模型最终收敛后各项的值为:
那么以上模型等价于:
其中
那么这个限制有什么效果呢?从图形的角度上看看。
画图理解
假设模型只有两个参数,
原始的解空间是个坑,我们画出其等高线,如图。
如果限制项
那么表现在图形上,即画了一个菱形的“限制活动区”,如图。
那么模型迭代的过程即要求:
1. 只许在“限制活动区”活动。
2. 尽可能往“坑底”走。
那最终“小人儿”会走到哪里呢?
答案是,多数情况下,会走到菱形的角尖去;
即,多数情况下,菱形的角尖是在“限制活动区”内所能到达的解空间上最低的地方。
为什么是角尖?
因为角尖向外突出。
而,因为角尖这些点都在坐标轴上,所以与该轴垂直的其他轴所代表的的参数都为0。
所以,
等等,是不是有问题?在“角尖”处获得的最优解只会留下一个参数啊,就是该“角尖”所处的坐标轴所代表的参数,所有与该轴垂直的坐标轴所代表的的参数都是0,但是模型训练怎么可能最后只有一个参数不为0呢。
我是这么想的,考虑三维情况,此时,限制活动区由“菱形”变成了一个“八面体”,如图,此时最优解最容易出现在那里呢?
可能还是“角尖”,也可能最容易出现在八面体的棱上。
如果出现在角尖,那么就意味着只有一个参数不为0,如果出现在棱上,那么就意味着有两个参数不为0。
推广到多维,角尖越来越多,棱也越来越多,而且还有一点,就是这个超多面体的角尖越来越“没那么突出”,而它的棱由于“又多又长”,占据了优势,所以最优解此时最容易出现在棱上。
为什么不是出现在面上啊?因为面没有棱突出。
为什么l2 不具备“稀疏能力”
同理,假设只有两个参数
那么
最优解以“平等的概率”出现在圆的任何一个点上;
三维情况下,限制活动区是个球,最优解同样以“平等的概率”出现在球面的任何一个点上。
可见,最优解不倾向于让参数为0,因而
除了l1 还有谁有稀疏能力
能使“限制活动区”“带尖儿”的(尖儿得在坐标轴上)都有稀疏能力。
因为“带尖儿”的都把“尖儿”往外伸,使得最优解以很大可能性落在“尖儿”上。
用数学的话讲,凡是在
它们的数学本质
做事情得讲道理!咱有些同学就在那瞎写 —— 邯郸一中宋光杰老师
解释一个方法最让人心服口服的方式莫过于用数学 —— 我瞎说的
上面只说了正则项
如果不熟悉最大似然估计和最大后验估计,请先进传送门之补课。
然后再进传送门之正则项的数学基础,学习正则项
说明
如有错误,敬请指正。