您的位置:首页 > 运维架构

PyTorch实现L1,L2正则化以及Dropout

2019-05-22 00:44 507 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/ZZQsAI/article/details/90420549

PyTorch实现L1,L2正则化以及Dropout

  1. 了解知道Dropout原理
  2. 用代码实现正则化(L1、L2、Dropout)
  3. Dropout的numpy实现
  4. PyTorch中实现dropout

1.Dropout原理
Dropout是防止过拟合的一种方法(过拟合overfitting指:模型在训练数据上损失函数较小,预测准确率较高;但是在测试数据上损失函数比较大,预测准确率较低。)
训练神经网络模型时,如果训练样本较少,为了防止模型过拟合,Dropout可以作为一种优化方法。Dropout是Hintion提出的。Dropout是指在模型训练时随机让网络某些隐含层节点的权重不工作,不工作的那些节点可以暂时认为不是网络结构的一部分,但是它的权重得保留下来。
dropout强迫一个神经单元,和随机挑选出来的其他神经单元共同工作,达到好的效果。消除减弱了神经元节点间的联合适应性,增强了泛化能力。
即:在前向传播的时候,让某个神经元的激活值以一定的概率p停止工作,这样可以使模型泛化性更强,因为它不会太依赖某些局部的特征,如图1所示。

dropout噪声迫使网络在有限的数据里学习到有用的信息。
2.正则化
防止过拟合的另外一种方式就是降低模型的复杂度,一种方式就是在cost函数中加入正则化项,正则化项可以理解为复杂度,cost越小越好,但cost加上正则项之后,为了使cost小,就不能让正则项变大,也就是不能让模型更复杂,这样就降低了模型复杂度,也就降低了过拟合。这就是正则化。正则化也有很多种,常见为两种L2和L1。

2.1 L1正则化
L1正则化是指权值向量w中各个元素的绝对值之和,通常表示为||w||1
L2正则化是指权值向量w中各个元素的平方和再求平方根,通常表示为||w||2
L1 L2 不同点:

L1可以让一部分特征的系数缩小到0,从而间接实现特征选择。所以L1适用于特征之间有关联的情况。

L2让所有特征的系数都缩小,但是不会减为0,它会使优化求解稳定快速。所以L2适用于特征之间没有关联的情况

L2 regularizer :使得模型的解偏向于 norm 较小的 W,通过限制 W 的 norm 的大小实现了对模型空间的限制,从而在一定程度上避免了 overfitting 。不过 ridge regression 并不具有产生稀疏解的能力,得到的系数 仍然需要数据中的所有特征才能计算预测结果,从计算量上来说并没有得到改观。会选择更多的特征,这些特征都会接近于0。 最优的参数值很小概率出现在坐标轴上,因此每一维的参数都不会是0。当最小化||w||时,就会使每一项趋近于0
L1 regularizer : 它的优良性质是能产生稀疏性,因为最优的参数值很大概率出现在坐标轴上,这样就会导致某一维的权重为0 ,产生稀疏权重矩阵, 导致 W 中许多项变成零。 稀疏的解除了计算量上的好处之外,更重要的是更具有“可解释性”

def Regularization(model):
L1=0
L2=0
for param in model.parameters():
L1+=torch.sum(torch.abs(param))
L2+=torch.norm(param,2)
return L1,L2

2.2 L2 正则化

3.Pytorch上 的 Dropout

model = nn.Sequential(nn.Linear(n_in, n_h),
torch.nn.Dropout(0.4), ###############dropout
nn.ReLU(),
nn.Linear(n_h, n_out),
torch.nn.Dropout(0.5),
nn.Sigmoid())

未完 参考

最优化方法:L1和L2正则化regularization
https://www.geek-share.com/detail/2683986167.html

dropout理解

https://www.geek-share.com/detail/2720198670.html

为什么随机性对于深度学习如此重要?
https://www.leiphone.com/news/201608/G0lXMy6RkhbZ9NO4.html

神经网络的提升方法(2)——正则化
https://www.geek-share.com/detail/2699985904.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: