多分类逻辑回归混淆矩阵
文章目录前言它是什么示例三分类问题类别猫、狗、兔主要用途直观展示全局错误分布计算多分类评估指标识别“易混淆”的类别模型偏差发现“类别不平衡”的影响准确率总体准确率平均准确率加权平均准确率对比前言多分类逻辑回归混淆矩阵是用于评估多分类模型例如逻辑回归扩展到多类情况如Softmax回归性能的一种特定表格布局。例如:它是什么混淆矩阵是一个N × N N \times NN×N的矩阵其中N NN是类别的数量用于比较模型预测结果与真实标签之间的差异。行通常代表真实的类别实际值。列通常代表模型预测的类别预测值。单元格矩阵中的每个单元格C i j C_{ij}Cij​表示“真实类别为i ii但被模型预测为类别j jj”的样本数量。示例三分类问题类别猫、狗、兔假设我们有一个包含100个样本的测试集混淆矩阵可能如下所示真实\预测猫狗兔猫1532狗4251兔2345对角线15, 25, 45都是预测正确的情况。非对角线都是预测错误的情况。eg. 第二行第一列的 4 表示“有4只真实的狗被错误地预测成了猫”。主要用途混淆矩阵不仅仅是一张数字表它对于理解模型在多分类问题中的表现至关重要因为它能揭示比简单准确率更丰富的信息。直观展示全局错误分布只看准确率Accuracy你可能只知道模型在测试集上正确率是 85%对角线和除以总数。但混淆矩阵能告诉你错误都发生在哪些类别之间。eg. 从上面的矩阵可以看出模型经常混淆“猫”和“狗”但很少把“猫”和“兔”混淆。计算多分类评估指标基于混淆矩阵可以为每个类别计算以下关键指标精确率预测为该类别的样本中有多少是真正正确的。eg. 精确率——“预测为猫的里面有多少是真的猫”精确率 对角线元素 该列的总和 \text{精确率} \frac{\text{对角线元素}}{\text{该列的总和}}精确率该列的总和对角线元素​针对“猫”15 15 4 2 0.714 \frac{15}{1542}0.714154215​0.714召回率真实为该类别的样本中有多少被正确找出来了。eg. 召回率——“真实为猫的里面有多少被正确预测出来了”召回率 对角线元素 该行的总和 \text{召回率} \frac{\text{对角线元素}}{\text{该行的总和}}召回率该行的总和对角线元素​针对“猫”15 15 3 2 0.75 \frac{15}{1532}0.75153215​0.75F1分数精确率和召回率的调和平均。F1 2 × 精确率 × 召回率 精确率 召回率 \text{F1} \frac{2 \times \text{精确率} \times \text{召回率}}{\text{精确率} \text{召回率}}F1精确率召回率2×精确率×召回率​针对“猫”2 × 0.714 × 0.75 0.714 0.75 ≈ 0.731 \frac{2 \times 0.714 \times 0.75}{0.714 0.75} \approx 0.7310.7140.752×0.714×0.75​≈0.731识别“易混淆”的类别模型偏差这是混淆矩阵最重要的诊断功能。如果你发现某两个类别比如“狼”和“哈士奇”之间的非对角线数字特别高这意味着特征相似性模型无法有效区分这两个类别可能是因为它们的特征过于相似或者训练数据中这两个类别的区分度不够。数据不平衡某个类别样本太少导致模型倾向于将其预测为样本多的那个大类。发现“类别不平衡”的影响通过观察矩阵的行和与列和可以判断模型是否偏向于多数类。如果某个类别的样本数行和远大于其他类别但模型表现不佳混淆矩阵会显示模型倾向于把别的类预测为这个大类。准确率为了方便阅读再次列出矩阵和之前算出的每类指标真实\预测猫狗兔样本总数行和猫153220狗425130兔234550预测总数列和213148100总计每类的性能指标猫精确率 P c ≈ 0.714 15 / 21 召回率 R c 0.75 F 1 ≈ 0.731 狗精确率 P d ≈ 0.806 25 / 31 召回率 R d ≈ 0.833 25 / 30 F 1 ≈ 0.819 兔精确率 P r ≈ 0.938 45 / 48 召回率 R r 0.9 45 / 50 F 1 ≈ 0.918 \text{猫}\text{精确率 }P_c \approx 0.714 15/21\text{召回率 }R_c 0.75 F1 ≈ 0.731 \\ \text{狗}\text{精确率 }P_d \approx 0.806 25/31\text{召回率 }R_d \approx 0.833 25/30F1 ≈ 0.819 \\ \text{兔}\text{精确率 }P_r \approx 0.938 45/48\text{召回率 }R_r 0.9 45/50F1 ≈ 0.918\\猫精确率Pc​≈0.71415/21召回率Rc​0.75F1≈0.731狗精确率Pd​≈0.80625/31召回率Rd​≈0.83325/30F1≈0.819兔精确率Pr​≈0.93845/48召回率Rr​0.945/50F1≈0.918总体准确率在讲两种平均之前先明确最简单的总体准确率作为参照公式 所有预测正确的样本数 总样本数 计算 15 25 45 100 85 100 0.85 \text{公式} \frac{\text{所有预测正确的样本数}}{\text{总样本数}}\\[10pt] \text{计算} \frac{15 25 45}{100} \frac{85}{100} \mathbf{0.85}\\[10pt]公式总样本数所有预测正确的样本数​计算100152545​10085​0.85含义为整体上有 85% 的样本被正确分类。平均准确率这里容易和上面的总体准确率混淆需要注意区分。别名宏平均准确率计算方式先分别算出每一类的准确率注意是每一类的准确率不是精确率然后对所有类取算术平均。每一类的准确率 该类预测正确的数量 / 该类真实的总数量运算步骤1. 猫的准确率 15 / 20 0.75 2. 狗的准确率 25 / 30 ≈ 0.833 3. 兔的准确率 45 / 50 0.9 4. 平均准确率 0.75 0.833 0.9 3 ≈ 2.483 3 0.828 \text{1. 猫的准确率} 15 / 20 0.75\\[10pt] \text{2. 狗的准确率} 25 / 30 \approx 0.833\\[10pt] \text{3. 兔的准确率} 45 / 50 0.9\\[10pt] \text{4. 平均准确率} \frac{0.75 0.833 0.9}{3} \approx \frac{2.483}{3} \mathbf{0.828}\\[10pt]1.猫的准确率15/200.752.狗的准确率25/30≈0.8333.兔的准确率45/500.94.平均准确率30.750.8330.9​≈32.483​0.828为什么是0.828而不是总体准确率的0.85原因平均准确率给每个类别赋予了相同的权重各占 1/3。虽然“兔”类表现很好0.9且样本多但“猫”类表现较差0.75且样本少。在计算平均准确率时“猫”类差的表现在权重上被提升到了和“兔”类一样高因此分数被拉低到了 0.828。加权平均准确率别名加权宏平均准确率计算方式先算出每一类的准确率然后用该类样本数量占总数的比例作为权重进行加权平均。运算步骤各类权重猫20/100 0.2狗30/100 0.3兔50/100 0.5加权计算加权平均准确率 ( 0.75 × 0.2 ) ( 0.833 × 0.3 ) ( 0.9 × 0.5 ) 0.15 0.2499 0.45 ≈ 0.85 \begin{aligned} \text{加权平均准确率} (0.75 \times 0.2) (0.833 \times 0.3) (0.9 \times 0.5) \\ 0.15 0.2499 0.45 \\ \approx \mathbf{0.85} \end{aligned}加权平均准确率​(0.75×0.2)(0.833×0.3)(0.9×0.5)0.150.24990.45≈0.85​发现了吗这里的 0.85 正好等于最开始的总体准确率原因加权平均准确率本质上就是在计算总体准确率只是换了一种拆分再求和的形式。因为每一类的准确率乘以该类样本权重实际上就是在计算该类正确分类的样本数占总数的比例求和后自然等于总体准确率。对比为了更直观地对比这几个指标的区别可以看下面这张表指标计算核心特点适用场景总体准确率正确的总数 / 总数容易被大类别主导类别均衡时的快速参考平均准确率各类准确率的算术平均平等对待每个类别小类别的表现和大类别一样重要关注小类、数据不平衡、需要保守评估时加权平均准确率各类准确率的加权平均按样本量加权结果等于总体准确率官方报告常用反映按样本量加权后的综合表现回到“猫狗兔”的例子思考如果只看总体准确率0.85可能会觉得模型还不错。但如果查看平均准确率0.828就会发现模型在少数类猫上的表现其实拖了后腿不如多数类兔那么理想。平均准确率正是帮助捕捉到这种差异的工具。

