python - 验证准确率提高但验证损失也在增加
问题描述
我正在使用 CNN 网络将图像分类为 5 类。我的数据集大小约为 370K。我正在使用学习率 0.0001 和批量大小为 32 的 Adam 优化器。令人惊讶的是,我在各个时期的验证准确性都得到了提高,但验证损失却在不断增长。
我假设模型对验证集越来越不确定,但准确性更高,因为 softmax 输出的值大于阈值。
解决方案
正如之前的评论所指出的,我认为这是一个过度拟合的例子。过度拟合可能是数据集中高方差的结果。当你训练 CNN 时,它显示了一个很好的减少训练误差的比例,从而产生了一个更复杂的模型。更复杂的模型会产生过拟合,当验证误差趋于增加时可以注意到。
Adam 优化器负责学习率、指数衰减以及模型的总体优化,但不会对过度拟合采取任何措施。如果你想减少它(过度拟合),你需要添加一种正则化技术,该技术将惩罚模型中权重的大值。
您可以在深度学习书中阅读更多详细信息:http: //www.deeplearningbook.org/contents/regularization.html
推荐阅读
- java - 当计算机时间发生变化时,ejb 调度程序会发生什么?
- matlab - 通信 64 位 Matlab 和 32 位 Labview
- python - 由于 lambda 权限问题,AWS Lambda 引发内部服务器错误,尽管权限是通过 boto3 添加的
- python - Python 3 - 在循环中创建时间定义的用户输入(Windows)
- python-3.x - python中的类属性可以写成protected吗?
- python - 使用 ttkthemes 时,tkinter 中的选项菜单无法正常工作
- twig - OpenCart 3 - 你如何在另一个树枝模板中使用现有的树枝变量?
- jquery - 使用 jquery 验证器根据当前年份验证输入的月份
- ios - 具有自定义 UICollectionViewFlowLayout 的 UICollectionView 中的项目在彼此下方而不是在网格中显示项目
- java - 通过 MSGraph API 创建组也不会创建共享点