为什么交叉熵不是模型性能的常用评估指标?

机器算法验证 分类 模型评估 交叉熵
2022-03-15 19:08:09

当我们训练分类器时,我们使用交叉熵作为损失函数,例如,使用 F-Score 作为评估指标,但为什么呢?

为什么不在测试集上使用交叉熵来评估模型性能?

尤其是在我们关心模型的置信度的情况下,它会给我们一个很好的指标。然而,我不记得看到过一篇论文使用这个。所以我一定错过了什么。

2个回答

我总是在交叉验证下使用(测试)交叉熵来评估分类模型的性能。它比小数据集上的准确率要强大得多(因为准确率不是“平滑的”),并且在类不平衡时比准确率(尽管可能不比准确率和召回率)更有意义。

然而,交叉熵的问题在于它并不存在于任何客观的尺度上,它是一个非常相对的度量。您可以在给定的数据集上比较 XGBoost 与神经网络的性能,具有较低交叉熵(或较高测试对数似然)的模型是更好的模型。说“XGBoost 在问题 A 上得到 X 的交叉熵,在问题 B 上得到 Y 的交叉熵”更难解释。

一般来说,从信息论的角度来看,具有平衡类的二元分类比具有 90/10 类不平衡的二元分类是一个“更难”的问题,因为您可以从较少的信息开始(更多地从数学上比较)。如果你试图衡量你的分类器在多大程度上对两个不同的问题表现良好,具有不同的类平衡,你会产生竞争效应,一个问题的特征可能包含有关目标变量的更多信息,但另一个问题更容易解决。0.1ln0.1+0.9ln0.920.5ln0.5

出于这个原因,你不会得到一篇学术论文(无论如何我希望如此),上面写着“我们首先使用神经网络来解决这个问题并得到 X 的交叉熵”。然而,可以说“通常人们使用神经网络来解决这个问题并获得 X 的交叉熵,但我们使用 XGBoost 并获得了 Y 的交叉熵”,因为那时你正在比较两个分类器同样的问题

根据数据集,交叉熵值的范围可能从 0 到无穷大。它不在 0 和 1 之间。我猜想比较不同模型和数据集之间的性能可能是个问题。