L1和L2正则化的直观理解
这部分内容将解释为什么L1正则化可以产生稀疏模型(L1是怎么让系数等于零的),以及为什么L2正则化可以防止过拟合。
L1正则化和特征选择
假设有如下带L1正则化的损失函数:
J=J0+α∑w|w|(1)
其中J0是原始的损失函数,加号后面的一项是L1正则化项 , α是正则化系数 。注意到L1正则化是权值的 绝对值之和 , J是带有绝对值符号的函数,因此J是不完全可微的 。机器学习的任务就是要通过一些方法(比如梯度下降)求出损失函数的最小值 。当我们在原始损失函数J0后添加L1正则化项时,相当于对J0做了一个约束 。令L=α∑w|w|,则J=J0+L,此时我们的任务变成 在L约束下求出J0取最小值的解。考虑二维的情况 , 即只有两个权值w1和w2,此时L=|w1|+|w2|对于梯度下降法,求解J0的过程可以画出等值线,同时L1正则化的函数L也可以在w1w2的二维平面上画出来 。如下图:
图1L1正则化
图中等值线是J0的等值线,黑色方形是L函数的图形 。在图中,当J0等值线与L图形首次相交的地方就是最优解 。上图中J0与L在L的一个顶点处相交 , 这个顶点就是最优解 。注意到这个顶点的值是(w1,w2)=(0,w) 。可以直观想象 , 因为L函数有很多『突出的角』(二维情况下四个 , 多维情况下更多),J0与这些角接触的机率会远大于与L其它部位接触的机率,而在这些角上 , 会有很多权值等于0,这就是为什么L1正则化可以产生稀疏模型,进而可以用于特征选择 。
而正则化前面的系数α,可以控制L图形的大小 。α越小,L的图形越大(上图中的黑色方框);α越大,L的图形就越小,可以小到黑色方框只超出原点范围一点点,这是最优点的值(w1,w2)=(0,w)中的w可以取到很小的值 。
类似,假设有如下带L2正则化的损失函数:
J=J0+α∑ww2(2)
同样可以画出他们在二维平面上的图形,如下:
图2L2正则化
二维平面下L2正则化的函数图形是个圆 , 与方形相比,被磨去了棱角 。因此J0与L相交时使得w1或w2等于零的机率小了许多,这就是为什么L2正则化不具有稀疏性的原因 。
L2正则化和过拟合
拟合过程中通常都倾向于让权值尽可能?。?最后构造一个所有参数都比较小的模型 。因为一般认为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象 。可以设想一下对于一个线性回归方程 , 若参数很大,那么只要数据偏移一点点 , 就会对结果造成很大的影响;但如果参数足够?。萜频枚嘁坏阋膊换岫越峁斐墒裁从跋欤ㄒ狄坏愕乃捣ㄊ恰嚎谷哦芰η俊?。
那为什么L2正则化可以获得值很小的参数?
以线性回归中的梯度下降法为例 。假设要求的参数为θ,hθ(x)是我们的假设函数 , 那么线性回归的代价函数如下:
J(θ)=12m∑i=1m(hθ(x(i))?y(i))(3)
那么在梯度下降法中,最终用于迭代计算参数θ的迭代式为:
θj:=θj?α1m∑i=1m(hθ(x(i))?y(i))x(i)j(4)
其中α是learning rate. 上式是没有添加L2正则化项的迭代公式,如果在原始代价函数之后添加L2正则化,则迭代公式会变成下面的样子:
θj:=θj(1?αλm)?α1m∑i=1m(hθ(x(i))?y(i))x(i)j(5)
其中 λ就是正则化参数。从上式可以看到 , 与未添加L2正则化的迭代公式相比,每一次迭代,θj都要先乘以一个小于1的因子,从而使得θj不断减?。?因此总得来看,θ是不断减小的 。
最开始也提到L1正则化一定程度上也可以防止过拟合 。之前做了解释,当L1的正则化系数很小时 , 得到的最优解会很?。梢源锏胶蚅2正则化类似的效果 。
推荐阅读
- u盘照片删除怎么恢复软件,u盘里的照片删掉了怎么恢复
- jquery导航横向滑动,jquery 滑动显示
- 无锡网络推广价格行情如何,无锡网站推广
- 做指甲工具整套直播,做指甲套装 美甲工具全套
- C语言函数数组传递原理 c语言数组在函数中的传递
- 电脑上怎么登录nvsip,电脑上怎么登录邮箱
- java去除html标签属性,java去掉指定字符
- 华为nvme存储服务器,华为服务器内存安装
- php判断数据类型 php判断数字在指定范围内