TensorFlow2 Python深度学习 - 使用Dropout层解决过拟合问题

锋哥原创的TensorFlow2 Python深度学习视频教程:

https://www.bilibili.com/video/BV1X5xVz6E4w/

课程介绍

本课程主要讲解基于TensorFlow2的Python深度学习知识,包括深度学习概述,TensorFlow2框架入门知识,以及卷积神经网络(CNN),循环神经网络(RNN),生成对抗网络(GAN),模型保存与加载等。

TensorFlow2 Python深度学习 - 使用Dropout层解决过拟合问题

之前的Fashion MINIST示例,我们会发现一个问题,训练数据准确率效果挺好,但是到了测试验证准确率就相对变差。这个其实就是过拟合了,原因就是训练过来的模型过于复杂。

我们在之前学习机器学习的时候,学过过拟合和欠拟合。

简单总结:

过拟合是模型过于复杂,导致训练数据表现好,但是测试数据表现就差。

欠拟合是模型过于简单,导致训练数据和测试数据表现都不好。

在神经网络里面,欠拟合问题很好解决,我们只需要增加层,增加每层的神经元,以及增加轮训训练次数即可。

解决过拟合的话,我们也有多种解决方案,适当的减少层,降低神经元数,以及我们今天要介绍的,使用Dropout丢弃层。

只需要在全连接之前,加一个Dropout丢弃层即可。

Dropout丢弃层是一种神经网络正则化技术,通过在训练阶段随机丢弃部分神经元,防止模型过拟合并提升泛化能力。

复制代码
layers.Dropout(0.5),  # 添加Dropout层来防止过拟合 随机丢弃50%的节点

我们重新运行测试,发现训练数据和验证数据效果都好很多了。

相关推荐
人机(未转人工)19 分钟前
python 批量测试ip是否能ping( 多线程 )
python
cndes24 分钟前
安装Miniconda+Jupyter notebook
ide·python·jupyter
Patrick在香港33 分钟前
Python 拉取城巴开放数据:406 条路线,香港岛巴士网络的数字画像
网络·python·数据分析·php·数据可视化·香港·开放数据
for_ever_love__43 分钟前
python基础语法学习: 正则表达式
python·学习·正则表达式
aiqianji1 小时前
功能全面的教AI短篇小说写作的软件都有哪些?
人工智能·python
轮到我狗叫了1 小时前
Slurm如何使用
人工智能·python·深度学习·机器学习
Ali885202 小时前
Python列表增删改查速查表和详细演示
python
m0_547486662 小时前
《深度学习理论及实践》全套PPT课件(北京邮电大学)
人工智能·深度学习
新时代牛马2 小时前
softirq 与tasklet:从irq_exit 到__do_softirq 的下半部路径
python
tqs_123452 小时前
值传递与引用传递
java·开发语言·python