机器学习稀疏之L1正则化

时间:2022-12-19 23:09:40

一、L1正则化

在L0 正则化中,通常我们有很多特征时, 这样在计算后验形式p(r|D) 有很大的复杂度。即使利用贪心算法,很容易陷入局部拟合情况。

其中一部分原因是因为 rj 特征是离散形式的, 这样造成目标函数的不光滑, 机器学习稀疏之L1正则化。 在优化领域中,通常的做法是对于离散的约束,我们通过松弛的方法来将其变为连续的约束。 我们可以在spike-and-slab 尖峰与平波模型中,通过在wj =0, 的 阶跃函数 取值处来用一定大小的概率值进行代替,这样通过在wj =0 用一定值代替,来构造成为连续函数的形式,这样来接近原始模型, 比如可以用零均值的laplace 模型代替。 这里我们应用了laplace 具有的长尾,(并且这里对于异常值的鲁棒对长尾的模型是很好的,正太情况将会有很大的异常变化。)

机器学习稀疏之L1正则化

从图中可以看出, u = 0,也存在尖峰的,这样就可以用连续的形式进行代替,从而更好的优化目标函数。


更加精确的我们利用的Laplace模型作为先验

              机器学习稀疏之L1正则化

我们用均匀先验的形式在截距项 机器学习稀疏之L1正则化, , 因而在MAP 估计,其带罚的负log 似然形式为:

             机器学习稀疏之L1正则化

其中  机器学习稀疏之L1正则化 为 w 的L1模, 利用合适的 机器学习稀疏之L1正则化, 可得到稀疏的 机器学习稀疏之L1正则化 , 这里 我们认为 LI 正则是L0 非凸函数的 凸近似, 因为 L0 的模值 是0 ,wi, wj , ... 0 ... 每个是离散的, 而L1 模 是 |wj| 的加和, 因而是连续的一个值的过程,因而是凸近似。

所以在 线性回归中 L1 目标函数:

             机器学习稀疏之L1正则化

通常 用 0均值Laplace 先验参数, 这样的MAP估计就是L1正则,存在着 凸的和非凸的NLL项, 有很多算法设计解决这个问题(这个以后讨论)


二、 为什么 L1 正则产生的是稀疏解

我们现在来说说 L1 产生的是稀疏解, 而L2 不是。我们主要以线性回归为例说明,这个在 逻辑回归和 其他GLMs 中是相似的。 


虽然L1 是连续的,但是 还是不光滑的函数, 所以不光滑的目标函数为:

            机器学习稀疏之L1正则化

我们将其进行改写, 将后面的作为约束,但是变为光滑的目标函数: (二次函数 约束是线性的)

            机器学习稀疏之L1正则化

 B是 w 的L1 模的上界, 小的 B 对应的是  机器学习稀疏之L1正则化 大的罚项。  上式的光滑加约束的形式 ,就是 LASSO, 表示 “least absolute shrinkage and selection operator”, 最小绝对值收缩及选择算子。

同样对于 ridge regression L2 正则,  也可进行约束改写:机器学习稀疏之L1正则化。 

 通过图形来直观的解释:

机器学习稀疏之L1正则化

我们首先画出RSS 目标函数的轮廓线, 和 L1 、 L2 的约束边界线。 根据优化原理, 最优解点存在在图中阶数最小处的点,即 顶点处,  因而LI 是四个角点, L2 整个圆周处。 对于L1约束范围 进行扩张,这时角点更容易接触到目标函数,尤其在高维的情况下, 角点是突出的,角点对应的是稀疏解。  对于L2, 是一个球, 没有角点, 所以没有更好的点来进行稀疏。

另外的看法, 对与 岭回归,  比如 坐标点是稀疏解, 比如 w=(1, 0),, 这时其cost  与 dense 解相同(稠密解, 因为没有在坐标轴上,没有值为0) ,  如机器学习稀疏之L1正则化,   即: 机器学习稀疏之L1正则化

而对于 lasso , w = (1, 0) 的花费是比机器学习稀疏之L1正则化, 更小的。

         机器学习稀疏之L1正则化

最严密的方法对于L1 产生的是稀疏解是检验其是否具备 优化条件。


三、 lasso 满足的优化条件


lasso 的目标函数形式: 机器学习稀疏之L1正则化 ,  由于 机器学习稀疏之L1正则化在wj = 0 处 不是连续可导的, 即是折线式的增长, 因而我们要进行的是非光滑的优化过程。

