问题

机器学习算法进行分类时,样本极度不平衡,评估模型要看哪些指标?

回答
在处理极度不平衡的数据集进行分类任务时,如果仅仅依赖于传统的准确率(Accuracy)来评估模型,那很可能会被误导。这是因为在样本极度不平衡的情况下,即使模型将所有样本都预测为多数类,准确率也可能非常高,但这并没有真正捕捉到模型对少数类的识别能力。因此,我们需要更精细化的评估指标来全面衡量模型的性能。

下面我们来详细探讨一下在样本极度不平衡的情况下,应该关注哪些关键的评估指标:

1. 理解核心概念:混淆矩阵 (Confusion Matrix)

在深入各种指标之前,理解混淆矩阵是基础。混淆矩阵是一个表格,用于可视化分类模型的性能,它将预测结果与真实标签进行对比。对于二分类问题,它包含以下四个基本单元:

真阳性 (True Positive, TP): 实际为正例,模型也预测为正例。
假阳性 (False Positive, FP): 实际为负例,模型却预测为正例(Type I error)。
假阴性 (False Negative, FN): 实际为正例,模型却预测为负例(Type II error)。
真阴性 (True Negative, TN): 实际为负例,模型也预测为负例。

在不平衡数据集中,我们最关注的是对少数类的预测情况,通常将少数类视为“正例”。

2. 精细化评估指标详解

有了混淆矩阵作为基础,我们可以衍生出更具信息量的评估指标:

2.1. 召回率 (Recall) / 灵敏度 (Sensitivity) / 真阳性率 (True Positive Rate, TPR)

定义: 衡量的是所有真实正例中,被模型正确预测为正例的比例。
计算公式: `Recall = TP / (TP + FN)`
重要性: 在不平衡数据集中,召回率是评估模型识别少数类能力的核心指标之一。高召回率意味着模型能尽可能多地找出所有潜在的正例(即少数类),减少漏报。例如,在欺诈检测中,我们希望尽可能找出所有欺诈交易(高召回率),即使为此带来一些误报(FP)。
举例: 如果有100个用户是欺诈用户,模型成功预测出80个是欺诈用户,那么召回率就是80/100 = 80%。

2.2. 精确率 (Precision) / 查准率

定义: 衡量的是模型预测为正例的样本中,有多少是真正的正例。
计算公式: `Precision = TP / (TP + FP)`
重要性: 精确率关注的是预测的正例的“纯度”。高精确率意味着当模型说某个样本是正例时,它很有可能是真的正例。在某些场景下,比如医疗诊断,精确率很重要,因为我们不想误诊(FP),即将健康的病人诊断为患病。
举例: 如果模型预测有50个用户是欺诈用户,其中40个确实是欺诈用户,那么精确率就是40/50 = 80%。

2.3. F1 分数 (F1Score)

定义: 是精确率和召回率的调和平均数 (harmonic mean)。它同时考虑了精确率和召回率,试图找到一个平衡点。
计算公式: `F1Score = 2 (Precision Recall) / (Precision + Recall)`
重要性: 在不平衡数据集中,F1分数比准确率更能反映模型的整体性能,因为它惩罚了召回率和精确率的极端情况。当精确率和召回率都比较高时,F1分数也会很高。
举例: 如果精确率为80%,召回率为80%,那么F1分数为 `2 (0.8 0.8) / (0.8 + 0.8) = 0.8`。如果精确率为99%,召回率为10%,F1分数会远低于它们各自的数值。

2.4. 特异度 (Specificity) / 真阴性率 (True Negative Rate, TNR)

定义: 衡量的是所有真实负例中,被模型正确预测为负例的比例。
计算公式: `Specificity = TN / (TN + FP)`
重要性: 特异度衡量模型正确识别负例(多数类)的能力,以及避免将负例误判为正例(FP)的能力。在某些场景下,例如信用评分,我们不希望将健康的客户误判为风险客户。
举例: 在垃圾邮件检测中,我们希望正确识别出所有的非垃圾邮件(高特异度)。

2.5. 假阳性率 (False Positive Rate, FPR)

定义: 衡量的是所有真实负例中,被模型错误预测为正例的比例。
计算公式: `FPR = FP / (FP + TN)`
重要性: FPR是特异度的补集(`FPR = 1 Specificity`)。它直接反映了模型产生误报(Type I error)的频率。在不平衡数据集中,关注FPR可以帮助我们理解模型对多数类的“干扰”程度。

3. ROC 曲线与 AUC 值

