在二元分类的损失函数之间进行选择

机器算法验证 损失函数
2022-01-19 08:03:26

我在一个人们经常报告ROC-AUCAveP(平均精度)的问题领域工作。然而,我最近发现了优化Log Loss的论文,而其他人则报告了Hinge Loss

虽然我了解这些指标是如何计算的,但我很难理解它们之间的取舍以及究竟哪个对什么有好处。

当谈到 ROC-AUC 与 Precision-Recall 时,该线程讨论了ROC-AUC 最大化如何被视为使用损失优化标准来惩罚“将真正的负数至少与真正的正数一样大”(假设更高分数对应于阳性)。此外,Precision-Recall指标相比,这个其他线程还提供了关于ROC-AUC的有用讨论。

但是,对于哪种类型的问题,log lossROC-AUCAvePHinge loss更受欢迎?最重要的是,在选择这些损失函数进行二元分类时,应该问什么类型的问题?

1个回答

关于这个问题的最新参考文献是 [1]。从本质上讲,它表明您指定的所有损失函数都将以快速的速率收敛到贝叶斯分类器。

在这些有限样本之间进行选择可以由几个不同的参数驱动:

  1. 如果您想恢复事件概率(而不仅仅是分类),那么逻辑对数损失或任何其他广义线性模型(Probit 回归、互补对数回归......)是一个自然的候选者。
  2. 如果只针对分类,SVM 可能是首选,因为它只针对分类边界的观察,而忽略远处的观察,从而减轻假设线性模型的真实性的影响。
  3. 如果您没有很多观察结果,那么 2 中的优势可能是劣势。
  4. 可能存在计算差异:无论是在所述优化问题中,还是在您使用的特定实现中。
  5. 底线-您可以简单地尝试所有这些并选择表现最好的。

[1] 巴特利特、彼得 L、迈克尔 I 乔丹和乔恩 D 麦考利夫。“凸性、分类和风险界限。” 美国统计协会杂志 101,没有。473(2006 年 3 月):138–56。doi:10.1198/016214505000000907。