如果我使用tf-idf特征表示(或只是文档长度归一化),那么欧几里德距离和(1 - 余弦相似度)基本相同吗?我读过的所有教科书和其他论坛,讨论说余弦相似性对文本效果更好......
我写了一些基本代码来测试它,发现它们确实具有可比性,不是完全相同的浮点值,但它看起来像一个缩放版本。下面给出了简单演示文本数据的两个相似之处的结果。第2号文字是一个大约50个字的大行,其余的是10个小字的小字。
余弦相似度: 0.0,0.2967,0.203,0.2058
欧几里德距离: 0.0,0.285,0.2407,0.2421
注意:如果此问题更适合交叉验证或数据科学,请告知我们。
答案 0 :(得分:1)
如果您的数据标准化为单位长度,那么很容易证明
Euclidean(A,B) = 2 - Cos(A,B)
如果|| A || = || B || = 1 ,则会保持。它在一般情况下不成立,它取决于执行规范化步骤的确切顺序。即如果您首先将文档标准化为单位长度,接下来执行IDF加权,那么它将无法保持......
不幸的是,人们使用各种变体,包括完全不同版本的IDF规范化。