神经网络与深度学习笔记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=1mȷ(y^(i),y(i))+2mλw22
其中, λ \\lambda λ 称为正则化参数。在编程过程中,常常把 λ \\lambda λ 写为lambd,以防止和Python语言中的关键字lamba起冲突。这一参数通常需要调优,使用开发集或者交叉验证集来验证。

那么:
∣ ∣ w ∣ ∣ 2 2 \\lvert \\lvert w\\lvert\\lvert^{2}_{2} w22
到底是啥意思?

实际上, ∣ w ∣ 2 2 \\lvert w\\lvert^{2}_{2} w22 被称为 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 w22=j=1nxwj2=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 w1=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=1nxwj=w1
使用 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=1mȷ(y^(i),y(i))+2mλw1
然而使用 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[深度学习正则化

深度学习中的正则化——L1L2 和 Dropout

深度学习笔记:正则化问题总结

深度学习笔记:正则化问题总结

深度学习与CV教程 | 神经网络训练技巧 (下)

深度学习L1正则化和L2正则化