相关新闻

石头也能生成PDF?这行代码直接把HTML怼成PDF,太狠了

石头也能生成PDF?这行代码直接把HTML怼成PDF,太狠了

it is a title Stone Giant ...Stone Giant...以一团石头...由2017编写, <类型为“文本/Java”>, &#xff08;.主体, 关于那: &#xff08;&#xff09;{.主体的&#xff08;&#xff09;}进行构建&#xff09;。这个例子将页面body中的元素渲染成&#xff0c;并插入到b…

2026/10/24 3:27:22 阅读更多 →
协议层防篡改实战:签名验签、抗重放与密钥轮换构建安全通信

协议层防篡改实战:签名验签、抗重放与密钥轮换构建安全通信

1. 项目概述&#xff1a;为什么协议层的防篡改是安全基石在分布式系统、微服务交互乃至物联网设备通信中&#xff0c;数据在网络上流动时&#xff0c;就像一封明信片在邮递系统中传递。任何中间环节&#xff0c;理论上都可能被窥探、被截获、甚至被恶意篡改。我们常常花大力气在…

2026/10/26 14:21:12 阅读更多 →
jupyter-notebook 命令执行 (CVE-2019-9644)

jupyter-notebook 命令执行 (CVE-2019-9644)

访问web网址点击new键&#xff0c;发现Terminal&#xff08;终端&#xff09;点击进入&#xff0c;输入whoami输入cd /tmp输入ls,得到flag

