当前位置: 首页 > article >正文

混淆矩阵 confusion matrix 怎么看 -- 识别涉黄图片的二分类为例 - 识别毒品的多分类案例解释

在这里插入图片描述


一、什么是混淆矩阵?

混淆矩阵(Confusion Matrix)是用来评估 分类模型 性能的工具,特别适用于二分类多分类问题。它通过一个矩阵的形式,展示 模型预测结果与真实结果的对比情况

  1. 混淆矩阵的作用
    • 直观地展示分类器的预测结果与实际结果的对比。
    • 帮助我们计算分类器的性能指标(如准确率、精确率、召回率等)。
  2. 适用场景
    • 垃圾邮件分类、疾病诊断(如预测是否患病)、信用卡欺诈检测等分类问题。
  3. 案例分析
    • 在垃圾邮件分类的例子中,混淆矩阵清晰地展示了分类器的优点(较高的准确率)和缺点(漏报了一些垃圾邮件)。

通过混淆矩阵,我们可以更全面地了解 分类器 的表现,而不仅仅依赖于单一的准确率指标。

混淆矩阵的基本结构(以二分类为例):
实际为正 (Positive)实际为负 (Negative)
预测为正 (Positive)真正例 (TP)假正例 (FP)
预测为负 (Negative)假负例 (FN)真负例 (TN)
  • TP(True Positive):模型预测为正,实际也是正。
  • FP(False Positive):模型预测为正,但实际是负(“误报”)。
  • FN(False Negative):模型预测为负,但实际是正(“漏报”)。
  • TN(True Negative):模型预测为负,实际也是负。

在这里插入图片描述

混淆矩阵案例:识别涉黄图片

场景:识别涉黄内容

假设我们开发了一款内容审核系统,用于识别用户上传的图片是否涉及“涉黄内容”(正类:涉黄,负类:正常内容)。我们用混淆矩阵来分析模型的表现


一、案例背景

  1. 任务:系统需要判断一张图片是否为涉黄内容。
  2. 数据
    • 实际涉黄图片:50张
    • 实际正常图片:50张
    • 总共测试了100张图片。
  3. 模型预测结果
    • 预测为涉黄:40张
    • 预测为正常:60张

二、混淆矩阵

根据模型的预测结果和实际情况,我们可以构建如下混淆矩阵:

