汉明距离、汉明损失详解及代码(python)

多标签损失之Hamming Loss(PyTorch和sklearn)、Focal Loss、交叉熵和ASL损失 多标签损失 阅读详情
AI摘要

本文详细介绍了汉明距离和汉明损失的概念及其在机器学习中的应用,并提供了Python代码示例帮助理解。

引言

汉明距离是机器学习中的常用度量。本文整理了具体的图示+代码,帮你形象化理解汉明距离(Hamming distance)、汉明损失(Hamming loss)。

汉明距离(Hamming distance)

定义:两个等长的符号串之间的汉明距离是对应符号不同的位置个数。

汉明距离是用于测量两个序列之间的编辑距离的几个字符串度量之一。它以美国数学家理查德·海明命名。

在这里插入图片描述
比如例子中第一行,符号不同的位置是"rol"和"thr",即符号不同位置有3个,汉明距离为3。

代码示例

用python计算两个字符串之间的汉明距离:

# 写法一:
def hamming_distance(string1, string2):
	dist_counter = 0
	for n in range(len(string1)):
		if string1[n] != string2[n]:
			dist_counter += 1
	return dist_counter

# 写法二:或者采用更短的表达式
sum(xi != yi for xi, yi in zip(x, y))

汉明损失(Hamming loss)

汉明损失是错误预测的标签比例,用于度量两个样本之间的汉明距离。

L H a m m i n g ( y , y ^ ) = 1 n labels ∑ j = 0 n labels − 1 1 ( y ^ j ≠ y j ) L_{Hamming}(y, \hat{y}) = \frac{1}{n_\text{labels}} \sum_{j=0}^{n_\text{labels} - 1} 1(\hat{y}_j \not= y_j) L

Python实战:用汉明距离和汉明损失优化你的文本比对算法(附sklearn代码) 本文详细介绍了如何使用Python中的汉明距离和汉明损失优化文本比对算法,包括基础实现、性能优化技巧及实际应用案例。通过scikit-learn代码示例,帮助开发者高效处理文本相似度计算、拼写检查和多标签分类评估等任务,提升算法性能。 阅读详情

相关推荐

图像检索系列——利用 Python 检测图像相似度!

前言 最近在做一个海量图片检索的项目,可以简单的理解为“以图搜图”,这个功能一开始是搜索引擎带火的,但是后来在电商领域变得非常实用。在制作这个图片检索的项目前,笔者搜索了一些资料,如今项目临近结尾,便在这里做一些简单的分享。本文先介绍图像检索最基础的一部分知识——利用 Python 检测图像相似度。 提到检测“某某”的相似度相信很多人第一想法就是将需要比较的东西构建成两个向量,然后利用余弦相似...

Pythoncxy的博客 1657

Python实现汉明距离计算算法

我们可以逐个比较s1和s2中对应位置上的字符是否相同,如果不同,则汉明距离加1。最终,汉明距离就是两个字符串不同字符的个数。汉明距离是指两个等长字符串之间对应位置的不同字符的个数,是一种衡量字符串相似度的方法。在本文中,我们介绍了汉明距离的计算方式,并使用Python实现了这个算法。汉明距离是字符串相似度的一种常用度量方法,它在信息学、编码理论、密码学等领域有广泛应用。它们之间的汉明距离应该是2,因为第三个字符和第四个字符不同。可以看到,我们成功地计算出了这两个字符串之间的汉明距离。

与其临渊羡鱼,不如退而结网 1194

1.3 机器学习基础-常见函数及优化算法

但是,Sigmoid函数在输入值比较大或比较小时,梯度会变得非常小,从而导致梯度消失的问题,因此在较深的网络中很少使用。汉明损失函数是一种多标签分类问题中的损失函数,它衡量模型预测结果与真实结果之间的汉明距离(即模型预测的标签和真实标签不相同的数量)。Swish函数在ReLU函数的基础上加入了sigmoid函数的非线性特性,其表现优于ReLU函数,但是计算代价稍大。优化算法是深度学习训练过程中至关重要的一部分,它的作用是通过调整模型参数来最小化损失函数,从而达到训练模型的目的。

u010940941的博客 598

深度跨模态哈希检索从原理到落地:双塔结构、汉明距离与mAP实战

多模态检索是推荐系统与内容理解的基础能力,而跨模态哈希通过将图像和文本编码为紧凑二值码,能在保持语义对齐的同时大幅降低存储与计算成本,成为千万级数据规模下的高效方案。其核心在于双塔网络分别提取模态特征,以成对损失约束相似语义映射到相近哈希码,并借助汉明距离快速排序召回。工程实现涉及特征二值化、相似度矩阵构造、训练稳定性调优等关键问题,常用Flickr25K等公开数据集验证检索精度。本文从模型选型、数据预处理到训练评估,系统梳理跨模态哈希检索的完整链路,并给出避坑指南,帮助开发者快速搭建可复现的图文互搜系统。

