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

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

相关推荐
wj3055853782 小时前
课程 9:模型测试记录与 Prompt 策略
linux·人工智能·python·comfyui
星寂樱易李2 小时前
iperf3 + Python-- 网络带宽、网速、网络稳定性
开发语言·网络·python
qingfeng154152 小时前
企业微信机器人开发:如何实现自动化与智能运营?
人工智能·python·机器人·自动化·企业微信
初心未改HD3 小时前
深度学习之CNN卷积层详解
人工智能·深度学习·cnn
AI医影跨模态组学3 小时前
EBioMedicine美国佐治亚理工学院与埃默里大学:基于深度学习的放射组学与病理学多模态融合预测HPV相关口咽鳞状细胞癌预后
人工智能·深度学习·论文·医学·医学影像·影像组学
人工智能培训4 小时前
大模型与传统小模型、传统NLP模型的核心差异解析
人工智能·深度学习·神经网络·机器学习·生成对抗网络
彦为君5 小时前
Agent 安全:从权限提示到沙箱隔离
python·ai·ai编程
PILIPALAPENG6 小时前
Python 语法速成指南:前端开发者视角(JS 类比版)
前端·人工智能·python
Terrence Shen7 小时前
大模型部署工具对比
人工智能·深度学习·计算机视觉