如何计算两个字节数组之间的距离?

时间:2013-06-28 10:18:47

标签: algorithm language-agnostic statistics distance

我需要计算相同长度的两个字节数组之间的距离。特别是,我正在寻找获得具有以下特征的距离的方法:

  • 如果两个阵列彼此非常相似,那么距离应该非常小;
  • 否则,距离应该非常大。

基本上,我正在寻找一种方法来衡量两个阵列之间的差异。

UPDATE :根据建议,我提供了有关字节数组内容的以下附加信息。字节序列包含图像的特征,因此图像被分成小区域,并且为每个区域测量一些颜色信息(每个字节编码与单个区域有关的信息):当在一个字节内设置一个位时,那意味着该区域内存在给定的特征。

因此,给定两个字节序列,我想使用合适的距离度量进行比较。我读到了Bhattacharyya距离,但我不知道如何在这种情况下应用它,所以我想知道是否有其他距离测量来比较两个字节数组。

2 个答案:

答案 0 :(得分:10)

您可以使用欧几里德距离。基本上你添加数组中每对元素之间的差异的平方,并从该总和中提取平方根。

请参阅http://en.wikipedia.org/wiki/Euclidean_distance

但是,还有其他距离指标可以更好地应用于您的数据,例如Pearson Correlation,余弦相似度,汉明距离等。

答案 1 :(得分:1)

按复杂程度排序,

a L1 = Sum | xi - yi |

或L2 = Sum | xi - yi | ^ 2