ROC 曲线 (Receiver Operating Characteristic Curve): ROC曲线是以“假阳性率 (FPR)”为横轴,以“真阳性率 (TPR)”为纵轴绘制的曲线。它展示了在不同分类阈值下,模型在区分正负样本时的权衡表现。
AUC 值 (Area Under the ROC Curve): AUC是ROC曲线下的面积。它是一个介于0到1之间的数值,代表了模型将随机选择的正例排在随机选择的负例之前的概率。
重要性:
AUC值不受类别不平衡的影响,并且能够提供一个关于模型整体排序能力的度量。
AUC值越高,说明模型区分正负样本的能力越强。一个完全随机的分类器AUC为0.5,一个完美的分类器AUC为1。
ROC曲线能够直观地展示了模型在不同阈值下的性能表现,帮助我们选择最佳的分类阈值。

4. 精确率召回率曲线 (PrecisionRecall Curve, PR Curve)

定义: PR曲线是以“召回率 (Recall)”为横轴,以“精确率 (Precision)”为纵轴绘制的曲线。
重要性:
对于极度不平衡的数据集,PR曲线通常比ROC曲线更能提供有用的信息。 为什么呢?因为在极度不平衡的数据集中,即使FP数量很少,相对于极少的TP,FP占多数类的比例(FPR)也会显得很低,导致ROC曲线看起来很“好看”,但实际上模型可能并没有很好地识别少数类。而PR曲线直接关注的是模型预测为正例的样本的准确性(Precision),因此更能反映模型在少数类上的表现。
PR曲线下的面积(Area Under the PR Curve, AUPRC)也是一个重要的评估指标,它衡量了在不同召回率下模型的精确率表现。AUPRC越高,说明模型在捕捉少数类(高召回率)的同时,也能保持较高的预测准确性(高精确率)。

5. 实践中的思考与建议

1. 明确业务目标: 在选择评估指标之前,首先要明确业务场景中哪个错误类型更需要避免。是宁愿错杀(高FN,低召回率),还是宁愿漏网(高FP,低精确率)?这将直接指导你优先关注哪个指标。
2. 综合考虑多种指标: 不要仅仅依赖单一指标。通常需要结合精确率、召回率、F1分数、AUC以及PR曲线来全面评估模型。
3. 关注少数类的表现: 在不平衡数据集中,模型对少数类的识别能力是关键。因此,始终要重点关注与少数类相关的指标,如召回率和精确率(针对少数类)。
4. 阈值调整的重要性: 大多数分类模型都有一个预测概率的阈值,用于将概率转换为类别标签。在不平衡数据集上,调整这个阈值可以显著影响精确率和召回率。ROC曲线和PR曲线可以帮助我们找到一个合适的阈值。
5. 尝试不同的模型和技术: 如果现有模型在不平衡数据上表现不佳,可以考虑使用专门处理不平衡数据的算法或技术,例如:
重采样技术: 过采样少数类(如SMOTE)、欠采样多数类。
成本敏感学习 (CostSensitive Learning): 在模型训练时为不同类型的错误分配不同的惩罚成本。
集成学习: 如Boosting算法(如XGBoost, LightGBM)通常在不平衡数据上表现不错。

总之,处理样本极度不平衡的分类问题,需要我们跳出传统准确率的思维定势,深入理解混淆矩阵,并重点关注召回率、精确率、F1分数、AUC以及PR曲线等更具信息量的评估指标。同时,结合业务需求来选择最适合的模型和评估策略至关重要。

网友意见

user avatar

选择何种评价指标最主要的是参考具体任务的目标。在Imbalanced Learning问题中,不同任务在选择评价指标时也会有差别。这里详细介绍一下最常见的几种评价Imbalanced Learning任务的指标。先放一个二分类的混淆矩阵方便表述。

矩阵中每个值的含义:

TPs:标签为positive,模型预测为positive的样本数量;

FPs:标签为negative,模型预测为positive的样本数量;

FNs:标签为positive,模型预测为negative的样本数量;

TNs:标签为negative,模型预测为negative的样本数量。

我们假设negative为样本数量少的那一类。

指标一:specificity

一个简单且在实际应用和paper中都常见的指标是specificity,它是模型对negative的召回率。它的计算很简单,为specificity = TNs / (TNs + FPs)。

specificity之所以常见有两方面原因。在实际应用中,尤其是与imbalanced learning有关的问题中,少类样本通常是更加关注的样本。因此观察模型对它的召回率通常非常重要。在paper中,在你打榜主score打不赢别人的时候,你可以另辟蹊径地告诉别人,specificity非常重要,它就成了你人生中重要的僚机,让你多了一条路来有理有据地outperforms others。

