【问题标题】:Why use cosine similarity in Word2Vec when its trained using dot-product similarity为什么在 Word2Vec 中使用点积相似度训练时使用余弦相似度
【发布时间】:2019-06-21 23:43:30
【问题描述】:

根据我在 stackoverflow 上找到的几篇文章(例如 Why does word2Vec use cosine similarity?),在我们训练了 word2vec(CBOW 或 Skip-gram)模型之后计算两个词向量之间的余弦相似度是一种常见的做法。但是,这对我来说似乎有点奇怪,因为该模型实际上是使用点积作为相似度得分进行训练的。这方面的一个证据是,我们在训练后得到的词向量的范数实际上是有意义的。那么为什么人们在计算两个词之间的相似度时仍然使用余弦相似度而不是点积呢?

【问题讨论】:

    标签: nlp word2vec cosine-similarity word-embedding dot-product


    【解决方案1】:

    余弦相似度和点积都是相似度度量,但点积对幅度敏感,而余弦相似度则不是。根据一个词的出现次数,它可能与另一个词有一个大或小的点积。我们通常对向量进行归一化以防止这种影响,因此所有向量都具有单位大小。但是,如果您的特定下游任务需要将出现计数作为特征,那么点积可能是可行的方法,但如果您不关心计数,那么您可以简单地计算余弦相似度,将它们归一化。

    【讨论】:

      猜你喜欢
      • 2016-11-20
      • 2018-10-27
      • 2020-08-12
      • 1970-01-01
      • 1970-01-01
      • 2011-01-01
      • 2016-08-14
      • 2014-02-25
      相关资源
      最近更新 更多