深度神经网络(DNN)的正则化
和普通的机器学习算法一样,DNN也会遇到过拟合的问题,需要考虑泛化,这里我们就对DNN的正则化方法做一个总结。
1. DNN的L1&L2正则化
想到正则化,我们首先想到的就是L1正则化和L2正则化。L1正则化和L2正则化原理类似,这里重点讲述DNN的L2正则化。
而DNN的L2正则化通常的做法是只针对与线性系数矩阵WW,而不针对偏倚系数bb。利用我们之前的机器学习的知识,我们很容易可以写出DNN的L2正则化的损失函数。
假如我们的每个样本的损失函数是均方差损失函数,则所有的m个样本的损失函数为:
J(W,b)=12m∑i=1m||aL−y||22J(W,b)=12m∑i=1m||aL−y||22
则加上了L2正则化后的损失函数是:
J(W,b)=12m∑i=1m||aL−y||22+λ2m∑l=2L||w||22J(W,b)=12m∑i=1m||aL−y||22+λ2m∑l=2L||w||22
其中,λλ即我们的正则化超参数,实际使用时需要调参。而ww为所有权重矩阵WW的所有列向量。
如果使用上式的损失函数,进行反向传播算法时,流程和没有正则化的反向传播算法完全一样,区别仅仅在于进行梯度下降法时,WW的更新公式。
回想我们在深度神经网络(DNN)反向传播算法(BP)中,WW的梯度下降更新公式为:
Wl=Wl−α∑i=1mδi,l(ax,
文章来源: wenyusuran.blog.csdn.net,作者:文宇肃然,版权归原作者所有,如需转载,请联系作者。
原文链接:wenyusuran.blog.csdn.net/article/details/98174755
- 点赞
- 收藏
- 关注作者
评论(0)