机器学习的核心问题是设计不仅在训练集上表现好, 并且在新输入上泛化好的算法.许多策略被用来减少测试误差(这些策略在减少测试误差的同时 有可能增加训练误差),这就叫正则化.
参数范数惩罚
原始目标函数为
J
J
J. 添加正则化后的目标函数为
J
~
\widetilde J
J
:
J
~
(
θ
;
X
,
y
)
=
J
(
θ
;
X
,
y
)
+
α
Ω
(
θ
)
\widetilde J(\theta; X,y)=J(\theta;X,y)+\alpha\Omega(\theta)
J
(θ;X,y)=J(θ;X,y)+αΩ(θ)
其中
α
∈
[
0
,
∞
)
\alpha\in[0,\infty)
α∈[0,∞)是权衡范数惩罚项
Ω
\Omega
Ω和标准目标函数 之间相对贡献的超参数.
α
\alpha
α为0 表示没有正则化,
α
\alpha
α 越大 对应正则化惩罚越大.
这里说明一下,神经网络里面的参数包括每一层的权重和偏置,我们通常只对权重做惩罚 不对偏置做惩罚,因为精确拟合偏置所需要的数据通常比拟合权重少的多,每个权重回指定两个变量如何相互作用,我们需要在各个条件下观察这两个变量才能良好地拟合权重。而每个偏置仅控制一个单变量,这意味着,不对对其正则化也不会导致太大的方差,此外 正则化偏置参数可能会导致明显的欠拟合。
下面我们使用参数
θ
\theta
θ 表示所有参数(权重
w
w
w和偏置
b
b
b),
w
w
w是所有受惩罚的权重,
b
b
b是无需正则化的偏置参数。
L2 参数正则化
L 2 L^2 L2正则化被称为权重衰减. 是通过向目标函数添加一个正则项 Ω ( θ ) = 1 2 ∣ ∣ w ∣ ∣ 2 2 \Omega(\theta)=\frac{1}{2}||w||^2_2 Ω(θ)=21∣∣w∣∣22 使得权重更加接近原点. (在其他地方,L2正则也称为岭回归)
我们来看一下 权重衰减的正则化表现, 这里我们是通过研究正则化后的目标函数的梯度 来观测 权重衰减 在正则化前后的变化.
(为了简单起见, 我们假设没有偏置参数) 因此 θ \theta θ 就是 w w w. 下面只有参数w 所以是针对w的梯度。
L2正则模型 的总的目标函数为:
J
~
(
w
;
X
,
y
)
=
α
2
w
T
w
+
J
(
w
;
X
,
y
)
\widetilde J(w;X,y) = \frac{\alpha}{2}w^Tw + J(w;X,y)
J
(w;X,y)=2αwTw+J(w;X,y) 其梯度为:
Δ
w
J
~
(
w
;
X
,
y
)
=
α
w
+
Δ
w
J
(
w
;
X
,
y
)
\Delta_w \widetilde J(w;X,y) =\alpha w + \Delta_wJ(w;X,y)
ΔwJ
(w;X,y)=αw+ΔwJ(w;X,y)
1)使用单步梯度下降更新权重时: w ← w − ε ( α w + Δ w J ( w ; X , y ) ) , 其 中 ε 是 学 习 率 w \leftarrow w-\varepsilon(\alpha w + \Delta_wJ(w;X,y)) , 其中 \varepsilon 是学习率 w←w−ε(αw+ΔwJ(w;X,y)),其中ε是学习率 即 w ← ( 1 − ε α ) w − ε Δ w J ( w ; X , y ) w \leftarrow (1-\varepsilon\alpha)w -\varepsilon\Delta_wJ(w;X,y) w←(1−εα)w−εΔwJ(w;X,y)
根据上式可以看到 单步梯度下降的结论:加入权重衰减后 会引起学习规则修改,即在每步执行 梯度更新时 会先收缩权重向量
2)令
w
∗
w^*
w∗为 没有正则化的 目标函数 取得最小训练误差时的权重向量(未正则化
J
J
J的最优解)即
w
∗
=
a
r
g
m
i
n
w
J
(
w
)
w^* = argmin_wJ(w)
w∗=argminwJ(w)。
我们在
w
∗
w^*
w∗ 邻域 对目标函数做二次近似
J
^
(
w
)
\hat J(w)
J^(w)
(注:二次近似 也就是泰勒公式展开到二次项 如
f
(
x
)
f(x)
f(x) 在x=a 处展开
f
(
x
)
=
f
(
a
)
0
!
+
f
′
(
a
)
1
!
(
x
−
a
)
+
f
′
′
(
a
)
2
!
(
x
−
a
)
2
+
.
.
.
f(x) = \frac{f(a)}{0!} + \frac{f'(a)}{1!}(x-a) + \frac{f''(a)}{2!}(x-a)^2 + ...
f(x)=0!f(a)+1!f′(a)(x−a)+2!f′′(a)(x−a)2+... )
所以在
w
∗
w^*
w∗邻域二次展开:
J
^
(
w
)
=
J
(
w
∗
)
0
!
+
J
′
(
w
∗
)
1
!
(
w
−
w
∗
)
+
J
′
′
(
w
∗
)
2
!
(
w
−
w
∗
)
2
=
J
(
w
∗
)
+
1
2
(
w
−
w
∗
)
T
H
(
w
−
w
∗
)
\hat J(w) = \frac{J(w^*)}{0!}+ \frac{J'(w^*)}{1!}(w-w^*) + \frac{J''(w^*)}{2!}(w-w^*)^2 = J(w^*) + \frac {1}{2}(w-w*)^TH(w-w*)
J^(w)=0!J(w∗)+1!J′(w∗)(w−w∗)+2!J′′(w∗)(w−w∗)2=J(w∗)+21(w−w∗)TH(w−w∗)
其
中
H
是
h
e
s
s
i
a
n
矩
阵
,
因
为
w
∗
是
J
的
最
优
解
所
以
J
′
(
w
∗
)
=
0
其中H 是hessian矩阵,因为w^*是J 的最优解所以J'(w*) = 0
其中H是hessian矩阵,因为w∗是J的最优解所以J′(w∗)=0
当
J
^
(
w
)
\hat J(w)
J^(w)取最小时,上式的梯度
Δ
J
^
(
w
)
=
H
(
w
−
w
∗
)
\Delta \hat J(w) = H(w-w^*)
ΔJ^(w)=H(w−w∗)为0.
为了研究权重衰减的影响, 在
Δ
J
^
(
w
)
\Delta \hat J(w)
ΔJ^(w) 中添加权重衰减的梯度, 然后讨论最小化正则化之后的
J
^
\hat J
J^,使用
w
~
\tilde{w}
w~ 表示正则化之后的最优点, 则如下:
α
w
~
+
H
(
w
~
−
w
∗
)
=
0
⟹
(
H
+
α
I
)
w
~
=
H
w
∗
⟹
w
~
=
(
H
+
α
I
)
−
1
H
w
∗
\alpha \tilde{w} + H(\tilde w - w^*) = 0 \Longrightarrow (H + \alpha I)\tilde w=Hw^* \Longrightarrow \tilde w= (H+\alpha I )^{-1} H w^*
αw~+H(w~−w∗)=0⟹(H+αI)w~=Hw∗⟹w~=(H+αI)−1Hw∗
当
α
\alpha
α 接近于0 时,
w
~
\tilde w
w~ 接近于
w
∗
w^*
w∗。 当
α
\alpha
α增大时, 会如何? 我们可以看到H 是实对称矩阵,可以分解为 对角阵
∧
\wedge
∧ 和 一组特征向量的标准正交基Q,并且有
H
=
Q
∧
Q
T
H =Q\wedge Q^T
H=Q∧QT, 将其带入上面
w
~
\tilde w
w~ 中 可以得到:
w
~
=
(
Q
∧
Q
T
)
−
1
Q
∧
Q
T
w
∗
=
[
Q
(
∧
+
α
I
)
Q
T
]
−
1
Q
∧
Q
T
w
∗
=
Q
(
∧
+
α
I
)
−
1
∧
Q
T
w
∗
\tilde w = (Q \wedge Q^T) ^ {-1} Q \wedge Q^T w^* = [Q(\wedge + \alpha I) Q^T]^{-1}Q \wedge Q^T w^* = Q(\wedge + \alpha I)^{-1} \wedge Q^T w^*
w~=(Q∧QT)−1Q∧QTw∗=[Q(∧+αI)QT]−1Q∧QTw∗=Q(∧+αI)−1∧QTw∗
我们可以看到 权重衰减的效果是 沿着由H的特征向量所定义的轴缩放 w ∗ w^* w∗ 具体地 会根据 λ i λ i + α \frac {\lambda_i} {\lambda_i +\alpha} λi+αλi因子 缩放与H 第i个特征向量对齐的 w ∗ w^* w∗分量。 沿着H 特征值较大的方向( λ i > > α \lambda_i >> \alpha λi>>α)正则化的影响较小,而 λ i < < α \lambda_i << \alpha λi<<α的分量将会收缩到几乎为0.
图中 w ∗ w^* w∗是未正则化的最优值, w ~ \tilde w w~是加上正则化后的最优值, 当 w ∗ w^* w∗ 水平移动时,目标函数不会增加太多,所以正则化对改该轴 有较强的作用,把w1拉的更靠近原点。 而对于w2,由于目标函数 沿着w2方向远离 w ∗ w^* w∗ 时 值变化较大, 所以对应的特征值比较大,因此权重衰减影响较小。
总结: 只有在显著减小目标函数方向上的参数 会保留的相对完好,对于无助于目标函数减小的方向(也就是Hessian 矩阵较小的特征值) 上改变参数不会显著增加梯度,这种不重要的方向对应的分量 在训练中 会因正则化而衰减。
L1 参数正则化
未完待续
参考: L1 正则