05.Dropout抑制过拟合原理&正则化抑制过拟合

本文介绍了Dropout抑制过拟合的原理,包括随机丢弃隐藏神经元加强未丢弃神经元训练,其解决过拟合的原因有取平均、减少神经元共适应关系等。还阐述了正则化基本思想,介绍L1、L2正则,一般选L2正则,并给出在程序中实现L2正则的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Dropout抑制过拟合原理

简单来说:即随机丢弃一些隐藏神经元,然后就会加强未丢弃神经元的训练。(类似随机森林,用一部分的特征来建立一个决策树,又用另一部分特征来建立另一个决策树)
详细原理

为什么Dropout可以解决过拟合?

(1)取平均的作用:在运用Dropout我们用相同的训练数据去训练5个不同的神经网络,一般会得到5个不同的结果,此时我们可以才用‘5个结果取均值’ 或者’多数取胜的投票策略’去决定最终结果。
(2)减少神经元之间复杂的共适应关系:因为Dropout程序导致两个神经元不一定每次都在一个Dropout网络中出现。这样权值的更新不再依赖于有固定关系的隐含节点的共同作用,阻止了某些特征仅仅再其他特定特征下才有效果的情况。
(3)Dropout类似于性别再生物进化中的角色:物种为了生存往往会倾向于适应这种环境,环境突变则会导致物种难以做出及时反应,性别的出现可以繁衍出适应新环境的变种,有效的组织过拟合,即避免环境改变时物种可能面临的灭绝。

正则化

基本思想:在训练过程中要抑制参数增长规模,不能让参数的变化范围无限增大。即loss也会惩罚权重的规模,使在训练中权重和参数不会无限制的增大。
L1正则: loss = s* abs(w1+w2+…+wn) + mes %loss= 权值(人为设置)权重和的绝对值+真正的loss
L2正则: loss= s
(w1w1 +W2W2+…))+mes %权重的平方

一般情况下选择L2正则

如何在程序中实现L2正则

kernel_initializer=‘glorot_uniform’, #Dense层初始化权重
bias_initializer=‘zeros’, #Dense层初始化偏置
kernel_regularizer=None, #默认Dense层设置正则

直接引入keras 的正则库
from keras import regularizers
kernel_regularizer=regularizers.l2(0.005) #括号里参数为惩罚力度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值