跳到主内容

什么是混淆矩阵?准确率之外怎么看分类好坏

2026-10-06 发布 来源:我告诉你AI导航 阅读

看一个分类模型好不好,很多人只看准确率。但准确率是会骗人的:100 个样本里 95 个是正常、只有 5 个异常,一个把所有样本都判成正常的模型,准确率照样是 95%,却一个异常都没抓到。大模型的很多下游任务本质上都是分类,要看清水分...

看一个分类模型好不好,很多人只看准确率。但准确率是会骗人的:100 个样本里 95 个是正常、只有 5 个异常,一个把所有样本都判成正常的模型,准确率照样是 95%,却一个异常都没抓到。大模型的很多下游任务本质上都是分类,要看清水分的真实分布,得看混淆矩阵。

混淆矩阵是一张四格表

二分类问题里,模型对每个样本的预测,和样本的真实标签一对照,只有四种结果。把四种结果的数量填进一张 2×2 的表格,就是混淆矩阵。四格分别是:真阳性(真异常、判成异常)、假阳性(真正常、判成异常,也就是误报)、真阴性(真正常、判成正常)、假阴性(真异常、判成正常,也就是漏报)。有了这四个数,模型「错在哪」就一目了然。

四个格子分别代表什么

格子含义通俗说法业务后果
真阳性 TP异常样本被判成异常抓对了该处理的被正确处理
假阳性 FP正常样本被判成异常误报打扰用户、浪费人力复核
真阴性 TN正常样本被判成正常放对了正常内容顺利通过
假阴性 FN异常样本被判成正常漏报风险或问题被放过

把这四个数放在一起看,比只盯着一个「准确率」要清楚得多。不同格子对应的是完全不同的错误方向,代价也各不相同。

为什么要看它而不是只看准确率

准确率把四种情况揉成一个数,掩盖了「错的方向」。同样 90% 的准确率,可能来自「漏报多、误报少」,也可能来自「误报多、漏报少」,两种模型的可用性完全不同。混淆矩阵把四个数摊开,你一眼就能看出模型是「宁可放过」还是「宁可错杀」。尤其是两类样本数量悬殊时——比如垃圾邮件只占来信的一小部分——只报准确率几乎说明不了任何问题,因为把一切都判成正常也能拿到一个体面的分数。

误报和漏报,选哪种代价

误报多,说明模型太敏感,会把正常内容拦下来,打扰用户;漏报多,说明模型太保守,会放过真正该处理的内容。选哪个,取决于业务能承受哪种代价。比如内容审核里漏掉一条违规内容后果严重,就优先压漏报;邮件过滤里误删一封重要来信更麻烦,就优先压误报。这种取舍是模型之外的产品决策,不能靠指标自动替你完成。

从四格能算出哪些指标

混淆矩阵不只是给人看的,它还是精确率、召回率、F1 这些指标的原材料。精确率等于真阳性除以「真阳性加假阳性」,也就是所有被判成异常的样本里真正异常的比例;召回率等于真阳性除以「真阳性加假阴性」,也就是所有真异常里被抓出来的比例;F1 则把两者合成一个数。所以准确率、精确率、召回率并非三套独立的东西,它们只是同一张四格表的不同读法。理解了四格,就理解了这一串指标之间的换算关系。

模型上线前后都绕不开它

混淆矩阵不是只在评测阶段用。训练阶段为了省显存会用混合精度训练,部署阶段要考虑混合部署的取舍,但无论训练还是部署,判断模型效果都要回到混淆矩阵看错在哪。即便是视频生成这类「抽卡」式任务,用户反复尝试的背后也隐含着「这次生成能不能用」的接受阈值,本质还是对输出质量的一次判断。看懂混淆矩阵,你就多了一把衡量模型真实表现的尺子。

它不告诉你什么

混淆矩阵把错误摊开了,但它不回答两个问题:一是模型为什么错,二是这种错值多少钱。前者要靠数据、特征、训练过程去定位;后者是业务判断,矩阵只给数量,不给代价。多分类问题里它还会从四格扩展成更大的方阵,读起来更费劲。所以混淆矩阵是定位的起点,不是终点——它告诉你「哪里不对」,接下来怎么改、值不值得改,还要结合业务再往下走。

速查:混淆矩阵一句话

  • 作用:把预测结果拆成四格,看清模型错在哪、错多少。
  • 真阳性 / 真阴性:判对了的两格。
  • 假阳性:误报,正常被判成异常。
  • 假阴性:漏报,异常被判成正常。

反馈页面信息

请描述需要更正的地方,页面标题和网址会自动附上。

也可以发邮件至 [email protected]