确定地分类

数据挖掘 分类 张量流 喀拉斯
2022-02-18 08:07:22

我正在尝试使用 Keras 对二进制样本进行分类,我想尽可能正确地分类,同时忽略模型不确定的样本。

全连接的神经网络目前达到了 65% 左右,但我希望得到正确分类的更高结果,同时忽略模型不确定的那些。

有没有办法告诉 Keras 简单地忽略模型不确定的那些并以这种方式获得更高的准确性?或者是否有一种网络设计可以实现这一点,例如将网络的结果直接输入到它的第二部分,然后决定预测是否可能准确?

我正在考虑实现这一目标的一种方法是在其之上构建第二个神经网络,该网络根据第一个网络的结果及其所有输入数据来决定分类是否正确。这会奏效吗,如果是的话,是否没有更优雅的方法可以一次性实现这一目标,例如直接将结果输入网络的第二部分,然后决定预测是否准确?

2个回答

神经网络中的 Softmax 输出可能会产生误导——通常提供的置信度高于直觉。参见例如这里:

检测神经网络中错误分类和分布外示例的基线 https://pdfs.semanticscholar.org/c26e/1beaeaa55acae7336882de5df48716afb8bb.pdf

这表明在实践中,softmax 不能被解释为概率,而是应该用于在类选项之间进行排名。

如果您想获得准确的概率估计,您可以考虑使用贝叶斯方法,在该方法中,您可以显式地对每个输入方差、输出方差等的估计进行建模。

如果做不到这一点,让第二阶段神经网络接受输入并通过第一个网络预测正确或不正确的分类是一个有趣的想法 - 其中不正确的分类是“低置信度”分类的代理。如果你尝试一下,我很想知道它是如何工作的。

编辑:正如@Emre 所说,softmax 的输入将比 softmax 本身提供更多信息,因为它是预先缩放的(即不强制总和为 1)。所以它应该更好地反映置信度,值越远离 0 表示置信度越高。

我有一个类似的任务。

也许你可以通过设计一个合适的成本函数来调整你的权衡或者,请参阅维基百科上的F 分数

强化学习也可能有你正在寻找的工具,即奖励“只有在确定时才行动”的方法。参见例如巴托萨顿的介绍

或者,尝试搜索所谓的Conformal Prediction

维恩预测是原始保形预测框架的扩展......

...用于产生经过良好校准的概率预测。它为属于手头问题的每个可能类别的示例的条件概率提供了经过良好校准的下限和上限。本文提出了五种基于神经网络的VP方法

让我们更新...