欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

L1正则化与L2正则化的区别

程序员文章站 2022-06-16 12:26:28
@L1正则化与L2正则化的区别L1正则化与L2正则化的区别以线性回归为例,代价函数为J(θ)=∑i=0m∑j=0n(xj(i)θj−y(i))2J( \theta)=\sum_{i=0}^m\sum_{j=0}^n({x_j^{(i)}}\theta_j-y^{(i)})^2J(θ)=i=0∑m​j=0∑n​(xj(i)​θj​−y(i))2其中m为样本数量,n为数据维度,xj(i)x_j^{(i)}xj(i)​为第i个样本的第j个维度的取值,θj\theta_jθj​为第j个维度的系数(参数向量的...

@L1正则化与L2正则化的区别

L1正则化与L2正则化的区别

以线性回归为例,代价函数为 J ( θ ) = ∑ i = 0 m ∑ j = 0 n ( x j ( i ) θ j − y ( i ) ) 2 J( \theta)=\sum_{i=0}^m\sum_{j=0}^n({x_j^{(i)}}\theta_j-y^{(i)})^2 J(θ)=i=0mj=0n(xj(i)θjy(i))2
其中m为样本数量,n为数据维度, x j ( i ) x_j^{(i)} xj(i)为第i个样本的第j个维度的取值,
θ j \theta_j θj为第j个维度的系数(参数向量的第j个元素), y ( i ) y^{(i)} y(i)为第i个样本的值。
加入L1正则化(惩罚项)后,代价函数为 J ( θ ) = ∑ i = 0 m ∑ j = 0 n ( x j ( i ) θ j − y ( i ) ) 2 + λ ∣ ∣ θ ∣ ∣ 1 J( \theta)=\sum_{i=0}^m\sum_{j=0}^n({x_j^{(i)}}\theta_j-y^{(i)})^2+\lambda||\theta||_1 J(θ)=i=0mj=0n(xj(i)θjy(i))2+λθ1
其中 ∣ ∣ θ ∣ ∣ 1 ||\theta||_1 θ1 = ∑ j = 0 n ∣ θ j ∣ \sum_{j=0}^n|\theta_j| j=0nθj
我们考虑1维的情况。
J ( θ ) = ∑ i = 0 m ( x ( i ) θ − y ( i ) ) 2 + λ ∣ ∣ θ ∣ ∣ 1 J( \theta)=\sum_{i=0}^m({x^{(i)}}\theta-y^{(i)})^2+\lambda||\theta||_1 J(θ)=i=0m(x(i)θy(i))2+λθ1
这是一个关于 θ \theta θ的二次函数加上一个分段函数。
如下图
L1正则化与L2正则化的区别
蓝色为L1正则:上图为二次函数: y 1 = k ( x − a ) 2 + b y_1=k(x-a)^2+b y1=k(xa)2+b
中图为正则项 y 2 = λ ∣ x ∣ y_2=\lambda|x| y2=λx
下图为两图叠加(正则后的代价函数)。
从严谨的的角度讲,求分段函数的极小值。假设a>0,当x<0时, y 1 y_1 y1 y 2 y_2 y2均为递减函数,因此左侧极小值在0点;当x>0时, d y 1 d x = 2 k ( x − a ) \frac{dy_1}{dx}=2k(x-a) dxdy1=2k(xa), d y 2 d x = 1 \frac{dy_2}{dx}=1 dxdy2=1, d J d x = d y 1 d x + d y 2 d x \frac{dJ}{dx}=\frac{dy_1}{dx}+\frac{dy_2}{dx} dxdJ=dxdy1+dxdy2,使得 2 k ( x − a ) + 1 = 0 2k(x-a)+1=0 2k(xa)+1=0 x x x才是极小值点,如果 2 k ( x − a ) + 1 > = 0 2k(x-a)+1>=0 2k(xa)+1>=0恒成立,则 J J J的极小值就位于 x = 0 x=0 x=0处。
在代价函数中, x x x即为 θ \theta θ,因此 L 1 L_1 L1正则有机会使得参数为零。
同样分析 L 2 L_2 L2正则(红色),, d J d x = d y 1 d x + d y 2 d x = 2 k ( x − a ) + λ x \frac{dJ}{dx}=\frac{dy_1}{dx}+\frac{dy_2}{dx}=2k(x-a)+\lambda x dxdJ=dxdy1+dxdy2=2k(xa)+λx,此导数的零点 x = 2 k a 2 k + λ x=\frac{2ka}{2k+\lambda} x=2k+λ2ka。所以只要非正则的时候最优参数不为0(a不为0), L 2 L_2 L2正则后最优参数也不为0,但是会被缩小至 2 k 2 k + λ \frac{2k}{2k+\lambda} 2k+λ2k倍。

本文地址:https://blog.csdn.net/weixin_43962853/article/details/110474552