Tanimoto系数距离测量

时间:2014-11-11 22:51:30

标签: math distance cosine

两个对象可以具有相同的余弦和Tanimoto系数距离度量,其中

Tanimoto distance measure, d(x,y) = x.y / (|x|*|x|) + (|y|*|y|)- x*y

cosine measure, d(x,y) = x.y /(|x|* |x|) * (|y| *|y|)

2 个答案:

答案 0 :(得分:3)

The Tanimoto similarity coefficient真正的距离测量)已定义 通过

d(x,y) = x.y / ((|x|*|x|) + (|y|*|y|)- x.y)

用于位向量x和y。

现在将其与cosine similarity coefficent

进行比较
 d(x,y) = x.y / (|x| * |y|)

分母的差异为x.y个词。如果x.y为零,则Tanimoto和余弦相似系数将相同。

当且仅当x.yx垂直时,y几何为零。

由于xy是位向量(即每个维度中的值只能是0或1),x.y等于零意味着

x1*y1 + x2*y2 + ... + xn*yn = 0

如果xi * yi = 1 * 1 = 1,则整数总和为正。如果整个总和为零,没有术语 xi * yi可以等于1.它们必须全部等于0:

所以

x1*y1 = 0
x2*y2 = 0
...
xn*yn = 0

换句话说,如果xi为1,则yi必须为0,反之亦然。

因此,有很多例子,Tanimoto相似度等于余弦相似度:

x = (0,1,0,1)
y = (1,0,0,0)
例如

答案 1 :(得分:0)

尽管呈现了Tanimoto距离的一般形式,但您必须始终记住,在计算上,存在二元形式和连续形式。

二进制形式是:

d(x,y) = n(X ∩ Y) / [ n(X) + n(Y) - n(X ∩ Y) ]

而连续形式是:

d(x,y) = X.Y / (||X|| + ||Y|| - X.Y )

差异很明显。如果编码器正在为你工作,你必须告诉他们n(X∩Y),n(X),n(Y)只涉及计算向量中的1的数量。而|| X ||和|| Y ||你必须声明(X1 ^ 2 + X2 ^ 2 + ... Xp ^ 2)的平方根是必需的,因为|| X ||是来自原点的向量X的长度(也称为范数)。对于二进制形式采用平方根是不必要的,并且对于大数据挖掘来说计算成本高(浪费),因为非理性数学函数是昂贵的。但是,对于连续变体,必须使用平方根。

总之,请记住,对于Tanimoto距离,有两种类型:二进制和连续。