三、正则化
正则化( R e g u l a r i z a t i o n Regularization Regularization)是机器学习中一种常用的技术,其主要目的是控制模型复杂度,减小过拟合。最基本的正则化方法是在原目标(代价)函数 中添加惩罚项,对复杂度高的模型进行“惩罚”。其数学表达形式为:
J ~ ( w ; X , y ) = J ( w ; X , y ) + a Ω ( w ) ( 1 ) \tilde{J}(w;X,y) = J(w;X,y) + a\Omega(w) ~~~~(1) J~(w;X,y)=J(w;X,y)+aΩ(w) (1)
式中 X , y X,y X,y 为训练样本和相应标签, Ω \Omega Ω 为权重系数向量; J ( ) J() J() 为目标函数, Ω ( w ) \Omega(w) Ω(w)即为惩罚项,可理解为模型“规模”的某种度量;参数 a a a 控制控制正则化强弱。不同的 Ω \Omega Ω 函数对权重 w w w的最优解有不同的偏好,因而会产生不同的正则化效果。最常用的 Ω \Omega Ω 函数有两种,即 L 1 L_1 L1范数和 L 2 L_2 L2范数,相应称之为 L 1 L_1 L1 正则化和 L 2 L_2 L2正则化。此时有:
l 1 : Ω ( w ) = ∣ ∣ w ∣ ∣ 1 = ∑ i = 1 ∣ w i ∣ ( 2 ) l_1 : \Omega(w) = ||w||_1 = \sum_{i=1}|w_i|~~~~(2) l1:Ω(w)=∣∣w∣∣1=i=1∑∣wi∣ (2)
l 2 : Ω ( w ) = ∣ ∣ w ∣ ∣ 2 2 = ∑ i = 1 w i 2 ( 3 ) l_2 : \Omega(w) = ||w||_2^2 = \sum_{i=1}w_i^2~~~~(3) l2:Ω(w)=∣∣w∣∣22=i=1∑wi2 (3)
本文将从不同角度详细说明 L 1 L_1 L1 正则化和 L 2 L_2 L2正则化的推导、求解过程,并对 L 1 L_1 L1范数产生稀疏性效果的本质予以解释。
1 L 1 L_1 L1 正则化和 L 2 L_2 L2正则化来源推导
L 1 L_1 L1 正则化和 L 2 L_2 L2正则化来源推导有带约束条件的优化求解和最大后验概率两种思路,下面将予以详细分析。
1.1 带约束条件的优化求解
对于模型权重系数 w w w 求解是通过最小化目标函数实现的,即求解: m i n w = J ( w ; X , y ) \underset {w}{min} = J(w;X,y) wmin=J(w;X,y) 。我们知道,模型的复杂度可用VC维来衡量。通常情况下,模型VC维与权重系数 w w w 的个数成线性关系:即 w w w数量越多,VC维越大,模型越复杂。因此,为了限制模型的复杂度,很自然的思路是减少系数 w w w 的个数,即让 w w w向量中一些元素为0或者说限制 w w w 中非零元素的个数。为此,我们可在原优化问题中加入一个约束条件: m i n w = J ( w ; X , y ) s . t . ∣ ∣ w ∣ ∣ 0 ≤ C \underset {w}{min} = J(w;X,y) ~~~~ s.t. ||w||_0 \le C wmin=J(w;X,y) s.t.∣∣w∣∣0≤C 。
∣ ∣ ⋅ ∣ ∣ 0 ||\cdot||_0 ∣∣⋅∣∣0范数表示向量中非零元素的个数。但由于该问题是一个NP问题,不易求解,为此我们需要稍微“放松”一下约束条件。为了达到近似效果,我们不严格要求某些权重 w w w 为0,而是要求权重 w w w 应接近于0,即尽量小。从而可用 L 1 、 L 2 L_1、L_2 L1、L2范数来近似 L 0 L_0 L0 范数,即: m i n w = J ( w ; X , y ) s . t . ∣ ∣ w ∣ ∣ 1 ≤ C 或 m i n w = J ( w ; X , y ) s . t . ∣ ∣ w ∣ ∣ 2 ≤ C \underset {w}{min} = J(w;X,y) ~~~~ s.t. ||w||_1 \le C ~~~~或 ~~~~ \underset {w}{min} = J(w;X,y) ~~~~ s.t. ||w||_2 \le C wmin=J(w;X,y) s.t.∣∣w∣∣1≤C 或 wmin=J(w;X,y) s.t.∣∣w∣∣2≤C 。
使用 L 2 L_2 L2 范数时,为方便后续处理,可对 ∣ ∣ w ∣ ∣ 2 ||w||_2 ∣∣w∣∣2 进行平方,此时只需调整 C C C 的取值即可。利用拉格朗日乘子算子法,我们可将上述带约束条件的最优化问题转换为不带约束项的优化问题,构造拉格朗日函数:
L ( w , a ) = J ( w ; X , y ) + a ( ∣ ∣ w ∣ ∣ 1 − C ) 或 L ( w , a ) = J ( w ; X , y ) + a ( ∣ ∣ w ∣ ∣ 2 2 − C ) ( 4 ) L(w,a) = J(w;X,y) + a(||w||_1 - C) ~~~~或 ~~~~ L(w,a) = J(w;X,y) + a(||w||_2^2 - C) ~~~~(4) L(w,a)=J(w;X,y)+a(∣∣w∣∣1−C) 或 L(w,a)=J(w;X,y)+a(∣∣w∣∣22−C) (4)
其中 a > 0 a>0 a>0,假设 a a a的最优解为 a ∗ a^{\ast} a∗,则对拉格朗日函数求最小化等价于:
m i n w J ( w ; X , y ) + a ∗ ∣ ∣ w ∣ ∣ 1 或 m i n w J ( w ; X , y ) + a ∗ ∣ ∣ w ∣ ∣ 2 2 ( 5 ) \underset {w}{min}J(w;X,y)+ a^{\ast}||w||_1 ~~~~或 ~~~~ \underset {w}{min}J(w;X,y)+ a^{\ast}||w||_2^2 ~~~~(5) wminJ(w;X,y)+a∗∣∣w∣∣1 或 wminJ(w;X,y)+a∗∣∣w∣∣22 (5)
可以看出,上式与 m i n w J ~ ( w ; X , y ) \underset {w}{min} \tilde{J}(w;X,y) wminJ~(w;X,y) 等价。故此,我们得到对 L 1 L_1 L1 正则化和 L 2 L_2 L2正则化的第一种理解:
∙ \bullet ∙ L 1 L_1 L1 正则化等价于在原优化目标函数中增加约束条件 a ( ∣ ∣ w ∣ ∣ 1 ≤ C a(||w||_1 \le C a(∣∣w∣∣1≤C。
∙ \bullet ∙ L 2 L_2 L2 正则化等价于在原优化目标函数中增加约束条件 a ( ∣ ∣ w ∣ ∣ 2 2 ≤ C a(||w||_2^2 \le C a(∣∣w∣∣22≤C。
1.2 最大后验概率估计
在极大似然估计中,是假设权重系数 w w w 是未知的参数,从而求得对数似然函数:
l ( w ) = l n ( P ( y ∣ X ; w ) ) = l n ( ∏ i P ( y i ∣ x i ; w ) ) ( 6 ) l(w) = ln(P(y|X;w)) = ln(\prod_{i}P(y^i|x^i;w)) ~~~~(6) l(w)=ln(P(y∣X;w))=ln(i∏P(yi∣xi;w)) (6)
在后验概率中,将权重系数 w w w视为随机变量,服从某种分布,从而有:
P ( w ∣ X ; y ) = P ( w , X , y ) P ( X , y ) = P ( X , y ∣ w ) P ( w ) P ( X , y ) ∝ P ( y ∣ X , w ) P ( w ) ( 7 ) P(w|X;y) = \frac{P(w,X,y)}{P(X,y)} = \frac{P(X,y|w)P(w)}{P(X,y)} \varpropto P(y|X,w)P(w) ~~~~(7) P(w∣X;y)=P(X,y)P(w,X,y)=P(X,y)P(X,y∣w)P(w)∝P(y∣X,w)P(w) (7)
取对数有:
l n ( P ( y ∣ X , w ) P ( w ) ) = l n ( P ( y ∣ X , w ) ) + l n ( P ( w ) ) ( 8 ) ln(P(y|X,w)P(w)) = ln(P(y|X,w)) + ln(P(w)) ~~~~(8) ln(P(y∣X,w)P(w))=ln(P(y∣X,w))+ln(P(w)) (8)
可以看出后验概率函数为在似然函数的基础上增加了一项 l n ( P ( w ) ) ln(P(w)) ln(P(w)) 。 P ( w ) P(w) P(w) 的意义是对权重系数 w w w 的概率分布的先验假设,在收集到训练样本 { X , y } {\lbrace X,y \rbrace} {X,y} 后,则可根据 w w w 在 { X , y } {\lbrace X,y \rbrace} {X,y} 下的后验概率对 w w w 进行修正,从而做出对 w w w 若假设 w j w_j wj 的先验分布为0均值的高斯分布,即 w j ∼ N ( 0 , σ 2 ) w_j \sim N(0,\sigma ^2) wj∼N(0,σ2) ,则有:
l n ( P ( w ) ) = l n ( ∏ i p ( w j ) ) = l n ( ∏ i 1 2 π σ e w j 2 2 σ 2 ) = − 1 2 σ 2 ∑ i w j 2 + C ′ ( 9 ) ln(P(w)) = ln(\prod_{i}p(w_j)) = ln(\prod_{i} \frac{1}{\sqrt {2\pi}\sigma} e^{\frac{w_j^2}{2\sigma ^2}}) = -\frac{1}{2\sigma ^2} \sum_{i}w_j^2 + C^{'} ~~~~(9) ln(P(w))=ln(i∏p(wj))=ln(i∏2πσ1e2σ2wj2)=−2σ21i∑wj2+C′ (9)
可以看到, w j w_j wj 的先验分布为0均值的高斯分布下 l n ( P ( w ) ) ln(P(w)) ln(P(w)) 的效果等价于在代价函数中增加 L 2 L_2 L2 正则项。
若假设 w j w_j wj 的先验分布服从均值为0,参数为 a a a 的拉普拉斯分布,则有:
l n ( P ( w ) ) = l n ( ∏ i 1 2 a e − ∣ w j ∣ a ) = − 1 a ∑ i ∣ w j ∣ + C ′ ( 10 ) ln(P(w)) = ln(\prod_{i} \frac{1}{\sqrt {2a}} e^{-\frac{|w_j|}{a}}) = -\frac{1}{a} \sum_{i} |w_j| + C^{'} ~~~~(10) ln(P(w))=ln(i∏2a1e−a∣wj∣)=−a1i∑∣wj∣+C′ (10)
可以看到, w j w_j wj 的先验分布为0均值的高斯分布下 l n ( P ( w ) ) ln(P(w)) ln(P(w)) 的效果等价于在代价函数中增加 L 1 L_1 L1 正则项。
- L 1 L_1 L1 正则化和 L 2 L_2 L2 正则化效果分析
2.1 直观理解
考虑带约束条件的优化解释,对 L 2 L_2 L2 正则化为: m i n w = J ( w ; X , y ) s . t . ∣ ∣ w ∣ ∣ 2 ≤ C \underset {w}{min} = J(w;X,y) ~~~~ s.t. ||w||_2 \le C wmin=J(w;X,y) s.t.∣∣w∣∣2≤C,该问题的求解示意图如下所示:
图1 中展示的是最优权重系数在二维空间上的求解过程。图中椭圆为原目标函数 J ( w ) J(w) J(w) 的一条等高线,圆为半径 C \sqrt {C} C的 L 2 L_2 L2范数球。由于约束条件的限制, w w w必须位于 L 2 L_2 L2 范数球内。考虑边界上的一点 w w w ,图中蓝色箭头为 J ( w ) J(w) J(w) 在该处的梯度方向 ∇ J ( w ) \nabla J(w) ∇J(w) ,红色箭头为 L 2 L_2 L2 范数球在该处的法线方向。由于 w w w 不能离开边界(否则违反约束条件),因而在使用梯度下降法更新 w w w 时,只能朝 ∇ J ( w ) \nabla J(w) ∇J(w) 在 范数球上 w w w 处的切线方向更新,即图中绿色箭头的方向。如此 w w w 将沿着边界移动,当 ∇ J ( w ) \nabla J(w) ∇J(w) 与范数球上 w w w 处的法线平行时,此时 ∇ J ( w ) \nabla J(w) ∇J(w) 在切线方向的分量为0, w w w 将无法继续移动,从而达到最优解 w ∗ w^* w∗(图中红色点所示)。
对 L 1 L_1 L1 正则化为: m i n w = J ( w ; X , y ) s . t . ∣ ∣ w ∣ ∣ 1 ≤ C \underset {w}{min} = J(w;X,y) ~~~~ s.t. ||w||_1 \le C wmin=J(w;X,y) s.t.∣∣w∣∣1≤C,该问题的求解示意图如下所示:
其主要差别在于 L 1 L_1 L1 、 L 2 L_2 L2 范数球的形状差异。由于此时每条边界上 w w w 的切线和法线方向保持不变,在图中 w w w 将一直朝着 ∇ J ( w ) \nabla J(w) ∇J(w) 在切线方向的分量沿着边界向左上移动。当 w w w 跨过顶点到达 w ′ w^{'} w′ 时, ∇ J ( w ) \nabla J(w) ∇J(w) 在切线方向的分量变为右上方,因而 w w w 将朝右上方移动。最终, w w w 将稳定在顶点处,达到最优解 w ∗ w^* w∗ 。此时,可以看到 w 1 = 0 w_1 =0 w1=0 ,这也就是采用 L 1 L_1 L1 范数会使 w w w产生稀疏性的原因。
以上分析虽是基于二维的情况,但不难将其推广到多维情况,其主要目的是为了直观地说明 L 1 L_1 L1 、 L 2 L_2 L2 正则化最优解的差异,以及 L 1 L_1 L1 范数为什么为产生稀疏性。
2.2 理论分析
假设原目标函数 J ( w ) J(w) J(w) 的最优解为 w ∗ w^* w∗ ,并假设其为二阶可导,将 J ( w ) J(w) J(w) 在 w ∗ w^* w∗ 处进行二阶泰勒展开有:
J ^ ( w ) = J ( w ∗ ) + 1 2 ( w − w ∗ ) T H ( w − w ∗ ) ( 11 ) \hat J(w) = J(w^*) + \frac{1}{2}(w-w^*)^T H (w-w^*) ~~~~(11) J^(w)=J(w∗)+21(w−w∗)TH(w−w∗) (11)
式中 H H H 为 J ( w ) J(w) J(w) 在 w ∗ w^* w∗ 处的Hessian矩阵,注意 w ∗ w^* w∗ 为 J ( w ) J(w) J(w) 的最优解,其一阶导数为0,因而式中无一阶导数项。 J ^ ( w ) \hat J(w) J^(w) 取得最小值时有: ∇ w J ^ ( w ) = H ( w − w ∗ ) = 0 \nabla _w \hat J(w)= H (w-w^*) =0 ∇wJ^(w)=H(w−w∗)=0,由于 L 2 L_2 L2 正则化的目标函数为在 J ( w ) J(w) J(w) 中添加 公式 3 3 3, Ω ( w ) = 1 2 a ∣ ∣ w ∣ ∣ 2 2 = 1 2 a w T w \Omega(w) = \frac{1}{2} a ||w||_2^2 = \frac{1}{2} a w^Tw Ω(w)=21a∣∣w∣∣22=21awTw ,因而有:
∇ w J ~ ( w ) = ∇ w J ^ ( w ) + ∇ w Ω ( w ) = H ( w − w ∗ ) + a w ( 12 ) \nabla _w \tilde J(w) = \nabla _w \hat J(w) + \nabla _w \Omega(w) = H (w-w^*) + aw ~~~~(12) ∇wJ~(w)=∇wJ^(w)+∇wΩ(w)=H(w−w∗)+aw (12)
设其最优解为 w ~ \tilde w w~ ,则有: H ( w − w ~ ) + a w ⇒ w ~ = ( H + a I ) − 1 H w ∗ H (w-\tilde w) + aw \Rightarrow \tilde w = (H + aI)^{-1} H w^* H(w−w~)+aw⇒w~=(H+aI)−1Hw∗,由于 H H H 是对称矩阵,可对其作特征值分解,即 H = Q Λ Q T H = Q \Lambda Q^T H=QΛQT ,其中 Q Q Q 为正交矩阵,且每一列为 H H H 的特征向量,代入上式有: w = ( H + a I ) − 1 H w ∗ = ( Q Λ Q T + a I ) − 1 Q Λ Q T w ∗ = Q ( Λ + a I ) − 1 Q T Q Λ Q T w ∗ = Q ( Λ + a I ) − 1 Λ Q T w ∗ w = (H + aI)^{-1} H w^* = (Q \Lambda Q^T + aI)^{-1} Q \Lambda Q^T w^* = Q( \Lambda + aI)^{-1} Q^TQ \Lambda Q^T w^* = Q( \Lambda + aI)^{-1} \Lambda Q^T w^* w=(H+aI)−1Hw∗=(QΛQT+aI)−1QΛQTw∗=Q(Λ+aI)−1QTQΛQTw∗=Q(Λ+aI)−1ΛQTw∗ , Λ \Lambda Λ为对角矩阵,且对角线元素为 H H H 的特征值 λ j \lambda _j λj 。
w ∗ w^* w∗ 可在 Q Q Q 为正交基上作线性展开,由上式可知 w ~ \tilde w w~ 为 w ∗ w^* w∗ 在 H H H 的每个特征向量上的分量以 λ j λ j + a \frac{\lambda _j}{\lambda _j + a} λj+aλj 比例放缩得到。若 λ j ≫ a \lambda _j \gg a λj≫a ,则 w j ∗ w_j^* wj∗ 受正则化的影响较小;若 λ j ≪ a \lambda _j \ll a λj≪a ,则 w j ∗ w_j^* wj∗ 受正则化的影响较大,将收缩到接近于0的值。同时,若 w j ∗ ≠ 0 w_j^* \neq 0 wj∗=0 ,则 w ~ j ≠ 0 \tilde w_j \neq 0 w~j=0 ,因而 L 2 L_2 L2 正则化不会产生稀疏性的效果。
对于 L 1 L_1 L1 正则化,只需将 Ω ( w ) \Omega(w) Ω(w) 替换为 w w w 的 L 1 L_1 L1 范数,同理可以得到:
∇ w J ~ ( w ) = ∇ w J ^ ( w ) + ∇ w Ω ( w ) = H ( w − w ∗ ) + a s i g n ( w ) ( 13 ) \nabla _w \tilde J(w) = \nabla _w \hat J(w) + \nabla _w \Omega(w) = H (w-w^*) + a~sign(w) ~~~~(13) ∇wJ~(w)=∇wJ^(w)+∇wΩ(w)=H(w−w∗)+a sign(w) (13)
其最优解满足: H ( w ~ − w ∗ ) + a s i g n ( w ~ ) = 0 H (\tilde w-w^*) + a~sign(\tilde w) = 0 H(w~−w∗)+a sign(w~)=0 。
为了简化讨论,我们假设 H H H为对角阵,即 H = d i a g [ H 11 , H 22 , ⋯ , H n n ] , 其 中 H j j > 0 H = diag [H_{11},H_{22},\cdots,H_{nn}], 其中 H_{jj}>0 H=diag[H11,H22,⋯,Hnn],其中Hjj>0 。此时 w w w 的不同分量之间没有相关性,该假设可通过对输入特征进行预处理(例如使用PCA)得到,此时 w ~ \tilde w w~ 的解为:
w ~ j = s i g n ( w j ∗ ) m a x ( ∣ w j ∗ ∣ − a H j j , 0 ) ( 14 ) \tilde w_j = sign(w_j^*) max (|w_j^*| -\frac{a}{H_{jj}},0) ~~~~(14) w~j=sign(wj∗)max(∣wj∗∣−Hjja,0) (14)
当 ∣ w j ∗ ∣ ≤ a H j j |w_j^*| \le \frac{a}{H_{jj}} ∣wj∗∣≤Hjja 时,可知 w ~ j = 0 \tilde w_j =0 w~j=0 ,因而 L 1 L_1 L1 正则化会使最优解的某些元素为0,从而产生稀疏性; ∣ w j ∗ ∣ > a H j j |w_j^*| > \frac{a}{H_{jj}} ∣wj∗∣>Hjja 时, w ~ j \tilde w_j w~j 会在原有最优解上偏移一个常数值。
综上, L 2 L_2 L2正则化的效果是对原最优解的每个元素进行不同比例的放缩; L 1 L_1 L1 正则化则会使原最优解的元素产生不同量的偏移,并使某些元素为0,从而产生稀疏性。
参考文献:
-
https://cloud.tencent.com/developer/article/1694353
-
https://cloud.tencent.com/developer/article/1694338
-
https://blog.csdn.net/weixin_42471573/article/details/124707000
-
https://zhuanlan.zhihu.com/p/29360425