【发布时间】:2014-12-29 05:57:49
【问题描述】:
余弦相似度如何表示(http://en.wikipedia.org/wiki/Cosine_similarity)
当其中一个向量全为零时?
v1 = [1, 1, 1, 1, 1]
v2 = [0, 0, 0, 0, 0]
当我们根据经典公式计算时,我们得到除以零:
Let d1 = 0 0 0 0 0 0
Let d2 = 1 1 1 1 1 1
Cosine Similarity (d1, d2) = dot(d1, d2) / ||d1|| ||d2||dot(d1, d2) = (0)*(1) + (0)*(1) + (0)*(1) + (0)*(1) + (0)*(1) + (0)*(1) = 0
||d1|| = sqrt((0)^2 + (0)^2 + (0)^2 + (0)^2 + (0)^2 + (0)^2) = 0
||d2|| = sqrt((1)^2 + (1)^2 + (1)^2 + (1)^2 + (1)^2 + (1)^2) = 2.44948974278
Cosine Similarity (d1, d2) = 0 / (0) * (2.44948974278)
= 0 / 0
我想在集群应用程序中使用这种相似性度量。 我经常需要比较这些向量。 还有 [0, 0, 0, 0, 0] 与 [0, 0, 0, 0, 0]
你有什么经验吗? 由于这是一个相似性(不是距离)度量,我应该使用特殊情况
d( [1, 1, 1, 1, 1]; [0, 0, 0, 0, 0] ) = 0
d([0, 0, 0, 0, 0]; [0, 0, 0, 0, 0] ) = 1
怎么样
d([1, 1, 1, 0, 0]; [0, 0, 0, 0, 0] ) = ?等等
【问题讨论】:
标签: machine-learning cluster-analysis data-mining cosine-similarity