• 为了保证你在浏览本网站时有着更好的体验,建议使用类似Chrome、Firefox之类的浏览器~~
    • 如果你喜欢本站的内容何不Ctrl+D收藏一下呢,与大家一起分享各种编程知识~
    • 本网站研究机器学习、计算机视觉、模式识别~当然不局限于此,生命在于折腾,何不年轻时多折腾一下

L1和L2正则化白话解析

ml admin 5个月前 (02-28) 321次浏览 0个评论 扫描二维码

使用 L1 和 L2 正则化的使用,在许多代价函数中经常出现,也许你知道了 L1 会产生稀疏解,L2 会防止过拟合之类的结果,这篇文章博主带你其中的秘密

l1 和 l2 简单介绍这篇文章有简单的介绍,这篇文章也会在讲一讲

L1 正则化和 L2 正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用 L1 正则化的模型建叫做 Lasso 回归,使用 L2 正则化的模型叫做 Ridge 回归(岭回归)。下图是 Python 中 Lasso 回归的损失函数,式中加号后面一项α||w||1即为 L1 正则化项。

先给出基于线性回归的代价函数例子:

其中 L1 的优化目标代价函数如下:

\[ \min \limits_{w} \frac{1}{2n} \vert\vert Xw-y\vert\vert^2_2+\alpha\vert\vert w \vert\vert_1 \]
其中 L2 的优化目标代价函数如下:
\[ \min \limits_{w} \frac{1}{2n} \vert\vert Xw-y\vert\vert^2_2+\alpha\vert\vert w \vert\vert^2_2 \]

在简单说一下 1 范数和 2 范数的定义,1 范数就是绝对值之和,2 范数是先平方求和在取绝对值

稀疏模型与特征选择
上面提到 L1 正则化有助于生成一个稀疏权值矩阵,进而可以用于特征选择。为什么要生成一个稀疏矩阵?
稀疏矩阵指的是很多元素为 0,只有少数元素是非零值的矩阵,即得到的线性回归模型的大部分系数都是 0. 通常机器学习中特征数量很多,例如文本处理时,如果将一个词组(term)作为一个特征,那么特征数量会达到上万个(bigram)。在预测或分类时,那么多特征显然难以选择,但是如果代入这些特征得到的模型是一个稀疏模型,表示只有少数特征对这个模型有贡献,绝大部分特征是没有贡献的,或者贡献微小(因为它们前面的系数是 0 或者是很小的值,即使去掉对模型也没有什么影响),此时我们就可以只关注系数是非零值的特征。这就是稀疏模型与特征选择的关系。

究竟 L1 是如何产生稀疏模型的?

我们先把之前的公式给简化一下
优化的目标函数改为
\[ J=J_0+L\]
上面的平方损失函数就用 J0 代替,正则化项就用 L 代替
我们优化的目标就是要求出一个 w 使得当前的 J 取值最小,按照正常的思维肯定想通过求导的方式来求解最优 w 值,但是 L 中包含了绝对值,因此是不可导的,所以直接求解也求解不到
为了直观的了解,我们可以将 J0 和 L 绘制图像来说明,我们所要求解的 w 需要保证 J0 和 L 同时最小以达到代价函数最小化的目的。下面我们以 w 为二维变量来分析

J0 本质上就一个圆,其中变量 w 是动态参数,如果我们调节 w 就会得到一系列的圆,这也是你在上图中看到这么多圆线的原因,上图中其实假设了 w 参数只有二维,这样方便在图中表示,与此同时 L 的图像是一个旋转 90 度的矩形,图像中二者交点的位置就是可能出现最优解的地方,你会发现二者相交出现极大可能的位置就是顶点处,矩形顶点的地方肯定是由其中一个 w 为 0 的,w 为 0 则表示其中一个特征并不是我们需要的特征可以忽略不计,这就说明了 L1 会产生稀疏解的原因

到这里应该可以理解 L1 的真面目了,说道这里其实有些人应该可以知道 L2 为什么不会产生稀疏解了的原因,下面我们也是类似上面的解释方式来说明 L2 问题,

L1 和 L2 区别主要在于 L 不一样,对于 L2 而言 L 在图像中就是一个圆了,如下所示

从上图就会发现二者相交不会轻易的发生在定点处了,因此 w 的值很难会出现为 0 的现象,当然会有 w 值很小的情况,也可以说明当前的特征重要性比较低


Deeplearn, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明L1 和 L2 正则化白话解析
喜欢 (0)
admin
关于作者:

您必须 登录 才能发表评论!