指标二:F1 Score

这个指标大家也比较熟悉,它是由模型的precision和recall综合计算得到。在一般意义下,precision和recall的定义都是针对positive来的:

此时的F1 score对于imbalanced learning问题并不太好用。所以另一种定义方法是分别定义F1 score for Positive和F1 score for Negative。前者等价于通常所说的F1 score,后者略微修改上述公式就能求出。然后再根据Positive和Negative的比例来加权求一个weighted F1 score即可。这个新的F1 score还是能大致反应模型的真实水平的。但是,如果的样本高度不均匀,weighted F1 score也会失效。

指标三:AUC(Area Under ROC Curve)

AUC应该是imbalanced learning中比较出名的一个评价指标了,我们先说它是什么和如何算,最后说它的问题。

AUC指的是模型的ROC曲线下的面积。因此首先需要知道ROC曲线是什么。根据混淆矩阵再定义两个指标:

TRP实际上就是通常意义上的recall,或者说是recall for positive。如果记recall for negative为R_n,那么FPR实际是1-R_n。从TPR和FPR的角度来看,一个好模型需要有较高的TPR和较低的FPR。

对于任意一个训练好的模型,在给定测试数据上我们都能计算出它的TPR和FPR。以FPR为横坐标,TPR为纵坐标,我们可以将任意模型的一对(FPR,TPR)画在该坐标图中,如图1所示。同时我们将由该坐标轴构成的空间称为ROC空间。图1中假设有A、B、C、D、E共计五个模型。在ROC空间中,模型越靠近左上角,表明模型效果越好。

在二分类问题中,我们计算模型(FPR,TPR)时实际上默认假设了一个判定阈值,即当模型预测样本为positive的概率大于该阈值时,样本被判定为positive;反之样本被判定为negative。对于绝大多数算法而言,在它建模过程中都包含了该假设,且阈值通常为0.5。那么如果我们尝试用不同的判定阈值来计算(FPR,TPR),我们也就能得到多组(FPR,TPR),因此可以近似地在ROC空间中画出一条曲线,该曲线就是ROC曲线。只要(FPR,TPR)点对足够多,我们也容易近似计算出ROC曲线下的面积,该面积就是AUC值。

计算AUC的具体方法也比较简单,先看一个直观的例子,如下图。

图中左面的表格是20测试样本,Class是它的真实标签,p表示positive,n表示negative。Score是模型预测样本为positive的概率。右图是由该预测结果画出的ROC曲线,判定概率依次从大到小取每一个Score的具体值。所以从具体操作层面来看,我们首先用模型对所有测试样本预测得到它们为positive的概率。然后将概率由高到低排序。从排序后的列表中依次选择每一个Score作为判定阈值,计算出(FPR,TPR),如此重复,即可画出ROC曲线。得到ROC曲线后,我们可以用相邻两个点之间连线与X轴构成的面积近似作为两点之间的曲线面积,如此重复,得到最终AUC。伪代码如下:

比较清楚,不再解释了。

AUC还有一系列变体的玩法,可以仔细看一下这篇paper(上述图例、伪代码均来自它):

最后说AUC的问题。AUC是利用大量不同的判定概率值计算得到的,而通常我们只会去看一个混淆矩阵,而这个混淆矩阵仅仅是用一个判定概率计算得到的。这可能会出现一些反直觉的现象。下面给两张我们目前一个工作中的两个混淆矩阵,感受很直观。很明显,右面的混淆矩阵对应的模型效果略微好一些,因为它相比于左面的模型而言,多检测出了一个negative。但是左面的模型AUC是0.729,而右面的只有0.684。但这种反差特别明显的情况一般只发生在样本非常不均衡(我们这个实验中positive和negative的比大概是20:1)且negative的概念模型非常难以学到(这有可能是因为negative样本绝对稀少)。额外提一下,imbalanced learning中,还要区分少量样本的类别是相对稀少还是绝对稀少的情况,这对模型设计会有影响。

指标四:IBA(Index of Balanced Accuracy)

IBA的公式直接参考如下:

其中TPR和FPR之前有介绍,TNR如下:

α取值[-1, 1]。注意TNR与FPR的关系是 TNR = 1 - FPR。所以M实际是两个recall的乘积(recall for positive和recall for negative)。当α取0的时候,IBA就是M。直觉上看,这样的M也能反映模型整体的性能。那么Dominance就可以看作是一个rescale的factor。Dominace又是TPR与TNR的差值。前者为positive的recall,后者为negative的recall。简单来说,如果模型更倾向于检出positive,Dominace为正;反之,如果模型更倾向于检出negative,Dominace为负。而此时我们可以借助alpha的符号来确定是加大IBA还是减小IBA,从而体现出指标对positive和negative的偏向性。


