我们通常使用分类阈值最大化的F1评分,如果我们没有一个先验成本函数的假阳性和假阴性。
这平衡了对查准率与召回的需求。如果任意一个为0时,则F1分数为0;如果我们有一个完美的分类,则F1分数为1。
另一方面,我很难找到一个科学的理由来使F1最大化,或者在业务问题上,F1是我们需要最大化的东西。
F1不对称。如果我们有60/40的二值分布,选择40%的类作为正类,并将所有的事物分类为正,则F1评分为0.4的召回率为100%,准确率为40%。(如果我们把所有负面的东西归类为F1=0)。如果我们选择60%的类别为阳性,并将所有的阳性分类,我们得到的F1评分为0.6。
为什么不使用相互信息,使预测和实际中的惊喜最小化?
当我们通过最小化日志损失来估计概率时,我们也是信息论意义上的最小K-L散度或熵或惊奇。如果一个50/50的概率预测包含1位熵或惊喜,那么在我们的预测中,最小的日志损失将熵或惊讶的比特数降到最小。
在信息论中,如果我们没有概率,想要测量噪声信号传输的信息,我们就使用互信息。
互信息是对称的,对于所有1s或0的信号都是0。从某种意义上说,预测所有的1或0没有给出关于响应变量的基本真相的信息。
从某种意义上说,预测就像一个从现在到未来的噪声通道,像互信息这样的信息论概念似乎是选择分类阈值的一个有根据的标准,而F1似乎是任意的。
有什么理由让F1比相互信息更受欢迎吗?
发布于 2019-08-31 12:31:56
使用任何特定的评估度量的原因应该基于任务的语义。推论:没有对每项任务都完美的独特的评估方法。显然,也有一些技术限制需要考虑,但是imho只考虑性能优化的技术方面是ML应用程序中最常见的错误。
例如,OP提到F1分数的不对称:在某些任务中,使用非对称度量是完全有意义的,例如,目标是提取特定元素的任何任务,例如命名实体识别。此外,对称问题只对二进制分类有意义,许多任务涉及两个以上的可能类。在这种情况下,使用微观或宏观F-得分是很常见的,但这同样取决于人们想要测量什么。同样重要的是要记住,单个度量总是性能的简化,通常还有许多其他相关方面。例如,某个特定类别的错误可能比另一个类别的错误代价更高,例如在医学预测系统中,假阴性意味着病人得不到潜在的挽救生命的治疗(请注意,可以加权一般F-评分来解释这一点)。
性能度量的可解释性也是非常重要的。在许多应用中,需要估计一些非专家能够理解的平均错误率,否则ML系统对其用户来说只是一个神奇的黑匣子,这可能会引起严重的伦理和实际问题。
https://datascience.stackexchange.com/questions/58422
复制相似问题