美文网首页
深度学习的过拟合与欠拟合的判别

深度学习的过拟合与欠拟合的判别

作者: wo_monic | 来源:发表于2024-05-12 18:11 被阅读0次
R2相关系数
MSE标准误
损失函数

从上图中可以看到大概是30 epoch时,相关系数到达了最大值,之后测试集的损失函数突然上升,但是训练集的损失函数之后一直在震荡下降。此处即出现了过拟合,特别是50之后,测试集的损失函数不断上升,但是训练集的损失函数还在下降,即说明此时测试和训练集的数据结构已经差距很大了,说明数据出现了过拟合。
接近150 epoch之前,训练集和测试集的损失函数都不再下降。如果是正常情况,则该实验就应该是150之前的位置达到模型的最佳性能,此时在相关系数处也能看到最大值。

过拟合和欠拟合的分析判别

训练集和验证集的损失函数:

绘制训练集和验证集的损失函数随训练轮数的变化曲线。
如果训练集的损失函数持续下降,而验证集的损失函数在某一时刻开始上升,这可能表明模型开始过拟合。
如果训练集和验证集的损失函数都在持续下降,且差距不大,这可能表明模型处于欠拟合状态。

准确率或其他评估指标:

观察训练集和验证集上的准确率或其他评估指标的变化。
如果训练集上的准确率很高,而验证集上的准确率较低,这可能是过拟合的迹象。
相反,如果训练集和验证集上的准确率都较低,这可能是欠拟合的表现。

模型复杂度:

比较模型的复杂度和数据量的大小。如果模型过于复杂,而数据量相对较小,容易导致过拟合。增加数据量或简化模型结构可能有助于解决问题。
可视化模型输出:通过可视化模型的输出,例如图像分类任务中的预测结果与真实标签的对比,可以直观地观察模型是否过拟合或欠拟合。如果模型对训练数据过度拟合,可能会对训练集中的噪声或异常情况过于敏感。

正则化方法:

尝试使用正则化技术,如 L1 和 L2 正则化、Dropout 等,来防止过拟合。如果加入正则化后模型性能有所改善,可能说明模型存在过拟合问题。
增加验证集:使用更多的验证数据来评估模型的性能。如果模型在不同的验证集上表现不一致,这可能暗示着过拟合或欠拟合的问题。

常用的避免过拟合的方法

  1. 数据增强:对原始数据进行随机变换、翻转、旋转等操作,增强数据的多样性。
  2. 正则化:
  • L1和L2正则化:两者都是损失函数,基于均方误差MSE,
    L1损失函数 = 均方误差(MSE)+ λ * |θ|
    L2损失函数 = 均方误差(MSE)+ λ * θ^2
    θ 是模型的参数,λ 是正则化参数,|θ| 表示参数的绝对值,θ^2 表示参数的平方。
    通常情况下先尝试L2正则化,如果效果不理想,再尝试L1正则化。
  • Dropout :在训练过程中随机丢弃部分特征值,丢弃的这部分被设置为0,可以减少模型对某些特征过度依赖。
  1. 增加训练数据,即增加样本数量
  2. 模型融合: 集合多个模型,取其平均或投票结果,可以提高模型的泛化能力
  3. 超参数调整: 合理选择模型的超参数,包括学习率、层数、节点数等。
    可以使用Optuna包 实现自动化超参数搜索优化。
  4. 特征工程:选择有代表性和信息量丰富的特征,减少噪声和冗余信息
  5. 验证集和交叉验证:使用验证集来评估模型的性能,通过交叉验证来选择最佳模型和超参数

相关文章

网友评论

      本文标题:深度学习的过拟合与欠拟合的判别

      本文链接:https://www.haomeiwen.com/subject/pfpufjtx.html