【发布时间】:2016-12-02 16:58:42
【问题描述】:
我想计算高维向量之间的汉明距离。数据点是称为特征的向量。假设每个分量f_i 是一个整数,它以具有j 位的二进制形式表示。每个数据点都有n = 900 特征组件。问题表述是
下图给出了2个不同向量之间的汉明距离公式j = number of bits
例如让n = 10 功能组件,
f = [3,4,1,4,5,6,6,7,1,14];
g = [1,3,5,6,7,8,11,3,10,2];
数组的每个组件/元素都由其 16 位二进制表示形式表示,使用 dec2bin(f_i,l)
我尝试使用 dist = sum((f-g).^2,2)* 1/2^l 其中 l= 16 位,但这没有意义,因为公式中有 2 个求和。
【问题讨论】:
-
你的
f有 11 个元素,g有 10 个元素,两者都应该是二维的。你能解释一下吗? -
在我的应用程序中,它们是二维的,而不是整数值。我想知道如何计算距离,以便以后将其扩展到我的完整应用程序
-
那么,如果您的应用程序中有 2d,为什么还要给出 1d 示例?
-
我的印象来自您的尝试:您的表达式中有 1/2^l,但该因子在数学公式中显示为
2^(-j)。其中j是b_{ij}的第二个维度!这就是我问的原因。如果您有二维数组bf和bg,那么计算abs(bf-bg)*1./(2.^(1:l)).'或类似的东西就像矩阵向量积一样容易,然后将其相加。