PyTorch入门精简资料(五)PyTorch实现L1,L2正则化以及Dropout

 

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

  1. 了解知道Dropout原理
  2. 用代码实现正则化(L1、L2、Dropout)
  3. Dropout的numpy实现
  4. PyTorch中实现dropout
  5. 参考资料:PyTorch 中文文档

1.Dropout原理

(1)Dropout

       实际是在前向传播的时候,让某个神经元的激活值以一定的概率P停止工作,这样可以使模型泛化性更强,一定程度上起到正则化的作用,可以防止网络拟合。P一般取0.5。

对于某层的每个神经元,

在训练阶段,每个神经元以概率P,随机将该神经元权重置0;

在测试阶段,所有神经元均呈现激活状态,但所有权重要乘以(1-P);

以保证训练和测试阶段各自权重有相同的期望。

(2)Dropout为什么能防止过拟合?

  1.  具有取平均的作用
  2. 减少神经元之间复杂的共适关系
  3. Dropout类似于性别在生物进化中的角色:性别的出现可以繁衍出适应新环境的变种,有效的阻止过拟合,即避免环境改变时物种可能面临的灭绝

2.用代码实现正则化(L1、L2、Dropout)

正则化:在原来的loss function的基础上,加上了一些正则化项或者称为模型复杂度惩罚项

(1&

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值