在 Keras 分类神经网络中进行精度交易以获得更好的召回率

Posted

技术标签:

【中文标题】在 Keras 分类神经网络中进行精度交易以获得更好的召回率【英文标题】:Trading in precision for better recall in Keras classification neural net 【发布时间】:2018-07-28 13:33:47 【问题描述】:

准确率和召回率之间总是需要权衡取舍。我正在处理一个多类问题,对于某些类,我有完美的精确度,但召回率非常低。

由于对我的问题来说,误报比漏报更不是问题,因此我希望降低精度以增加某些特定类别的召回率,同时尽可能保持其他事情稳定。 有哪些方法可以用精确度换取更好的召回率?

【问题讨论】:

看起来您的问题属于交叉验证,而且看起来与 TF 或 Keras 没有任何关系。一些建议是在 CV 上搜索这种权衡,尤其是查找过采样/欠采样。 【参考方案1】:

您可以在分类器输出层的置信度得分上使用阈值,并绘制不同阈值值下的精度和召回率。您可以对不同的类别使用不同的阈值。

您还可以查看 Tensorflow 的 weighted cross entropy 作为损失函数。如前所述,它使用权重来权衡召回率和精度,方法是对正错误相对于负错误的成本进行上下加权。

【讨论】:

以上是关于在 Keras 分类神经网络中进行精度交易以获得更好的召回率的主要内容,如果未能解决你的问题,请参考以下文章

Keras 精度不变

keras构建前馈神经网络(feedforward neural network)进行分类模型构建基于早停法(Early stopping)

Keras 精度和实际精度正好相反

Keras CNN 精度要么是静态的,要么对于图像分类来说太高了

在 Keras 的 MNIST 数字识别中获得不同的测试数据精度

训练时 Keras 神经网络精度始终为 0