实际涉黄 (Positive)实际正常 (Negative)
预测为涉黄 (Positive)35(TP5(FP
预测为正常 (Negative)15(FN45(TN
各项解释:
  1. 真正例(TP = 35
    • 模型正确地识别了35张涉黄图片。
  2. 假正例(FP = 5
    • 模型错误地将5张正常图片识别为涉黄内容(“误报”)。
  3. 假负例(FN = 15
    • 模型漏掉了15张涉黄图片,误认为它们是正常内容(“漏报”)。
  4. 真负例(TN = 45
    • 模型正确地识别了45张正常图片。

三、模型性能评估

通过混淆矩阵,可以计算一些关键指标来评估模型的性能:

  1. 准确率(Accuracy)

    • 定义:模型预测正确的比例。
    • 公式:
      Accuracy = T P + T N T P + F P + F N + T N \text{Accuracy} = \frac{TP + TN}{TP + FP + FN + TN} Accuracy=TP+FP+FN+TNTP+TN
    • 计算:
      Accuracy = 35 + 45 35 + 5 + 15 + 45 = 80 100 = 80 % \text{Accuracy} = \frac{35 + 45}{35 + 5 + 15 + 45} = \frac{80}{100} = 80\% Accuracy=35+5+15+4535+45=10080=80%
  2. 精确率(Precision)

    • 定义:在所有预测为涉黄的图片中,实际为涉黄的比例。
    • 公式:
      Precision = T P T P + F P \text{Precision} = \frac{TP}{TP + FP} Precision=TP+FPTP
    • 计算:
      Precision = 35 35 + 5 = 35 40 = 87.5 % \text{Precision} = \frac{35}{35 + 5} = \frac{35}{40} = 87.5\% Precision=35+535=4035=87.5%
  3. 召回率(Recall)

    • 定义:在所有实际为涉黄的图片中,模型正确识别的比例。
    • 公式:
      Recall = T P T P + F N \text{Recall} = \frac{TP}{TP + FN} Recall=TP+FNTP
    • 计算:
      Recall = 35 35 + 15 = 35 50 = 70 % \text{Recall} = \frac{35}{35 + 15} = \frac{35}{50} = 70\% Recall=35+1535=5035=70%
  4. F1分数(F1 Score)

    • 定义:精确率和召回率的调和平均值。
    • 公式:
      F1 = 2 × Precision × Recall Precision + Recall \text{F1} = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} F1=2×Precision+RecallPrecision×Recall
    • 计算:
      F1 = 2 × 0.875 × 0.7 0.875 + 0.7 = 2 × 0.6125 1.575 = 0.777 \text{F1} = 2 \times \frac{0.875 \times 0.7}{0.875 + 0.7} = 2 \times \frac{0.6125}{1.575} = 0.777 F1=2×0.875+0.70.875×0.7=2×1.5750.6125=0.777

四、分析与改进

  1. 模型优点

    • 准确率为80%,说明模型整体表现较好。
    • 精确率为87.5%,说明模型预测为涉黄的图片中,大部分确实是涉黄内容(误报较少)。
  2. 模型缺点

    • 召回率为70%,说明模型漏掉了30%的涉黄图片(漏报较多)。
    • 在实际应用中,漏报的涉黄内容可能会带来严重后果,因此需要进一步优化模型的召回率。
      精确率和召回率的区别
  3. 改进方向

    • 增加训练数据,特别是涉黄图片的样本数量。
    • 调整模型的阈值,使其更倾向于识别为涉黄内容(即减少漏报,哪怕增加一些误报)。

五、总结

通过混淆矩阵,我们可以清晰地看到模型在识别涉黄内容时的优缺点:

  • 优点:模型在预测为涉黄时,大部分是正确的(高精确率)。
  • 缺点:模型漏掉了一些涉黄内容(召回率较低)。
  • 实际意义:在黄赌毒等敏感领域,漏报往往比误报更严重,因此需要优先优化召回率,确保敏感内容不被遗漏。

混淆矩阵为我们提供了全面的模型性能评估工具,帮助我们针对具体问题进行优化和改进。


在这里插入图片描述

混淆矩阵在多分类问题中的应用

在多分类问题中,混淆矩阵的结构会扩展为一个 n × n n \times n n×n 的矩阵,其中 n n n 是分类的类别数。每一行表示 实际类别,每一列表示 预测类别,矩阵中的每个元素表示某个实际类别被预测为某个类别的次数。


一、通俗易懂的多分类案例

场景:毒品类型识别

假设我们开发了一款毒品检测系统,用于识别某些物品是否属于以下三种毒品类型:

  1. A类毒品(如海洛因)
  2. B类毒品(如冰毒)
  3. C类毒品(如大麻)

系统会根据输入的物品特征,预测其所属类别。我们用混淆矩阵来分析模型的表现。


二、案例数据

测试数据:

我们测试了30个样本,实际类别和模型预测结果如下:

  • 实际类别
    • A类毒品:10个
    • B类毒品:10个
    • C类毒品:10个
  • 模型预测结果
    • A类毒品:8个预测正确,2个被误判为B类。
    • B类毒品:7个预测正确,2个被误判为A类,1个被误判为C类。
    • C类毒品:9个预测正确,1个被误判为B类。

三、混淆矩阵

根据上述数据,混淆矩阵如下:

实际类别 \ 预测类别A类毒品B类毒品C类毒品
A类毒品820
B类毒品271
C类毒品019
各项解释:
  1. 对角线元素(8、7、9):表示模型预测正确的样本数。
    • A类毒品:8个预测正确。
    • B类毒品:7个预测正确。
    • C类毒品:9个预测正确。
  2. 非对角线元素:表示模型的误判情况。
    • A类毒品中有2个被误判为B类。
    • B类毒品中有2个被误判为A类,1个被误判为C类。
    • C类毒品中有1个被误判为B类。

四、模型性能评估

在多分类问题中,我们可以计算以下指标:

1. 总体准确率(Accuracy)
  • 定义:所有预测正确的样本占总样本的比例。
  • 公式:
    Accuracy = 预测正确的样本数 总样本数 \text{Accuracy} = \frac{\text{预测正确的样本数}}{\text{总样本数}} Accuracy=总样本数预测正确的样本数
  • 计算:
    Accuracy = 8 + 7 + 9 30 = 24 30 = 80 % \text{Accuracy} = \frac{8 + 7 + 9}{30} = \frac{24}{30} = 80\% Accuracy=308+7+9=3024=80%
2. 每类的精确率(Precision)
  • 定义:某一类别中,预测为该类别的样本中实际正确的比例。
  • 公式:
    Precision i = TP i TP i + FP i \text{Precision}_i = \frac{\text{TP}_i}{\text{TP}_i + \text{FP}_i} Precisioni=TPi+FPiTPi
  • 计算:
    • A类毒品:
      Precision A = 8 8 + 2 = 8 10 = 80 % \text{Precision}_A = \frac{8}{8 + 2} = \frac{8}{10} = 80\% PrecisionA=8+28=108=80%
    • B类毒品:
      Precision B = 7 7 + 3 = 7 10 = 70 % \text{Precision}_B = \frac{7}{7 + 3} = \frac{7}{10} = 70\% PrecisionB=7+37=107=70%
    • C类毒品:
      Precision C = 9 9 + 1 = 9 10 = 90 % \text{Precision}_C = \frac{9}{9 + 1} = \frac{9}{10} = 90\% PrecisionC=9+19=109=90%
3. 每类的召回率(Recall)
  • 定义:某一类别中,实际为该类别的样本中被正确预测的比例。
  • 公式:
    Recall i = TP i TP i + FN i \text{Recall}_i = \frac{\text{TP}_i}{\text{TP}_i + \text{FN}_i} Recalli=TPi+FNiTPi
  • 计算:
    • A类毒品:
      Recall A = 8 8 + 2 = 8 10 = 80 % \text{Recall}_A = \frac{8}{8 + 2} = \frac{8}{10} = 80\% RecallA=8+28=108=80%
    • B类毒品:
      Recall B = 7 7 + 3 = 7 10 = 70 % \text{Recall}_B = \frac{7}{7 + 3} = \frac{7}{10} = 70\% RecallB=7+37=107=70%
    • C类毒品:
      Recall C = 9 9 + 1 = 9 10 = 90 % \text{Recall}_C = \frac{9}{9 + 1} = \frac{9}{10} = 90\% RecallC=9+19=109=90%
4. F1分数(F1 Score)
  • 定义:精确率和召回率的调和平均值。
  • 公式:
    F1 i = 2 × Precision i × Recall i Precision i + Recall i \text{F1}_i = 2 \times \frac{\text{Precision}_i \times \text{Recall}_i}{\text{Precision}_i + \text{Recall}_i} F1i=2×Precisioni+RecalliPrecisioni×Recalli
  • 计算:
    • A类毒品:
      F1 A = 2 × 0.8 × 0.8 0.8 + 0.8 = 0.8 \text{F1}_A = 2 \times \frac{0.8 \times 0.8}{0.8 + 0.8} = 0.8 F1A=2×0.8+0.80.8×0.8=0.8
    • B类毒品:
      F1 B = 2 × 0.7 × 0.7 0.7 + 0.7 = 0.7 \text{F1}_B = 2 \times \frac{0.7 \times 0.7}{0.7 + 0.7} = 0.7 F1B=2×0.7+0.70.7×0.7=0.7
    • C类毒品:
      F1 C = 2 × 0.9 × 0.9 0.9 + 0.9 = 0.9 \text{F1}_C = 2 \times \frac{0.9 \times 0.9}{0.9 + 0.9} = 0.9 F1C=2×0.9+0.90.9×0.9=0.9

五、分析与改进

1. 模型优点
  • 总体准确率为80%,说明模型整体表现较好。
  • C类毒品 的识别效果最好(精确率和召回率均为90%)。
2. 模型缺点
  • B类毒品 的识别效果较差(精确率和召回率均为70%),存在较多误判和漏判。
  • A类毒品B类毒品 之间的误判较多,可能是因为它们的特征相似。
3. 改进方向
  • 增加训练数据,特别是 A类B类毒品 的样本。
  • 优化模型的特征提取能力,增强对 A类B类毒品 的区分能力。
  • 调整模型的分类阈值,减少误判和漏判。

http://www.kler.cn/a/508240.html

相关文章:

  • 【Go】Go数据类型详解—指针
  • 【Go】Go Gorm 详解
  • Python GUI Pyside6 实例笔记
  • Linux查看日志命令
  • 【Flink系列】4. Flink运行时架构
  • Nginx 如何设置 Upgrade-Insecure-Requests 报头 ?
  • Freeswitch使用media_bug能力实现回铃音检测
  • [创业之路-249]:《华为流程变革:责权利梳理与流程体系建设》核心内容
  • 【GIS系列】打造3维GIS数字孪生效果系统:Cesium+Mapbox+SpringBoot完美实现解析
  • Spring Boot--@PathVariable、@RequestParam、@RequestBody
  • 如何使用 Go语言操作亚马逊 S3 对象云存储
  • 【Cesium入门教程】第一课:Cesium简介与快速入门详细教程
  • 机器学习——集成学习、线性模型、支持向量机、K近邻、决策树、朴素贝叶斯、虚拟分类器分析电动车数据集Python完整代码
  • boss直聘 __zp_stoken__ 分析
  • 【Unity3D】远处的物体会闪烁问题(深度冲突) Reversed-Z
  • 【Go】Go Gorm 详解
  • Ardupilot开源无人机之Geek SDK进展2024
  • ThinkPHP 8的一对多关联
  • 花样贪吃蛇
  • (即插即用模块-Attention部分) 四十四、(ICIP 2022) HWA 半小波注意力
  • DevUI 2024 年度运营报告:开源生态的成长足迹与未来蓝图
  • vue v-if和key值的注意的地方
  • 跨站请求伪造(CSRF)介绍
  • 多监控m3u8视频流,怎么获取每个监控的封面图(纯前端)
  • redis做为缓存,mysql的数据如何与redis进行同步呢?
  • c#函数式编程