L1正则化与L2正则化的区别
@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=0∑mj=0∑n(xj(i)θj−y(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=0∑mj=0∑n(xj(i)θj−y(i))2+λ∣∣θ∣∣1
其中
∣
∣
θ
∣
∣
1
||\theta||_1
∣∣θ∣∣1 =
∑
j
=
0
n
∣
θ
j
∣
\sum_{j=0}^n|\theta_j|
j=0∑n∣θ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=0∑m(x(i)θ−y(i))2+λ∣∣θ∣∣1
这是一个关于
θ
\theta
θ的二次函数加上一个分段函数。
如下图
蓝色为L1正则:上图为二次函数:
y
1
=
k
(
x
−
a
)
2
+
b
y_1=k(x-a)^2+b
y1=k(x−a)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(x−a),
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(x−a)+1=0的
x
x
x才是极小值点,如果
2
k
(
x
−
a
)
+
1
>
=
0
2k(x-a)+1>=0
2k(x−a)+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(x−a)+λ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
上一篇: IPV4和IPV6正则表达式的深入讲解