如果我正在做一个多分类问题,有没有办法让一个类本质上成为一个"不确定"的类?例如,如果我的模型没有很强的预测,它应该默认为此类。就像你参加考试一样,有些考试会因为你的答案错误而惩罚你,有些则不会。我想做一个自定义损失函数,它不会因为猜测中性类而惩罚我的模型,但如果模型做出错误的预测,它就会惩罚。有没有办法做我想做的事情?
对于使用独热编码 softmax 输出层的分类器,输出可以解释为输入属于每个类别的概率。 例如,如果您的模型有输出(猫、狗、青蛙(,则输出 (0.6, 0.2, 0.2( 意味着输入(根据分类器(有 60% 的机会成为猫,每个都有 20% 的机会成为狗或青蛙。
在这种情况下,当模型不确定时,它可以(并且将(有一个没有一个类特别可能的输出,例如(0.33,0.33,0.33(。无需添加单独的"其他"类别。
除此之外,训练"不确定
"类别可能很困难,除非您有特定的输入示例,您希望训练模型将其分类为"不确定"。
我遇到了同样的问题。我尝试使用中性类,但神经网络要么不放任何东西,要么根据减少的损失,把所有东西都放进去。经过一番搜索,看起来我们正在努力实现"神经网络不确定性估计"。实现这一目标的方法之一是在神经网络中随机丢弃的情况下运行图像 100 次,看看它击中同一类的次数。
这篇博文很好地解释了它:https://www.inovex.de/blog/uncertainty-quantification-deep-learning/
该视频还: https://medium.com/deeplearningmadeeasy/how-to-add-uncertainty-to-your-neural-network-afb5f855e66a
如果我有一些结果,我会让你知道并在这里发布。