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%的节点

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

相关推荐
2501_9409439118 小时前
体系课\ Python Web全栈工程师
开发语言·前端·python
田姐姐tmner19 小时前
Python切片
开发语言·python
t***316519 小时前
爬虫学习案例3
爬虫·python·学习
松岛雾奈.23019 小时前
深度学习--TensorFlow框架使用
深度学习·tensorflow·neo4j
中杯可乐多加冰19 小时前
逻辑控制案例详解|基于smardaten实现OA一体化办公系统逻辑交互
人工智能·深度学习·低代码·oa办公·无代码·一体化平台·逻辑控制
AI小云20 小时前
【数据操作与可视化】Pandas数据处理-其他操作
python·pandas
大佬,救命!!!20 小时前
更换适配python版本直接进行机器学习深度学习等相关环境配置(非仿真环境)
人工智能·python·深度学习·机器学习·学习笔记·详细配置
无心水21 小时前
【Python实战进阶】4、Python字典与集合深度解析
开发语言·人工智能·python·python字典·python集合·python实战进阶·python工业化实战进阶
上班职业摸鱼人21 小时前
python文件中导入另外一个模块这个模块
python
永远是夏天21 小时前
Python面向对象编程(OOP)全教程:从入门到实战(附案例)
python