1.4 正则化(Regularization)

深度学习可能存在过拟合问题——高方差,有两个解决方法,一个是正则化,另一个是准备更多的数据

λ2m\frac{\lambda}{2m}乘以ww范数的平方,欧几里德范数的平方等于wjw_jjj值从1到nxn_x)平方的和,也可表示为wwTww^T,也就是向量参数ww的欧几里德范数(2范数)的平方,此方法称为L2L2正则化。因为这里用了欧几里德法线,被称为向量参数wwL2L2范数。

J(w,b)=1mi=1mL(y^(i),y(i))+λ2mw22J(w,b)=\frac1m\sum_{i=1}^mL(\hat y^{(i)},y^{(i)})+\frac{\lambda}{2m}||w||_2^2
w22=j=1nxwj2=wTw||w||_2^2=\sum_{j=1}^{n_x}w_j^2=w^Tw

为什么不再加上参数bb呢?因为通常ww是一个高维参数矢量,几乎涵盖所有参数,已经可以表达高偏差问题,所以参数很大程度上由ww决定,而bb只是众多参数中的一个,改变bb值对整体模型影响较小,所以通常省略不计,如果加了参数bb,也没太大影响

L2L2正则化是最常见的正则化类型,L1L1正则化是正则项λm\frac{\lambda}{m}乘以j=1nxw\sum_{j=1}^{n^x}|w|j=1nxw\sum_{j=1}^{n^x}|w|也被称为参数向量wwL1L1范数无论分母是,mm还是2m2m,它都是一个比例常量

J(w,b)=1mi=1mL(y^(i),y(i))+λ2mw1J(w,b)=\frac1m\sum_{i=1}^mL(\hat y^{(i)},y^{(i)})+\frac{\lambda}{2m}||w||_1
w1=j=1nxwj||w||_1=\sum_{j=1}^{n_x}|w_j|

如果用的是L1L1正则化,ww最终会是稀疏的,也就是说ww向量中有很多0,虽然L1L1正则化使模型变得稀疏,却没有降低太多存储内存,实际上L1 regularization在解决high variance方面比L2 regularization并不更具优势。而且,L1的在微分求导方面比较复杂

λ\lambda是正则化参数,可以设置λ\lambda为不同的值,在Dev set中进行验证,选择最佳的λ\lambda,通常使用验证集或交叉验证集来配置这个参数

在深度学习模型中,L2 regularization的表达式为:

J(w[1],b[1],,w[L],b[L])=1mi=1mL(y^(i),y(i))+λ2ml=1Lw[l]2J(w^{[1]},b^{[1]},\cdots,w^{[L]},b^{[L]})=\frac1m\sum_{i=1}^mL(\hat y^{(i)},y^{(i)})+\frac{\lambda}{2m}\sum_{l=1}^L||w^{[l]}||^2
w[l]2=i=1n[l]j=1n[l1](wij[l])2||w^{[l]}||^2=\sum_{i=1}^{n^{[l]}}\sum_{j=1}^{n^{[l-1]}}(w_{ij}^{[l]})^2

w[l]2||w^{[l]}||^2称为Frobenius范数,记为w[l]F2||w^{[l]}||_F^2。一个矩阵的Frobenius范数就是计算所有元素平方和再开方,如下所示:

AF=i=1mj=1naij2||A||_F=\sqrt {\sum_{i=1}^m\sum_{j=1}^n|a_{ij}|^2}

由于加入了正则化项,梯度下降算法中的dw[l]dw^{[l]}计算表达式需要做如下修改:

dw[l]=dwbefore[l]+λmw[l]dw^{[l]}=dw^{[l]}_{before}+\frac{\lambda}{m}w^{[l]}
w[l]:=w[l]αdw[l]w^{[l]}:=w^{[l]}-\alpha\cdot dw^{[l]}

L2 regularization也被称做weight decay。这是因为,由于加上了正则项,dw[l]dw^{[l]}有个增量,在更新w[l]w^{[l]}的时候,会多减去这个增量,使得w[l]w^{[l]}比没有正则项的值要小一些。不断迭代更新,不断地减小

w[l]:=w[l]αdw[l]=w[l]α(dwbefore[l]+λmw[l])=(1αλm)w[l]αdwbefore[l]\begin{aligned}w^{[l]} &:=w^{[l]}-\alpha\cdot dw^{[l]}\\ &=w^{[l]}-\alpha\cdot(dw^{[l]}_{before}+\frac{\lambda}{m}w^{[l]})\\ &=(1-\alpha\frac{\lambda}{m})w^{[l]}-\alpha\cdot dw^{[l]}_{before} \end{aligned}

其中,(1αλm)<1(1-\alpha\frac{\lambda}{m})<1

Last updated