为什么word2Vec使用余弦相似度?

时间:2016-07-17 16:25:09

标签: nlp deep-learning word2vec

我一直在阅读关于Word2Vec的论文(例如this one),我认为我理解训练向量以最大化在相同上下文中找到的其他单词的概率。

但是,我不明白为什么余弦是衡量单词相似度的正确方法。余弦相似性表示两个向量指向同一方向,但它们可能具有不同的大小。

例如,余弦相似性比较文档的词袋是有意义的。两个文档的长度可能不同,但具有相似的单词分布。

为什么不说欧几里德距离?

任何人都可以解释为什么余弦相似性适用于word2Vec?

2 个答案:

答案 0 :(得分:3)

这两个距离指标可能具有很强的相关性,因此您使用哪一个并不重要。正如你所指出的,余弦距离意味着我们不必担心向量的长度。

本文指出字的频率与word2vec向量的长度之间存在关系。 http://arxiv.org/pdf/1508.02297v1.pdf

答案 1 :(得分:0)

两个n维向量A和B的余弦相似性定义为:

enter image description here

这只是A和B之间角度的余弦。

而欧几里德距离定义为

enter image description here

现在考虑向量空间的两个随机元素的距离。对于余弦距离,最大距离为1,因为cos的范围是[-1,1]。

但是,对于欧氏距离,这可以是任何非负值。我没有计算它,但我猜想,对于增加尺寸n,两个矢量的平均距离对欧几里德距离增加很多,而余弦距离则相同(?)。

TL; DR

由于维数的诅咒,余弦距离对于高维空间中的向量更好。 (尽管如此,我并不十分确定)