http://spark.apache.org/docs/latest/mllib-feature-extraction.html#word2vec
在word2vec的spark实现上,当迭代次数或数据分区大于1时,由于某种原因,余弦相似度大于1。
据我所知,余弦相似度应该始终约为 -1 < cos < 1。有人知道为什么吗?
最佳答案
在word2vec
的findSynonyms
方法中,不计算余弦相似度v1・vi/|v1| |vi|
,而是计算 v1・vi/|vi|
,其中 v1
是查询词的向量,vi
> 是候选词的向量。
这就是为什么该值有时会超过 1。
只是为了找到更接近的单词,没有必要除以 |v1|
,因为它是常数。
关于machine-learning - Spark MLLib的Word2Vec余弦相似度大于1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33360201/