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
равно нулю.
Геометрически x.y
является нулевым, если и только если x
и y
перпендикулярны.
Так как x
и y
являются битовыми векторами (т.е. значения которых в каждом измерении может быть только 0 или 1), x.y
равный нулю означает
x1*y1 + x2*y2 + ... + xn*yn = 0
Если хи * уг = 1 * 1 = 1, то вся сумма была бы положительной. Для всей суммы равного нуля, не член х * уг не может быть равен 1. Они все должны быть равны 0:
Так
x1*y1 = 0
x2*y2 = 0
...
xn*yn = 0
Другими словами, если х являются 1, то уг должен быть 0 и наоборот.
Так есть тонны примеров, когда сходство Танимото равно косинус подобие:
x = (0,1,0,1)
y = (1,0,0,0)
, например.
Не является ли формула для сходства косинусов неправильной? правильная формула: «x.y/| x | * | y |» –
@SanketDeshmukh: Ой, ты прав. Спасибо за исправление. – unutbu