什么时候使用点积代替余弦作为相似性度量才有意义?

数据挖掘 机器学习 相似
2021-09-25 13:39:25

什么时候使用点积代替余弦作为相似性度量才有意义?我已经看到已经有人问过这个问题,但是这仅仅解释了点积和余弦计算之间的区别,它并不关注我们什么时候应该在现实世界的例子中使用一个与另一个。

3个回答

借用这个 Quora 的答案——其中包括一些具体的例子,说明你何时可能更喜欢一种测量方法而不是另一种测量方法——归结为你是否关心考虑向量的大小。这是高度特定于领域的,但此处使用的示例是在信息检索中,其中量级表示相关文档的长度。点积将考虑文档长度,而余弦相似度则不会。

通常,您会希望有充分的理由针对您的问题空间来使用一个而不是另一个。

当我们希望集群items使用距离作为相似度度量时。例如,我们在 k-means 聚类中使用欧几里得距离(内积的平方根)作为相似性度量。平方欧几里得距离被用作 Ward 聚类方法中的相似性度量。但是,当我们想要聚类时variables,我们使用相关性(余弦)作为相似度的度量。

点积和余弦之间的关系类似于协方差和相关性之间的关系:一个是另一个的归一化和有界版本。

根据我的经验,当您还关心两个向量共有的维度数(即这些维度中具有相同符号的非零值)时,通常的点积会更好。例如,它可以是匹配标签或属性。对于通常的文本,余弦通常效果更好。