解释卷积网络中的混淆矩阵和验证结果

数据挖掘 机器学习 深度学习 美国有线电视新闻网 表现 混淆矩阵
2022-03-10 03:46:20

我需要一些帮助来评估卷积神经网络的训练结果。这是我的设置:

  • 架构:InceptionV3
  • 使用来自图像网络的权重预训练 InceptionV3
  • 替换了最后一层,重新训练了网络的后半部分
  • 分类:Softmax with cross entropy ploss
  • 具有 keras 默认参数的 Adam 优化器
  • 超参数:学习率 0.0001,批量大小 64
  • 目标:具有专属标签的多标签分类
  • 数据:从 0-16 的 17 个类别,总共 48.600 张图像
  • 训练、测试、验证:80%、10%、10%
  • 训练:2 epochs 只训练最后一层 + 2 epochs 训练网络的后半部分

结果

根据我的验证集,我创建了一个具有以下结果的混淆矩阵。

在此处输入图像描述

这里还有一些更多的每类性能指标:

在此处输入图像描述

如您所见,性能不是很好。测试准确率为 62.2%,所以也不是很好。查看混淆矩阵很明显,类别 0、2、3、7、10、11、13 和 14 从未被预测过。这些类的样本数量也最少。我想知道为什么会这样?这些类比其他类更罕见,但从不预测它们似乎很奇怪。你会推荐什么?

1个回答

这些是我的建议:

  • 尝试使用不同的学习率更多地训练你的模型。你目前的学习率太小了。第一步将其设置为较大的值,然后将其平滑地减小。
  • 尝试改变架构。如果您的任务与image-net的规模不同,那么您肯定需要一个具有更简单网络架构的网络,因此参数的数量会减少。
  • 改变数据的分布是危险的,但是你可以在一定程度上扩充你的整个数据集,让你的网络看到不同的和更多的例子。
  • 对于那些尚未学习的类,您可以将类权重设置为更大的数字,以构建更关心这些类的成本函数。
  • 由于您的数据集不平衡,因此请使用其他指标来评估您的模型,例如F1分数。