weixin_29035405的博客 313

MATLAB实战:5步搞定GNSS单点定位解算(附完整代码)

本文提供了一份基于MATLAB的GNSS单点定位实战指南。通过5个核心步骤,详细讲解了如何从卫星坐标和伪距观测值出发,利用最小二乘迭代算法,构建并实现一个完整的单点定位解算器。文章附有完整代码,并涵盖精度评估与结果分析,适合GNSS初学者和MATLAB用户快速上手实践。

a2b3c4d5e的博客 249

告别机载网络通信混乱:利用ARINC825的LCC与带宽管理机制构建高可靠CAN总线

本文深入探讨了ARINC825规范如何通过逻辑通信通道(LCC)和带宽管理机制解决机载CAN总线通信的混乱问题。文章详细解析了ARINC825的核心架构设计、LCC工程实现、时间触发带宽管理等关键技术,展示了其在提升航空电子系统可靠性和实时性方面的显著效果,为现代飞机通信系统提供了高可靠解决方案。

weixin_26878995的博客 241

java对接海康实现页面实时播放和回放

前言:之前已经写过一篇关于视频的文章,因为觉得有很多优化的地方,也谢谢同行们加我微信跟我提了一些需求和意见,所以在过年的假期重新写了一个比较能扩张的版本。 上一个版本的连接:https://blog.youkuaiyun.com/weixin_45848110/article/details/119363602 与之前的版本不同之处: 1.不需要安装ffmpeg 2.不需要安装nginx 3.直接运行jar即可 4.之前是完全脱离海康sdk,回放的录像是保存到本地服务,现在是直接在海康硬盘录像机获取录像回放 5.实时播

weixin_45848110的博客 1万+

西电计组实验二 运算器实验

算术逻辑运算实验 一.实验目的   1.了解简单运算器的数据传输通路。   2.验证运算功能发生器的组合功能。   3.掌握算术逻辑运算加、减、与的工作原理。   4.验证实验台运算的8位加、减、与、直通功能。   5.按给定数据,完成几种指定的算术和逻辑运算。 二.实验原理   算术逻辑单元ALU的数据通路如图2-1所示。其中运算器ALU181根据74LS181的功能用VHDL硬件描述语言编辑而成,构成8位字长的ALU。参加运算的两个8位数据分别为A[7…0]和B[7…0],运算模式由S[3…0]的16种

Polaris的博客 1万+

【ESP32接入国产大模型之Deepseek】

🥳🥳🥳现在,我们在本教程中,您学习了如何使用ESP32接入语言大模型之Deepseek。🛹🛹🛹从而实现对外部世界进行感知,充分认识这个有机与无机的环境,后期会持续分享esp32跑freertos实用案列🥳🥳🥳科学地合理地进行创作和发挥效益,然后为人类社会发展贡献一点微薄之力。🤣🤣🤣如果你有任何问题,可以通过q group(945348278)加入鹏鹏小分队,期待与你思维的碰撞😘😘😘鸣谢B站UP星汇极客ESP32对接DeepSeek API,实现AI大模型交互功能。

vor234的博客 1万+

作物生长模型Oryza V3实战2:下载、安装与使用

摘要:ORYZA 现在的应用范围已从单一水稻作物模拟扩展到多个水稻作物模拟。我在csdn站内也上传了“作物生长模型oryza v3大全(含所有参数模板和4个校准程序1个分析工具)”,可以说是全网最全的吧。网上搜索一般下载的v3只有一个a3主程序,不适合作全面与深入的研究,本版本从国外下载回来,一开始少了一个“SoilHydrau.exe”文件,说是有病毒被隔离了,后经历各种技术手段,并向国际水道研究所发送邮件,才得以补全所有的参数化及校准程序、分析工具,来之不易,有缘人得之。

502

Unreal Engine开发:多人联机与网络同步_延迟补偿与预测

通过延迟补偿和预测技术,我们可以显著减少网络延迟对多人在线动作游戏的影响,提升玩家的体验。延迟补偿主要在服务器端实现,通过回溯时间点来更准确地处理输入和事件。预测技术主要在客户端实现,通过预先计算玩家的动作结果来减少延迟感。结合这两种技术,可以实现更平滑、更公平的多人游戏体验。

chenlz2007的博客 1191

【微服务】SpringBoot 整合Kafka 项目实战操作详解

SpringBoot 整合Kafka 实战操作详解

congge 5569

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: 如何理解「最大似然估计」?参数估计、似然函数、最大似然估计
下一篇: PettingZoo:多智能体游戏环境库入门
虾米小馄饨
博客等级 码龄12年 1万+粉丝 60原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值