五、神经网络过拟合处理方法(一)

简介: 五、神经网络过拟合处理方法(一)

1. 什么是过拟合?

过拟合(Overfitting):模型过于复杂(所包含的参数过多),以致于模型对训练集的拟合很好,但对未知数据预测很差的现象(泛化能力差)。

在这里插入图片描述
过拟合可以通过观测训练集和验证集的loss变化判断:随着epoch或step的增加,训练集
loss不断下降,而验证集loss先下降后抬升。

2. 常见过拟合解决办法有哪些?

(1)增加训练数据量
①采集更多的数据;
②数据增广(image augmentation):对已有数据做一系列随机改变,来产生相似但又不同的训练样本,从而扩大训练数据集的规模。这里不讲数据增广,有兴趣的可以查看tf.keras.preprocessing.image.ImageDataGenerator这个api。

(2)减少模型复杂度
①减少隐层
②减少神经元个数

(3)添加正则项
tf.keras.regularizers.l2
用到的参数:
l:惩罚项,默认为0.01。

(4)提前终止(Early Stopping)
在这里插入图片描述
训练的过程中,记录到目前为止最好的验证集结果,当连续10个Epoch(或者更多次)没有超越最佳结果时,则可以认为精度不再提高。

导入模块: tf.keras.callbacks.EarlyStopping
用到的参数:
monitor:监控的数据,一般为'val_loss'。
min_delta:定义模型改善的最小量,只有大于min_delta才会认为模型有改善,默认为0。
patience:有多少个epoch,模型没有改善,训练就会停止,默认为0。
restore_best_weights:是否使用监控数据最好的模型参数,如果是False,使用的是训练最后一步的模型参数,默认False。

(5)Dropout 在这里插入图片描述
训练阶段:每个step以一定的概率p让神经元停止工作。
预测阶段:所有神经元都是工作的,但所有权值需要乘上(1-p)。
导入模块: tf.keras.layers.Dropout
用到的参数:
rate:神经元失效的概率,取值0~1的浮点数。
seed:随机种子,取正整数。
name:输入字符串,给该层设置一个名称。

3. Dropout详解
(1) Dropout为何有效?
在这里插入图片描述
Hinton的解释:Dropout相当于对原来网络进行修剪,得到参数规模较小的网络,这样的网络
不容易发生过拟合现象,最后对训练过程中所有的小网络进行集成(回归任务:相当于求平均,
分类任务:相当于少数服从多数),从而减小泛化误差,思想类似于集成学习。
在这里插入图片描述
(2)Dropout的缺点:
达到同样的精度需要更长的训练时间。通常p初始值取0.5,原因:p=0.5时所有小网络出现的概率相同,不会对某些网络有偏向。
(3)为什么预测阶段所有权值需要乘上(1-p)?
例:10匹马拉一个10吨的车。
第一次(训练时):只有4匹马出力(有p=0.6概率被dropout),每匹要出力拉2.5吨;
第二次(测试时):10匹马都被要求出力,这次每匹马要出力拉2.5×(1-0.6)=1吨
注:主流的深度学习框架(tensorflow、pytorch、mxnet等)都会自动处理这一步,所以不需要自己操作。

相关文章
|
1月前
|
机器学习/深度学习 计算机视觉
TPAMI 2024:计算机视觉中基于图神经网络和图Transformers的方法和最新进展
【10月更文挑战第3天】近年来,图神经网络(GNNs)和图Transformers在计算机视觉领域取得显著进展,广泛应用于图像识别、目标检测和场景理解等任务。TPAMI 2024上的一篇综述文章全面回顾了它们在2D自然图像、视频、3D数据、视觉与语言结合及医学图像中的应用,并深入分析了其基本原理、优势与挑战。GNNs通过消息传递捕捉非欧式结构,图Transformers则结合Transformer模型提升表达能力。尽管存在图结构构建复杂和计算成本高等挑战,但这些技术仍展现出巨大潜力。论文详细内容见:https://arxiv.org/abs/2209.13232。
64 3
|
3月前
|
存储 缓存 网络协议
网络丢包排查方法
网络丢包排查方法
|
3月前
|
监控 安全 iOS开发
|
3月前
|
域名解析 运维 监控
网络故障排查的常用工具与方法:技术深度解析
【8月更文挑战第20天】网络故障排查是一项复杂而重要的工作,需要网络管理员具备扎实的网络知识、丰富的实践经验和灵活的问题解决能力。通过掌握常用工具和方法,遵循科学的排查流程,可以显著提高故障排查的效率和准确性。希望本文能为读者在网络故障排查方面提供有益的参考和启示。
|
2月前
|
机器学习/深度学习 数据采集 算法
图像处理神经网络数据预处理方法
图像预处理步骤对于图像处理神经网络至关重要。这些步骤不仅保证了数据的一致性和质量,还可以通过数据增强等技术提高模型的泛化能力,从而提升模型的整体性能。每一步骤的选择和应用都基于具体任务和数据集的特性,并在模型训练和测试过程中起到关键作用。
60 0
|
3月前
|
存储 缓存 定位技术
如果遇到网络延迟问题,有哪些方法可以快速解决以保证视频源同步?
如果遇到网络延迟问题,有哪些方法可以快速解决以保证视频源同步?
|
3月前
|
机器学习/深度学习
【机器学习】面试题:LSTM长短期记忆网络的理解?LSTM是怎么解决梯度消失的问题的?还有哪些其它的解决梯度消失或梯度爆炸的方法?
长短时记忆网络(LSTM)的基本概念、解决梯度消失问题的机制,以及介绍了包括梯度裁剪、改变激活函数、残差结构和Batch Normalization在内的其他方法来解决梯度消失或梯度爆炸问题。
157 2
|
3月前
|
存储 监控 安全
确保大型组织网络安全的策略与方法
【8月更文挑战第24天】
94 0
|
3月前
|
网络虚拟化 数据安全/隐私保护
手把手教网络工程师2种方法如何恢复交换机配置
手把手教网络工程师2种方法如何恢复交换机配置
|
3月前
|
安全 网络协议 网络安全
常见网络攻击方式及防御方法
网络安全威胁的不断演变和增长,网络攻击的种类和数量也在不断增加,攻防对抗实战演练在即,让我们一起了解一下常见网络攻击方式及防御方法。
134 0
下一篇
无影云桌面