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

opu*_*111 17 nlp word2vec deep-learning

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

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

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

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

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

Aar*_*ron 5

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

这篇论文表明,单词的频率与word2vec向量的长度之间存在关系。http://arxiv.org/pdf/1508.02297v1.pdf


Mar*_*oma -1

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

\n\n

在此输入图像描述

\n\n

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

\n\n

而欧几里得距离定义为

\n\n

在此输入图像描述

\n\n

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

\n\n

然而,对于欧氏距离,这可以是任何非负值。

\n\n

当维度 n 变大时,两个随机选择的点的余弦距离越来越接近 90\xc2\xb0,而 R^n 单位立方体中的点的欧氏距离大约为 0.41 (n)^0.5 (来源

\n\n

长话短说

\n\n

由于维数灾难,余弦距离对于高维空间中的向量更好更好。(不过我对此并不完全确定)

\n

  • 抱歉,我认为这是不对的。维数诅咒同样适用于余弦距离和欧几里德距离。 (4认同)