使用 Caffe 的 Fisher 鸢尾花数据集

数据挖掘 深度学习 多类分类 咖啡
2022-03-01 11:26:58

我正在尝试在通常的 Fisher's Iris 数据集上使用Caffe(150 朵花,每朵花有 4 个特征,分为 3 个类):

  • 如果一朵花属于第 1 类(setosa),网络输出应该是 [1, 0, 0]
  • 如果一朵花属于第 2 类(杂色),则网络输出应为 [0, 1, 0]
  • 如果一朵花属于第 3 类 (virginica),则网络输出应为 [0, 0, 1]

我使用SigmoidCrossEntropyLoss预测 [0,1] 中的 K 个独立概率值让 ip3 成为连接到 SigmoidCrossEntropyLoss 的层(除了标签层):查看 ip3 的输出,我将负值解释为类不存在 (0),将正值解释为类存在 (1)。例如,如果 ip3 的输出是 [-0.3; 0.9; -0.4],然后我将其解释为 [0; 1个;0],即存在 2 类但不存在 1 和 3 类。

网络很好地分类了第 1 类和第 3 类(准确率超过 90%),但始终无法预测第 2 类:网络总是预测第 2 类不存在,即网络的第二个输出始终为 0,即 ip3 的第二个输出始终为负,无论输入是什么。

这是我使用的架构。难道我做错了什么?架构不适合这项任务吗?

在此处输入图像描述

0个回答
没有发现任何回复~