为了能操作不光滑的函数,我们需要定义一个倒数符号: 定义子导数(次梯度) subderivative 或 subgradient . 对于函数f , 在 点机器学习稀疏之L1正则化 处(此处是不光滑的)定义一个标量有 g:  

           机器学习稀疏之L1正则化

机器学习稀疏之L1正则化

可以看到蓝线即为不光滑的,在X0 ,不光滑点 ,我们 利用c, 或者c‘ 处直线的导数 ,即斜率来近似此处的导数。 这样就得到子导数了。


I 是机器学习稀疏之L1正则化 的一个邻域区间, 我们定义子导数 在区间[a, b] 这个是次梯度, 子导数的集合, 上有, a, b 是单侧极限

           机器学习稀疏之L1正则化

在集合[a, b]上 , 这一区间的子导数 叫做f 的 子一致可导点,  在机器学习稀疏之L1正则化表示为 机器学习稀疏之L1正则化。 


举个例子 , 对于绝对值函数 , 机器学习稀疏之L1正则化, 其子导数 实在 机器学习稀疏之L1正则化 = 0 点, 所以有:

          机器学习稀疏之L1正则化

这样整个函数都可导了, 并且我们能够找到局部最小点 即 在点 机器学习稀疏之L1正则化,  处有 机器学习稀疏之L1正则化 满足。


通过之前的分析知道了对于含有L1模项可以利用子导数来进行求解, 因而我们对于 RSS 项时:

           机器学习稀疏之L1正则化

其中w-j 是不包含第j 个成分的, xi,-j 也是这样的。  cj 项描述的是第 j 个特征x:,j 和 由于其他特征得到的残差项的相关性大小, r-j = y - X:-jw-j. 因此 cj 的大小描述的是 第j  个参量 与预测值y 的相关程度。 因为消除了其他项的成分。


这样整体目标函数有:

             机器学习稀疏之L1正则化


这两者等价的。 我们要找最优解,求导 = 0 ,这时 的wj 的取值, 与cj 有关存在三种情况:

1) 如果 机器学习稀疏之L1正则化, 此式 cj 与残差强负相关, 这时的子梯度为零(即最小值)在机器学习稀疏之L1正则化

2) 若 机器学习稀疏之L1正则化, ,此式与残差弱相关,且得到的机器学习稀疏之L1正则化

3)  若 机器学习稀疏之L1正则化, 此时 cj 与残差 强正相关, 且有   机器学习稀疏之L1正则化

机器学习稀疏之L1正则化

所以综合以上三种情况有:

           机器学习稀疏之L1正则化

可以写作: 

          机器学习稀疏之L1正则化 

其中 机器学习稀疏之L1正则化 是正的 x 部分, 这个叫做软阈值。 下面左图中, 我们画 机器学习稀疏之L1正则化, 根据cj 的取值来画,  虚线表示 wj = cj/aj , 对应的是最小二乘拟合的情况,  实现对应的是机器学习稀疏之L1正则化(cj)利用正则估计的结果,  移动虚线点的位置 大小为 机器学习稀疏之L1正则化, 特别在-机器学习稀疏之L1正则化 <= cj <= 机器学习稀疏之L1正则化 , 这时有wj = 0。

相反的情况是右边的图, 硬阈值情况,只是在在-机器学习稀疏之L1正则化 <= cj <= 机器学习稀疏之L1正则化 , 这时有wj = 0, 其他情况不进行收缩。 

机器学习稀疏之L1正则化

在软阈值的情况, 软阈值线 的斜率与 对角线并不相关, 这就是说即使大的系数也可能收缩到0,  这样 lasso 是有偏估计。  这是我们不期望发生的, 因为 如果似然表明(通过cj) 其系数 wj 是很大的, 我们 就不想去收缩它。 这个将后续讨论。

这样我们就明白了为什么lasso 叫做“least absolute selection and shrinkage operator” 因为他选择一部分变量, 并且对所有的系数都通过罚的绝对值进行收缩,  如果机器学习稀疏之L1正则化=0,  我们得到的是OLS解(最初的), 如果机器学习稀疏之L1正则化 , 我们将得到 机器学习稀疏之L1正则化 = 0.  其中

           机器学习稀疏之L1正则化 

 这时的系数将都为0 ,  这时将没有意义,因此通常我们将取 最大罚为 L1  正则化目标。

      机器学习稀疏之L1正则化


四、总结

L1 正则可以通过子集凸近似的过程变光滑,并且也可实现稀疏的过程,因而其应用更加广范。 并且也解释了 L2 不能用来进行稀释,而 L1 可以。 


五、参考文献

1. 《Machine Learning A Probabilistic Perspective》