【漫话机器学习系列】070.汉明损失(Hamming Loss)

news/2025/1/31 5:08:48/

汉明损失(Hamming Loss)

汉明损失是多标签分类问题中的一种评价指标,用于衡量预测结果与实际标签之间的差异。它定义为预测错误的标签比例,即错误标签的个数占总标签数量的比值。

在多标签分类中,每个样本可以属于多个类别,因此汉明损失对每个样本的每个类别进行独立评估,而不关心类别之间的相关性。


公式

假设:

  • n 是样本总数。
  • L 是类别总数。
  • 是第 i 个样本的真实标签向量。
  • 是第 i 个样本的预测标签向量。

汉明损失的定义为:

其中:

  • 是指示函数,当真实标签 与预测标签 不相等时,取值为 1,否则为 0。

汉明损失的取值范围为 [0, 1],值越小表示预测越准确。


解释

  • 全对:如果预测完全正确(每个样本的每个标签都正确),汉明损失为 0。
  • 全错:如果预测完全错误(所有标签都被错误预测),汉明损失为 1。

示例

假设有 3 个样本和 4 个类别(标签):

真实标签矩阵 Y:

预测标签矩阵

逐元素比较错误标签数:

错误标签总数为 3,总标签数为

汉明损失:


代码实现

以下是 Python 中的实现代码:

import numpy as np
from sklearn.metrics import hamming_loss# 定义真实标签矩阵和预测标签矩阵
Y = np.array([[1, 0, 1, 0],[0, 1, 1, 0],[1, 1, 0, 0]
])Y_pred = np.array([[1, 0, 0, 0],[0, 1, 0, 0],[1, 0, 0, 0]
])# 计算汉明损失
hamming_loss_value = hamming_loss(Y, Y_pred)
print("汉明损失:", hamming_loss_value)

 

运行结果:

汉明损失: 0.25

 


优点

  1. 适用于多标签分类:汉明损失能够很好地处理多标签分类任务中的标签不平衡问题。
  2. 直观:它计算错误标签的比例,容易理解和解释。

缺点

  1. 忽略标签相关性:汉明损失将每个标签独立处理,无法捕捉类别之间的关系。
  2. 对类别数敏感:类别数多时,错误标签可能占比更高。

应用场景

  1. 多标签分类问题:如文本分类(一个文本可能属于多个类别)。
  2. 多目标预测问题:如图像标注(图像可能含有多种物体标签)。

汉明损失是多标签分类中一种重要的评价指标,通常与其他指标(如准确率、宏平均 F1 值等)结合使用,以全面评估模型性能。

 


http://www.ppmy.cn/news/1568071.html

相关文章

【反悔堆】【hard】力扣871. 最低加油次数

汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处。 沿途有加油站,用数组 stations 表示。其中 stations[i] [positioni, fueli] 表示第 i 个加油站位于出发位置东面 positioni 英里处,并且有 fueli 升汽油。 假设汽车油…

蓝桥杯算法日常|c\c++常用竞赛函数总结备用

一、字符处理相关函数 大小写判断函数 islower和isupper:是C标准库中的字符分类函数,用于检查一个字符是否为小写字母或大写字母,需包含头文件cctype.h(也可用万能头文件包含)。返回布尔类型值。例如: #…

C++ Lambda 表达式的本质及原理分析

目录 1.引言 2.Lambda 的本质 3.Lambda 的捕获机制的本质 4.捕获方式的实现与底层原理 5.默认捕获的实现原理 6.捕获 this 的机制 7.捕获的限制与注意事项 8.总结 1.引言 C 中的 Lambda 表达式是一种匿名函数,最早在 C11 引入,用于简化函数对象的…

INCOSE需求编写指南-附录 D: 交叉引用矩阵

附录 Appendix D: 交叉引用矩阵 Cross Reference Matrices Rules to Characteristics Cross Reference Matrix NRM Concepts and Activities to Characteristics Cross Reference Matrix Part 1 NRM Concepts and Activities to Characteristics Cross Reference Matrix Part…

计算机网络 (54)系统安全:防火墙与入侵检测

前言 计算机网络系统安全是确保网络通信和数据不受未经授权访问、泄露、破坏或篡改的关键。防火墙和入侵检测系统(IDS)是维护网络系统安全的两大核心组件。 一、防火墙 定义与功能 防火墙是一种用来加强网络之间访问控制的特殊网络互联设备,它…

【物联网】ARM核常用指令(详解):数据传送、计算、位运算、比较、跳转、内存访问、CPSR/SPSR、流水线及伪指令

文章目录 指令格式(重点)1. 立即数2. 寄存器位移 一、数据传送指令1. MOV指令2. MVN指令3. LDR指令 二、数据计算指令1. ADD指令1. SUB指令1. MUL指令 三、位运算指令1. AND指令2. ORR指令3. EOR指令4. BIC指令 四、比较指令五、跳转指令1. B/BL指令2. l…

pytorch逻辑回归实现垃圾邮件检测

完整代码: import torch import torch.nn as nn import torch.optim as optim from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score import numpy as…

如何实现gitlab和jira连通

将 GitLab 和 Jira 集成起来可以实现开发任务与代码变更的联动,提高团队协作效率。以下是实现两者连通的详细步骤: 1. 确保必要条件 在进行集成之前,确保以下条件满足: 你有 GitLab 和 Jira 的管理员权限。Jira 是 Jira Cloud 或…