博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
L1,L2正则化分析
阅读量:2254 次
发布时间:2019-05-09

本文共 1323 字,大约阅读时间需要 4 分钟。

1. 优化角度分析

1)、L2正则化的优化角度分析

在限定的区域,找到使

  

最小的值。

 

图形表示为:

上图所示,红色实线是正则项区域的边界,蓝色实线是

的等高线,越靠里的等高圆,

越小,梯度的反方向是

减小最大的方向,用

表示,正则项边界的法向量用实黑色箭头表示。

正则项边界在点P1的切向量有

负梯度方向的分量,所以该点会有往相邻的等高虚线圆运动的趋势;当P1点移动到P2点,正则项边界在点P2的切向量与

梯度方向的向量垂直,即该点没有往负梯度方向运动的趋势;所以P2点是

最小的点。

结论:L2正则化项使值最小时对应的参数变小。

 

2)、L1正则化的优化角度分析

在限定的区域,找到使

最小的值。

结论:如上图,因为切向量始终指向w2轴,所以L1正则化容易使参数为0,即特征稀疏化。

2. 梯度角度分析

1)、L1正则化

L1正则化的损失函数为:

上式可知,当w大于0时,更新的参数w变小;当w小于0时,更新的参数w变大;所以,L1正则化容易使参数变为0,即特征稀疏化。

2)、L2正则化

L2正则化的损失函数为:

由上式可知,正则化的更新参数相比于未含正则项的更新参数多了

项,当w趋向于0时,参数减小的非常缓慢,因此L2正则化使参数减小到很小的范围,但不为0。

3. 先验概率角度分析

文章《深入理解线性回归算法(二):正则项的详细分析》提到,当先验分布是拉普拉斯分布时,正则化项为L1范数;当先验分布是高斯分布时,正则化项为L2范数。本节通过先验分布来推断L1正则化和L2正则化的性质。

画高斯分布和拉普拉斯分布图(来自知乎某网友):

由上图可知,拉普拉斯分布在参数w=0点的概率最高,因此L1正则化相比于L2正则化更容易使参数为0;高斯分布在零附近的概率较大,因此L2正则化相比于L1正则化更容易使参数分布在一个很小的范围内。

4. 知乎点赞最多的图形角度分析

函数极值的判断定理:

(1)当该点导数存在,且该导数等于零时,则该点为极值点;

(2)当该点导数不存在,左导数和右导数的符号相异时,则该点为极值点。

如下面两图:

左图对应第一种情况的极值,右图对应第二种情况的极值。本节的思想就是用了第二种极值的思想,只要证明参数w在0附近的左导数和右导数符合相异,等价于参数w在0取得了极值。

图形角度分析

损失函数L如下:

黑色点为极值点x1,由极值定义:L'(x1)=0;

含L2正则化的损失函数:

 

由结论可定性的画含L2正则化的图:

 

极值点为黄色点,即正则化L2模型的参数变小了。

 

含L1正则化的损失函数:

因此,只要C满足推论的条件,则损失函数在0点取极值(粉红色曲线),即L1正则化模型参数个数减少了。

5. 限制条件法

结论:含L1正则化的损失函数在0点取得极值的条件比相应的L2正则化要宽松的多,所以,L1正则化更容易得到稀疏解(w=0)。

6. PRML的图形角度分析

因为L1正则化在零点附近具有很明显的棱角,L2正则化则在零附近比较平缓。所以L1正则化更容易使参数为零,L2正则化则减小参数值,如下图。

(1)L1正则化使参数为零 (2)L2正则化使参数减小

--------------------------

转载自  

你可能感兴趣的文章
JPA 联合主键配置
查看>>
ObjectAlreadyExistsException:Unable to store Job : '*', because one already exists with thi s ident
查看>>
这些大厂面试真题你能答出来,年薪至少30-50W,想不想挑战一下?
查看>>
携程T7用637页PDF,解读十余热门技术领域,八场携程技术沙龙干货
查看>>
开发框架SpringBoot:构建SpringBoot工程+配置文件详解+Actuator
查看>>
6年拉力工作经验,学了阿里P8级架构师的7+1+1落地项目,跳槽阿里年薪直接40W+
查看>>
90天吃透阿里P8推荐的625页Java编程兵书技术实战,直接入职阿里定级P6
查看>>
清华毕业扫地僧,用157集终于把java给讲完了,总计3.13GB
查看>>
清华毕业大佬用了一个项目就把SpringMVC+Spring+MyBatis给讲完了
查看>>
终于学完阿里P8架构师多年实战经验总结分享微服务之道实战文档
查看>>
年薪120W的架构师简历你见过吗?java程序员该如何达到?
查看>>
超赞!80W美团架构师7年心血终成轻量级框架SSM整合开发实战文档
查看>>
超赞!终于学完了阿里P8架构师7年心血整理总结的微服务实战文档
查看>>
真666!阿里资深架构师熬夜纯手写的238页微服务容器化开发实战笔记
查看>>
终于学完了2021年阿里内部480道全套java面试题及答案
查看>>
面试官:熟悉Redis吗,项目中你是如何对Redis内存进行优化的
查看>>
JVM 实战学习总结:JVM 的分代模型:年轻代、老年代、永久代
查看>>
面试官:聊聊 Spring 中的线程安全性
查看>>
一篇文教你在 Java 中利用 redis 实现分布式全局唯一标识服务
查看>>
深入浅出数据库事务和4种隔离级别
查看>>