正则化项
正则化项或正则惩罚项一般位于损失函数的后面,用于与经验风险构成结构风险,通过使其最小化使模型到达最优值。例如下式:
min f ∈ F [ 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) ] \min_{f\in F}[\frac{1}{N}\sum_{i=1}^{N}L(y_i,f(x_i))+\lambda J(f)] f∈Fmin[N1i=1∑NL(yi,f(xi))+λJ(f)]
其中L为经验风险,
J
(
⋅
)
J(·)
J(⋅)是度量模型
f
f
f复杂度的函数,
λ
\lambda
λ为控制经验风险和模型复杂度的权重,通常大于0。当最小化结构风险时,我们不仅要考虑最小化经验风险,同时还要考虑模型复杂度。因为在训练过程中如果仅考虑经验风险,模型可能由于迭代次数过多等原因产生“过拟合”现象,即模型训练地过于复杂,完全拟合训练数据,此时经验风险损失较低甚至达到0,但对测试数据的拟合性较差,在测试数据集上无法取得较好结果。此时我们就需要一个额外的条件来约束模型的复杂度,这就是正则项的主要作用。正则项越小表明模型越简单,产生过拟合的可能性就越小,但同时也可能使模型的拟合能力下降发生欠拟合,因此这里的
λ
\lambda
λ就是对模型准确率和惩罚项的一个权衡。过拟合欠拟合情况如下图所示:
这里用上图举个例子,假设存在样本
n
1
,
n
2
,
n
3
.
.
.
n_1,n_2,n_3...
n1,n2,n3...现在想通过一个多项式对其进行拟合。当我们仅考虑经验风险时,多项式可能为5次多项式,即
θ
0
+
θ
1
x
+
θ
2
x
2
+
θ
3
x
3
+
θ
4
x
4
+
θ
5
x
5
\theta_0+\theta_1x+\theta_2x^2+\theta_3x^3+\theta_4x^4+\theta_5x^5
θ0+θ1x+θ2x2+θ3x3+θ4x4+θ5x5,此时模型对训练数据的效果比较好,但是在对新的数据进行测试时则会产生过拟合现象,和真实结果偏差较大。而当我们引入正则项时,在优化过程中需要考虑模型复杂度,最终可能导致
x
4
x^4
x4和
x
5
x^5
x5项的系数
θ
4
\theta_4
θ4和
θ
5
\theta_5
θ5为0,使五次多项式变为三次多项式
θ
0
+
θ
1
x
+
θ
2
x
2
+
θ
3
x
3
\theta_0+\theta_1x+\theta_2x^2+\theta_3x^3
θ0+θ1x+θ2x2+θ3x3,尽管此时多项式对训练数据的拟合程度降低,但其对测试数据的拟合程度却升高,达到了训练数据和测试数据之间的平衡,这就是正则项在优化模型上的作用。(注:其同样可应用与深度学习模型上)
常见的正则化项:
以下是两种最常见的几种正则化项:
这里我们用W表示模型中的参数矩阵
L1正则: J ( W ) = ∑ i ∑ j ∣ W i , j ∣ J(W) = \sum_i \sum_j |W_{i,j}| J(W)=∑i∑j∣Wi,j∣
L2正则: J ( W ) = ∑ i ∑ j W i , j 2 J(W)=\sum_i\sum_jW^2_{i,j} J(W)=∑i∑jWi,j2
以上两个正则化项的主要区别是:
L1会趋向于产生少量的特征,而其他的特征都是0,也就是让W参数矩阵趋向稀疏化。
L2会选择更多的特征,这些特征都会接近于0。
这里我们用一个可视化的方法直观理解为什么L1正则项会趋向使W参数矩阵稀疏化:
为了便于理解,这里我们仅考虑二维情况,在
(
W
1
,
W
2
)
(W_1,W_2)
(W1,W2)平面上对目标函数和正则项进行可视化,其中右上角为目标函数的等高线,而l1和l2正则项分别表示为一个矩形和一个圆形。上面我们已介绍过,对结构风险优化实际上就是找到经验风险(目标函数)和正则项的一个权衡,在空间中则表示二者的交点(也就是满足二者的最优值)。可以看到,L1与目标函数相交的位置通常在坐标轴上,这些点通常表示存在某些参数为0的情况(部分W为0),因此最终会导致特征矩阵变得更加稀疏。
参考:
https://blog.csdn.net/pxhdky/article/details/83544932
https://blog.csdn.net/Vodka_Lou/article/details/116083870
https://blog.csdn.net/weixin_41432734/article/details/111317719