我已经修改了Caffe MNIST example,用于对图像的3个类别进行分类。我注意到如果我将输出层的数量指定为3,则测试准确率会大幅下降,只有40%左右。然而,如果我+1并增加到4个输出层,则结果在95%左右。
我向数据集中添加了一类额外的图像(因此有4个类别),并注意到同样的情况 - 如果输出层数与类别数相同,则结果很糟糕,如果相同+1,则效果非常好。
我向数据集中添加了一类额外的图像(因此有4个类别),并注意到同样的情况 - 如果输出层数与类别数相同,则结果很糟糕,如果相同+1,则效果非常好。
inner_product_param {
num_output: 3
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
有没有人知道为什么会这样?我发现当我使用我用C++ example code训练的模型在我的测试集上的图像时,它会抱怨我告诉它有4个类别存在,但在我的标签文件中只提供了3个类别的标签。如果我创造一个标签并将其添加到文件中,我就可以让程序运行,但是无论我给它什么图像,它都只会返回一个概率为1.0的类别。