赞
踩
正则化的主要作用是防止过拟合,对模型添加正则化项可以限制模型的复杂度,使得模型在复杂度和性能达到平衡。
L1正则化可以产生稀疏权值矩阵,可以用于特征选择,一定程度上,L1也可以防止过拟合
L2正则化它对于大数值的权重向量进行严厉惩罚,倾向于更加分散的权重向量;L2惩罚倾向于更小更分散的权重向量,这就会鼓励分类器最终将所有维度上的特征都用起来,而不是强烈依赖其中少数几个维度。这样做可以提高模型的泛化能力,降低过拟合的风险。
在原始目标函数的基础上添加正则化相当于,在参数原始的解空间添加了额外的约束。
L1正则化对解空间添加的约束是:
∑
∣
∣
w
∣
∣
1
≤
C
\sum||w||_1\leq C
∑∣∣w∣∣1≤C
L2正则化对解空间添加的约束是:
∑
∣
∣
w
∣
∣
2
2
≤
C
\sum||w||_2^{2}\leq C
∑∣∣w∣∣22≤C
为了形象化的说明,以二维参数空间为例,假设有两个参数
W
1
W_1
W1和
W
2
W_2
W2
则L1正则化对解空间的约束为:
∣
w
1
∣
+
∣
w
2
∣
≤
C
|w_1|+|w_2|\leq C
∣w1∣+∣w2∣≤C
L2对解空间的约束为:
w
1
2
+
w
2
2
≤
C
w_1^2+w_2^2\leq C
w12+w22≤C
在二维平面上绘制以上两个式子的图像,可得L1约束的范围是一个顶点在坐标轴上的菱形,L2约束的范围是一个圆形。
上面的图,左面是L2约束下解空间的图像,右面是L1约束下解空间的图像。
蓝色的圆圈表示损失函数的等值线。同一个圆上的损失函数值相等的,圆的半径越大表示损失值越大,由外到内,损失函数值越来越小,中间最小
如果没有L1和L2正则化约束的话,w1和w2是可以任意取值的,损失函数可以优化到中心的最小值的,此时中心对应的w1和w2的取值就是模型最终求得的参数
填了L1和L2正则化约束就把解空间约束在了黄色的平面内。黄色图像的边缘与损失函数等值线的交点,便是满足约束条件的损失函数最小化的模型的参数的解。 由于L1正则化约束的解空间是一个菱形,所以等值线与菱形端点相交的概率比与线的中间相交的概率要大很多,端点在坐标轴上,一些参数的取值便为0。L2正则化约束的解空间是圆形,所以等值线与圆的任何部分相交的概率都是一样的,所以也就不会产生稀疏的参数。
L2为什么倾向于产生分散而小的参数呢?
因为求解模型的时候要求,在约束条件满足的情况下最小化损失函数,
∑
∣
∣
w
∣
∣
2
2
\sum||w||_2^{2}
∑∣∣w∣∣22 也应该尽可能的小
用一个实例来说明:
设输入向量
x
=
[
1
,
1
,
1
,
1
]
x=[1,1,1,1]
x=[1,1,1,1],两个权重向量
w
1
T
=
[
1
,
0
,
0
,
0
]
w_1^T=[1,0,0,0]
w1T=[1,0,0,0],
w
2
T
=
[
0.25
,
0.25
,
0.25
,
0.25
]
w_2^T=[0.25,0.25,0.25,0.25]
w2T=[0.25,0.25,0.25,0.25]。那么
w
1
T
x
=
w
2
T
x
=
1
w_1^Tx=w_2^Tx=1
w1Tx=w2Tx=1两个权重向量都得到同样的内积,但是
w
1
w_1
w1的L2惩罚是1.0,而
w
2
w_2
w2的L2惩罚是0.25。因此,根据L2惩罚来看,
w
2
w_2
w2更好,因为它的正则化损失更小。从直观上来看,这是因为
w
2
w_2
w2的权重值更小且更分散。所以L2正则化倾向于是特征分散,更小。
另一种公式推导(以线性回归为例):
未加正则的梯度下降迭代为:
θ
j
:
=
θ
j
−
α
1
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
x
j
(
i
)
\theta_{j}:=\theta_{j}-\alpha \frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) x_{j}^{(i)}
θj:=θj−αm1i=1∑m(hθ(x(i))−y(i))xj(i)
加了L2正则的梯度下降迭代为:
θ
j
:
=
θ
j
(
1
−
α
λ
m
)
−
α
1
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
x
j
(
i
)
\theta_{j}:=\theta_{j}\left(1-\alpha \frac{\lambda}{m}\right)-\alpha \frac{1}{m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right) x_{j}^{(i)}
θj:=θj(1−αmλ)−αm1i=1∑m(hθ(x(i))−y(i))xj(i)
其中 α \alpha α是学习率 λ \lambda λ是正则化参数
从上式可以看到,与未添加L2正则化的迭代公式相比,每一次迭代, θ j \theta_j θj都要先乘以一个小于1的因子(即 1 − α λ m ) 1-\alpha \frac{\lambda}{m}) 1−αmλ),从而使得 θ j \theta_j θj不断减小,因此总的来看, θ \theta θ是不断减小的
正则化系数越大,正则化的函数图形(上文图中的方形或圆形)会向坐标轴原点收缩得越厉害;通常越大的 λ \lambda λ可以让代价函数在参数为0时取到最小值
正则项参数 λ \lambda λ用来来平衡经验风险和结构风险(正则项表示结构风险)。
λ \lambda λ越小考虑经验风险更多一些,约束条件更为宽松,对应上文中的 C 值就很大,容易过拟合;若 λ 近似为 0,正则化失效,容易造成过拟合
若 λ 很大,约束条件更为严格,对应上文中的 C 值就很小,圆形区域很小, w w w 离中心最优解的位置较远。 w w w 被限制在一个很小的区域内变化, w w w 普遍较小且接近 0,起到了正则化的效果。但是,λ 过大容易造成欠拟合
见 面试总结
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。