千家信息网

机器学习模型的度量选择怎么理解

发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,本篇内容主要讲解"机器学习模型的度量选择怎么理解",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"机器学习模型的度量选择怎么理解"吧!定义在讨论每种方法的优缺
千家信息网最后更新 2024年11月22日机器学习模型的度量选择怎么理解

本篇内容主要讲解"机器学习模型的度量选择怎么理解",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"机器学习模型的度量选择怎么理解"吧!

定义

在讨论每种方法的优缺点之前,我们先了解一下分类问题中使用的基本术语。如果你已经熟悉这个术语,可以跳过这个部分。

  • 召回率或TPR(真正例率):所有正例中正确识别为正例的项目数=TP/(TP+FN)

  • 特异性或TNR(真反例率):所有反例中正确识别为反例的项目数=TN/(TN+FP)

  • 精确度:在确定为正例的项目中,正确确定为正例的项目数=TP/(TP+FP)

  • 假正例率或I型错误:所有反例中被错误识别为正例的项目数=FP/(FP+TN)

  • 假反例率或II型错误:所有正例中被错误识别为反例的项目数=FN/(FN+TP)

  • 混淆矩阵

  • F1度量:精确性和召回率的调和平均值。F1 = 2*Precision*Recall/(Precision + Recall)

  • 准确率:正确分类的项目总数百分比 (TP+TN)/(N+P)

ROC-AUC评分

ROC-AUC得分的概率解释是,如果随机选择一个正案例和一个负案例,根据分类器,正案例高于负案例的概率由AUC给出。

从数学上讲,它是由灵敏度曲线(TPR)下的面积计算的。

FPR(1-特异性)。理想情况下,我们希望具有高灵敏度和高特异度,但在实际情况下,敏感性和特异度之间始终存在权衡。

ROC-AUC的一些重要特征是

  • 该值的范围可以是0到1。然而,平衡数据的随机分类器的auc得分是0.5

  • ROC-AUC评分与分类阈值集无关。F1分数不一样,在概率输出的情况下,F1分数需要一个阈值确定

Log损失

对数损失是一种精度测量,它结合了以下二进制类表达式给出的概率置信度的概念:

它考虑了你的预测的不确定性,基于它与实际标签的差异。在最坏的情况下,假设你预测的概率都是0.5。因此,对数损失将变成-log(0.5)=0.69。

因此,我们可以说,考虑到实际的概率,任何高于0.6的都是一个非常糟糕的模型。

案例1

Log损失与ROC和F1度量的比较

以案例1为例,模型1在预测绝对概率方面做得更好,而模型2预测的概率值是有序递增的。让我们用实际分数来验证一下:

如果考虑到log丢失,模型2给出的log损失最高,因为绝对概率与实际标签有很大差异。但这与F1和AUC评分完全不一致,根据该评分模型2具有100%的精确率。

此外,你可以注意,对于不同的阈值,F1得分会变化,在默认阈值为0.5时,F1更喜欢模型1而不是模型2。

从上述示例得出的推论:

  • 如果你关心绝对概率差,就用对数损失

  • 如果你只关心某一个类的预测,而不想调整阈值,那么使用AUC score

  • F1分数对阈值敏感,在比较模型之前,你需要先调整它

案例2

他们如何处理类别不平衡的情况?

这两个模型的唯一不同之处是它们对观测13和14的预测。模型1在对观测值13(标签0)进行分类方面做得更好,而模型2在对观测值14(标签1)进行分类方面做得更好。

我们的目标是看哪个模型能更好地捕捉到不平衡类分类的差异(标签1数据量少)。在欺诈检测/垃圾邮件检测这样的问题中,正例的标签总是很少,我们希望我们的模型能够正确地预测正例,因此我们有时会更喜欢那些能够对这些正例进行正确分类的模型

显然,在这种情况下,log损失是失败的,因为根据log丢失,两个模型的性能是相同的。这是因为log损失函数是对称的,并且不区分类。

F1度量和ROC-AUC评分在选择模型2方面均优于模型1。所以我们可以使用这两种方法来处理类不平衡。但我们必须进一步挖掘,看看他们对待类别不平衡的方式有哪些不同。

在第一个例子中,我们看到很少有正标签。在第二个例子中,几乎没有负标签。让我们看看F1度量和ROC-AUC如何区分这两种情况。

ROC-AUC评分处理少数负标签的情况与处理少数正标签的情况相同。这里需要注意的一件有趣的事情是,F1的分数在模型3和模型4中几乎是一样的,因为正标签的数量很大,它只关心正标签的错误分类。

从以上例子得出的推论:

  • 如果你关心的是一个数量较少的类,并且不需要管它是正是负的,那么选择ROC-AUC分数。

你什么时候会选择F1度量而不是ROC-AUC?

当你有一个数量小的正类,那么F1的得分更有意义。这是欺诈检测中的常见问题,因为正标签很少。我们可以通过下面的例子来理解这个陈述。

例如,在大小为10K的数据集中,模型(1)预测100个真正例数据中有5个正例数据,而另一个模型(2)预测100个真正例数据中的90个正例数据。显然,在这种情况下,模型(2)比模型(1)做得更好。让我们看看F1得分和ROC-AUC得分是否都能捕捉到这种差异

  • 模型(1)的F1得分=2*(1)*(0.1)/1.1 = 0.095

  • 模型(2)的F1得分= 2*(1)*(0.9)/1.9 = 0.947

是的,F1成绩的差异反映了模型的表现。

  • 模型(1)的ROC-AUC=0.5

  • 模型(2)的ROC-AUC=0.93

ROC-AUC也给模型1打了一个不错的分数,这并不是一个很好的性能指标。因此,对于不平衡的数据集,在选择roc-auc时要小心。

你应该使用哪种度量来进行多重分类?

我们还有三种类型的非二分类:

  • 多类:具有两个以上类的分类任务。示例:将一组水果图像分为以下任一类别:苹果、香蕉和桔子。

  • 多标签:将样本分类为一组目标标签。示例:将博客标记为一个或多个主题,如技术、宗教、政治等。标签是独立的,它们之间的关系并不重要。

  • 层次结构:每个类别都可以与类似的类别组合在一起,从而创建元类,这些元类又可以再次组合,直到我们到达根级别(包含所有数据的集合)。例子包括文本分类和物种分类。

在这个博客里,我们只讨论第一类。

正如你在上表中看到的,我们有两种类型的指标-微平均和宏平均,我们将讨论每种指标的利弊。多个类最常用的度量是F1度量、平均精度、log损失。目前还没有成熟的ROC-AUC多类评分。

多类的log损失定义为:

  • 在微平均法中,将系统中不同集合的真正例、假正例和假反例进行汇总,然后应用它们得到统计数据。

  • 在宏平均法中,取不同集合上系统的精度和召回率的平均值

如果存在类别不平衡问题,则采用微平均法。

到此,相信大家对"机器学习模型的度量选择怎么理解"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0