引言
汉明距离是机器学习中的常用度量。本文整理了具体的图示+代码,帮你形象化理解汉明距离(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代码示例帮助理解。
最低0.47元/天 解锁文章
554





