神经网络与深度学习笔记L2正则化
Posted 沧夜2021
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了神经网络与深度学习笔记L2正则化相关的知识,希望对你有一定的参考价值。
前言
前面提到过高方差问题主要的两种方式:
- 获取更多的数据去训练。然而这种方式局限在于,数据并不是总是很容易获得的或者数据获取的代价很大。
- 正则化。这就是这篇文章需要来讨论的主题。
最小化代价函数正则化
使用
L
2
L_2
L2 正则化的最小化代价函数:
m
i
n
(
w
,
b
)
ȷ
(
w
,
b
)
=
1
m
∑
i
=
1
m
ȷ
(
y
^
(
i
)
,
y
(
i
)
)
+
λ
2
m
∣
∣
w
∣
∣
2
2
min_{(w,b)} \\jmath(w,b) = \\frac{1}{m}\\sum_{i=1}^m\\jmath(\\hat y^{(i)},y^{(i)}) + \\frac{\\lambda}{2m} \\lvert \\lvert w\\lvert \\lvert^{2}_{2}
min(w,b)ȷ(w,b)=m1i=1∑mȷ(y^(i),y(i))+2mλ∣∣w∣∣22
其中,
λ
\\lambda
λ 称为正则化参数。在编程过程中,常常把
λ
\\lambda
λ 写为lambd
,以防止和Python
语言中的关键字lamba
起冲突。这一参数通常需要调优,使用开发集或者交叉验证集来验证。
那么:
∣
∣
w
∣
∣
2
2
\\lvert \\lvert w\\lvert\\lvert^{2}_{2}
∣∣w∣∣22
到底是啥意思?
实际上,
∣
w
∣
2
2
\\lvert w\\lvert^{2}_{2}
∣w∣22 被称为
L
2
L_{2}
L2 正则化,又称为参数
w
w
w 的欧几里得范数,
L
2
L_2
L2 范数等
∣
∣
w
∣
∣
2
2
=
∑
j
=
1
n
x
w
j
2
=
w
T
w
\\lvert\\lvert w \\lvert \\lvert^{2}_{2} = \\sum_{j=1}^{n_x}w_j^{2}=w^Tw
∣∣w∣∣22=j=1∑nxwj2=wTw
既然有
L
2
L_2
L2 范数,那么
L
1
L_1
L1 范数是啥?
L
1
L_1
L1 范数即为:
∣
∣
w
∣
∣
1
=
∣
w
1
∣
+
∣
w
2
∣
+
∣
w
3
∣
+
⋯
∣
w
n
∣
\\lvert\\lvert w \\lvert\\lvert_{1} = \\lvert w_1\\lvert + \\lvert w_2\\lvert + \\lvert w_3\\lvert + \\cdots \\lvert w_n\\lvert
∣∣w∣∣1=∣w1∣+∣w2∣+∣w3∣+⋯∣wn∣
与此对应的
L
1
L_1
L1 正则化
∑
j
=
1
n
x
∣
w
j
∣
=
∣
∣
w
∣
∣
1
\\sum_{j=1}^{n_x} \\lvert w_j\\lvert = \\lvert\\lvert w\\lvert\\lvert_{1}
j=1∑nx∣wj∣=∣∣w∣∣1
使用
L
1
L_1
L1 正则化的最小代价函数为:
m
i
n
(
w
,
b
)
ȷ
(
w
,
b
)
=
1
m
∑
i
=
1
m
ȷ
(
y
^
(
i
)
,
y
(
i
)
)
+
λ
2
m
∣
∣
w
∣
∣
1
min_{(w,b)} \\jmath(w,b) = \\frac{1}{m}\\sum_{i=1}^m\\jmath(\\hat y^{(i)},y^{(i)}) + \\frac{\\lambda}{2m} \\lvert \\lvert w\\lvert\\lvert_{1}
min(w,b)ȷ(w,b)=m1i=1∑mȷ(y^(i),y(i))+2mλ∣∣w∣∣1
然而使用
L
1
L_1
L1 正则化的效果并不是太明显,主要是因为使用后会导致
w
w
w 稀疏,
w
w
w 矢量中会有很多 0,虽然模型会有一定的压缩但是效果不大。
这就是为什么通常使用 L 2 L_2 L2 正则化而不是 L 1 L_1 L1 正则化的原因。
那么, b b b 参数是否可以正则化呢?比如: λ 2 m b 2 \\frac{\\lambda}{2m}b^2 2mλb2
答案也是效果不大。
因为参数实际上大多数集中在 w w w 中,而不是 b b b ,即使对 b b b 进行了正则化, b b b 对模型的影响效果也不是太大
在神经网络中的 L 2 L_2 L2 正则化
ȷ ( w [ 1 ] , b [ 1 ] , ⋯ w [ l ] , b [ l ] ) = 1 m ∑ i = 1 m L ( y ^ ( i ) , y ( i ) ) + λ 2 m ∑ i = 1 l ∣ ∣ w [ l ] ∣ ∣ 2 ∣ ∣ w [ l ] ∣ ∣ 2 = ∑ i = 1 n [ l ] ∑ j = 1 n [ l − 1 ] ( w i j [ l ] ) 2 w [ l ] : ( n [ l ] , n [ l − 1 ] ) \\jmath (w^{[1]},b^{[1]},\\cdots w^{[l]},b^{[l]}) = \\frac{1}{m} \\sum_{i=1}^{m}L(\\hat y^{(i)},y^{(i)})+\\frac{\\lambda}{2m}\\sum_{i=1}^l \\lvert \\lvert w^{[l]} \\lvert\\lvert^{2}\\\\ \\lvert \\lvert w^{[l]} \\lvert \\lvert^{2} = \\sum_{i = 1}^{n^{[l]}} \\sum_{j=1}^{n^{[l-1]}}(w_{ij}^{[l]})^2 \\\\ w^{[l]}:(n^{[l]},n^{[l-1]})\\\\ ȷ(w[1],b[深度学习正则化