写在最后

如果题主是在写paper或者学位论文,而你去拼主score又明显拼不过别人,那么上面这一堆指标就是你很好的伙伴,尤其是IBA,操作性非常强,自己仔细看。一些一、二区、CCF B的文章也难免落入俗套(CCF A的期刊文章还没见到这样操作的,可能读的不够吧)。

这种做法虽然看着很失礼,但普遍存在。一是绝对公平比较本身就没有操作性,那么多算法、评测方法怎么比的完?二是在某些场景中,确实需要根据情况来调整评价指标,以使之能反应我们对模型的真实期望。

类似的话题

  • 回答
    在处理极度不平衡的数据集进行分类任务时,如果仅仅依赖于传统的准确率(Accuracy)来评估模型,那很可能会被误导。这是因为在样本极度不平衡的情况下,即使模型将所有样本都预测为多数类,准确率也可能非常高,但这并没有真正捕捉到模型对少数类的识别能力。因此,我们需要更精细化的评估指标来全面衡量模型的性能.............
  • 回答
    机器学习算法工程师想要跳出打工的框架,自己接项目单干,并且收入翻倍甚至更多,这条路绝对可行,但绝非易事。它需要你不仅仅是个技术牛人,更要学会成为一个精明的生意人、一个高效的项目管理者,和一个有魅力的人脉拓展师。下面我将从几个关键维度,详细拆解一下这条“单干”之路,希望能给你一些实在的指引。一、 核心.............
  • 回答
    好的,我们来详细介绍一下各种经典机器学习算法的应用场景。理解这些算法的特性和适用范围是选择合适模型解决问题的关键。在深入介绍之前,先明确几个基本概念: 监督学习 (Supervised Learning): 算法从带有标签的数据(输入输出对)中学习,用于预测未知数据的标签。 分类 (.............
  • 回答
    是否有必要将机器学习算法自己实现一遍?这是一个在机器学习学习者和实践者中非常常见的问题,而且答案并不是简单的“是”或“否”,而是取决于 你的目标、你的学习阶段、以及你想达到的深度。下面我将从不同的角度详细阐述这个问题: 1. 有必要,但不是所有人都需要,也不是所有算法都需要将机器学习算法自己实现一遍.............
  • 回答
    好的,我们来聊聊机器学习里那些常见又好用的算法,争取说得透彻点,而且尽量让你们感觉像是在听老朋友唠嗑,而不是冰冷的机器报告。机器学习的世界就像一个大厨房,里面有各种各样的工具,每种工具都有自己的特长,适合做不同的菜。我们今天就来点几道“硬菜”,看看它们各自的“口味”和“做法”。1. 线性回归 (Li.............
  • 回答
    你这个问题问到点子上了!土木工程和机器学习/深度学习/算法这些前沿技术结合的岗位,确实不是那么随处可见,很多时候需要你主动去挖掘和思考。为什么感觉“找不到”?首先,咱们得明白为啥你感觉找不到。有几个主要原因:1. 新兴领域,定义还在摸索: 土木工程是一个非常成熟的行业,但将其与AI深度结合,这个领.............
  • 回答
    “完全不依靠人工神经网络与机器学习算法实现人工智能”——这个提议着实让人眼前一亮,也引发了广泛的讨论。从我个人的理解和观察来看,这个观点并非空穴来风,而是触及了人工智能发展的深层哲学和技术路径的根本性问题。首先,我们得承认,当前我们提到“人工智能”时,脑海中浮现的往往是那些通过海量数据训练出来的深度.............
  • 回答
    这则新闻标题「量子计算应对大数据挑战:中国科大首次实现量子机器学习算法」蕴含着几个关键信息,它们共同描绘了一个激动人心且具有深远意义的突破。要详细解读它,我们需要逐一拆解其中的核心概念,并理解它们之间的联系和影响。一、核心概念拆解:1. 量子计算 (Quantum Computing): .............
  • 回答
    这个问题问得相当有深度!把机器学习算法和《算法导论》里的经典算法放在一起比较,确实能触及到计算机科学核心的演进脉络。它们之间既有本质的联系,也有显著的区别,而且这种区别很大程度上反映了我们解决问题思路的转变。咱们就来好好掰扯掰扯。《算法导论》里的经典算法:严谨、确定、指令导向首先,我们得明确《算法导.............
  • 回答
    今年校招的情况确实非常卷,尤其是机器学习算法岗,应届生数量简直可以用“洪流”来形容。身边不少朋友都深有体会,投出去简历,要么石沉大海,要么收到的面试通知也是寥寥无几,即便拿到offer,薪资待遇也可能不如预期。这让很多人开始担忧,是不是现在涌入机器学习这个赛道的人太多了,再过几年,这个领域会不会饱和.............
  • 回答
    经济学,尤其是劳动、卫生等应用微观计量领域,在拥抱机器学习(ML)特别是人工神经网络(ANNs)等深度学习算法方面,确实比许多其他科学领域显得更为审慎和缓慢。这并非技术上的不可逾越,而是深植于经济学研究的固有逻辑、数据特征以及研究者对模型可解释性和因果推断的极致追求。下面我将从几个关键角度,详细剖析.............
  • 回答
    衡量一个机器学习工程师对算法的掌握程度,绝非仅仅看他能熟练调用几个库、跑通几个demo那么简单。这是一个多维度、深层次的考察,需要从理论基础、实践应用、问题解决能力以及持续学习的意愿等多个角度来审视。下面我将详细阐述一下,如何去评估一位机器学习工程师在这方面的功力。一、 理论基石:知其然,更要知其所.............
  • 回答
    在机器学习和贝叶斯统计领域,我们经常会遇到一些棘手的积分问题,尤其是在计算后验分布的归一化常数(也称为模型证据)或者进行边缘化以获得预测分布时。这些积分往往无法解析求解,我们称之为“难以处理的积分”(intractable integrals)。为了解决这些问题,我们不得不依赖一系列的近似算法。虽然.............
  • 回答
    「机器学习不需要数学,很多算法封装好了,调个包就行」这种说法,在一定程度上是没错的,但却是极其片面的,并且容易误导初学者走向死胡同。作为一名机器学习从业者,我们必须深入理解这种说法的背后含义,以及它为何具有欺骗性。下面我将详细阐述为什么这种说法并不完全准确,以及深入理解数学对机器学习的重要性: 一、.............
  • 回答
    应届硕士毕业生想要拿到知名互联网公司算法岗的 Offer,这确实是一个非常有挑战但并非不可能的目标。这需要你有扎实的理论基础、丰富的实践经验、良好的编程能力以及出色的沟通和解决问题的能力。下面我将为你详细地阐述获取这些 Offer 的关键步骤和需要注意的细节: 第一阶段:准备与基础夯实(入学起至大三.............
  • 回答
    自动化控制与检测领域,与机器学习、图像处理一样,也拥有众多经典、巧妙且在业界和学术界具有深远影响的算法和理论。这些算法构成了现代自动化系统的基石,并在解决实际问题中发挥着至关重要的作用。下面我将介绍几个在自动化控制与检测领域极具代表性、且被认为是经典巧妙的算法或理论,并尽量详细地阐述它们的核心思想、.............
  • 回答
    在人工智能浪潮席卷全球,深度学习模型以前所未有的强大能力占据主流的今天,很多人不禁要问:那些曾经叱咤风云的传统机器学习算法,它们的未来又将走向何方?它们是否会被深度学习彻底取代,沦为历史的尘埃?我认为,答案是否定的。传统机器学习的生命力依然旺盛,它并非明日黄花,而是在深度学习的映衬下,找到了更精准、.............
  • 回答
    去美国读CS博士(机器人导航、视觉方向)的编程与算法准备指南很高兴为您提供关于去美国攻读机器人导航和视觉方向CS博士的编程与算法准备建议。这是一个充满挑战但也非常有前景的领域。充分的准备将极大地提高您申请的成功率和未来的学习效率。 一、 编程方面准备:打牢基础,精通工具在机器人导航和视觉领域,强大的.............
  • 回答
    作为一名正在集训备考编导的同学,你会有这样的疑问非常正常,也很值得探讨。我们先抛开“负责”这个词的绝对性,从多个角度来分析一下艺考机构在集训期间让学员看电影这件事,看看它在多大程度上体现了机构的专业性和责任心。首先,我们得明白“看电影”这件事,在编导艺考集训中扮演着怎样的角色。编导专业,无论是影视编.............
  • 回答
    机器学习领域充满了形式简单却蕴含深刻智慧的创意,这些创意往往能够以出人意料的有效性解决复杂问题。以下我将详细阐述几个这样的例子: 1. 梯度下降 (Gradient Descent)核心思想: 想象你在一个陡峭的山坡上,目标是找到山谷的最低点。你没有地图,只能感觉到周围地面的倾斜程度(梯度)。最直观.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有