2026/10/25 15:07:05 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年&#xff0c;我大部分时间都在跟浏览器标签页打交道&#xff0c;直到第一次把桌面应用跑起来&#xff0c;才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词&#xff0c;最开始是在某段时间频繁出现在同事的讨论里&#xff0c;一个用HTML…

2026/10/27 17:33:32 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介&#xff1a;亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档&#xff0c;主要面向智能锁安装人员、终端用户及售后维护者&#xff0c;帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件&#xff0c;大小4.37MB&#xff0c;内容结构清晰&#xff…

2026/10/27 4:06:49 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统&#xff0c;整车要求空载跑到8m/s&#xff0c;电机转速已经拉到额定点&#xff0c;驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令&#xff0c;转速纹丝不动&#xff0c;三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/27 7:21:53 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年&#xff0c;用它写过嵌入式驱动、做过游戏服务端&#xff0c;也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词&#xff0c;我其实挺感慨的——这门语言的难点从来不是语法多&#xff0c;而是知识点之间的耦合太深…

2026/10/27 18:20:50 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介&#xff1a;亚太天能T109滑盖智能锁产品说明书以PDF格式发布&#xff0c;适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开&#xff0c;先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能&#xff0c;再给出完整安装步骤&…

2026/10/27 6:20:47 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历&#xff1a;翻开源码注释、论文摘要或者一份专业报告&#xff0c;每个字都认识&#xff0c;连在一起却像天书。想找人聊聊&#xff0c;身边要么没人懂&#xff0c;要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型&#xff0c;几秒钟之后&a…

2026/10/27 4:06:50 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 13:55:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 7:21:50 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 19:19:37 阅读更多 →