【深度学习基础】模型过拟合

深度学习之过拟合

过拟合&欠拟合

过拟合:在训练集上表现很好,但在测试集上表现不佳。
欠拟合:训练集上表现不行,测试集上表现也不行。

导致过拟合的原因

1、模型太复杂:模型过于复杂,以至于可以完全记住训练集上的数据,不需要去学习。
2、数据不够多:数据少,容易被记住。
李宏毅老师图:
Bias代指偏差,期望与靶心的差距。
Variance代指误差,实际与期望的差距。
简单的模型Bias大,Variance小。
复杂的模型Bias小,Variance大。
因为简单的模型一根筋,瞄不准。复杂模型瞄的准。所以简单模型Bias大,复杂模型Bias小。
因为简单的模型容易被记住,所以误差小,复杂模型不容易被记住,所以误差大。
Bias的大小可以理解为在训练集上的效果。Variance的大小可以理解为在测试集上的效果。
Bias大欠拟合,需要redesign模型,因为你的function set里面可以没有最合适的function。
Variance大过拟合.1、more data 2、Regularization,使曲线变得更平滑。

在这里插入图片描述

解决过拟合的方法

正则化

数据增广

增加训练集的数据。
例如:一张图片,可以对其进行反转,加滤镜,裁剪等使其变为多张图片。
在这里插入图片描述

加噪声

1、网络权重加噪声:使模型不停的在学习,原本要达到梯度最低点了,给他加一个噪声,使其再次学习。
2、数据标签加噪声。

多任务学习

同时做好几件事情,每个任务都不要学太好。
在这里插入图片描述

Early Stopping

因为在测试集上的误差不可能是一直增加的,肯定是到达某个点的时候才开始增加。所以我们可以在测试误差最小的时候停止训练。
但是我们不能用测试集来改进模型,用测试集改进模型会导致数据泄露,所以我们就用到了验证集,可以利用验证集来改进模型。
优点:
1、不需要修改数据或者权重等,只需要观察验证误差就可以。
2、可以和其他方法一起用。
缺点:
采用验证集,训练集减小。
两种改进措施:
1、重新训练:通过验证集找到最小误差停止点后,把验证集在丢进训练集重新训练。但这样子有一种刻舟求剑的感觉。因为训练集变大,与原先的最小误差的会有出入。
2、把验证集直接加进去训练:这样的话什么时候停只能靠感觉。
所以这两种改进措施准确度都不敢保证。

Dropout

训练的时候临时去掉一些神经元。当参数由上层神经元传递到下层时,以P概率激活下层的神经元,随机ban掉一些神经元。这样的话模型就会变得简单,减低模型的复杂度。
如果在预测的时候全部激活所有的神经元,就会有小模型干大模型的事情。所以预测的时候概率p与权重w相乘。
在这里插入图片描述

对抗训练

对抗学习就是在训练集上加入对抗样本,加入一些使其产生歧义的样本一起训练。

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

相关推荐

  1. 浅谈深度学习中的

    2024-07-23 08:36:01       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 08:36:01       169 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 08:36:01       185 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 08:36:01       155 阅读
  4. Python语言-面向对象

    2024-07-23 08:36:01       169 阅读

热门阅读

  1. (20240721)无机非金属材料工学(3)混凝土

    2024-07-23 08:36:01       28 阅读
  2. golang长连接的误用

    2024-07-23 08:36:01       29 阅读
  3. ubuntu开启 远程登录 允许root远程登录

    2024-07-23 08:36:01       29 阅读
  4. P1725 琪露诺 题解

    2024-07-23 08:36:01       35 阅读
  5. Qt 实战(7)元对象系统 | 7.6、Q_DECLARE_METATYPE详解

    2024-07-23 08:36:01       32 阅读
  6. php 根据位置的经纬度计算距离

    2024-07-23 08:36:01       31 阅读
  7. 【git】切换到远程其他分支

    2024-07-23 08:36:01       33 阅读
  8. CentOS 6.8 中部署 Spring Boot 应用程序

    2024-07-23 08:36:01       33 阅读
  9. Mybatis-plus常用注解

    2024-07-23 08:36:01       28 阅读