Jaccard 相似度和余弦相似度是比较项目相似度时两个非常常见的度量。但是,我不太清楚在什么情况下应该比另一种更可取。
有人可以帮助澄清这两种测量的差异(概念或原理的差异,而不是定义或计算的差异)及其优选应用吗?
Jaccard 相似度和余弦相似度是比较项目相似度时两个非常常见的度量。但是,我不太清楚在什么情况下应该比另一种更可取。
有人可以帮助澄清这两种测量的差异(概念或原理的差异,而不是定义或计算的差异)及其优选应用吗?
saq7的答案是错误的,也没有回答问题。
∥A∥ 表示规范,即向量在欧几里得空间中的长度,而不是向量的维数. 换句话说,您不计算 0 位,您只需将 1 位相加并取平方根。
抱歉,对于您何时应该使用哪个指标,我没有真正的答案,但我不能让不正确的答案不受挑战。
Jaccard 相似性由下式给出
在哪里,
p = 两个对象的正属性
q = i 的属性 1 和 j
的属性 0 r = i 的属性 0 和 j 的属性 1
而余弦相似度 =其中 A 和 B 是对象向量。
简单地说,在向量 A 和 B 仅包含 0 和 1 的情况下,余弦相似度将共同属性的数量除以 A 和 B 与零的距离的乘积。而在 Jaccard Similarity 中,公共属性的数量除以两个对象中至少一个中存在的属性的数量。
还有许多其他的相似性度量,每一个都有自己的怪癖。在决定使用哪一个时,请尝试考虑几个具有代表性的案例,并找出哪个索引可以提供最有用的结果来实现您的目标。
余弦索引可用于识别抄袭,但不是识别互联网上镜像站点的好索引。而 Jaccard 索引将是识别镜像站点的一个很好的索引,但在捕捉复制意大利面抄袭(在更大的文档中)方面不是那么好。
应用这些指标时,您必须彻底考虑您的问题并弄清楚如何定义相似性。一旦你有了一个定义,你就可以开始购买索引了。
编辑: 早些时候,我在这个答案中有一个例子,这最终是不正确的。感谢指出这一点的几位用户,我已经删除了错误的示例。
Jaccard 相似度用于两种类型的二元情况:
余弦相似度通常在文本挖掘的上下文中用于比较文档或电子邮件。如果两个文档词向量之间的余弦相似度较高,则两个文档具有更多的共同词
另一个区别是 1 - Jaccard 系数可以用作相异度或距离度量,而余弦相似度没有这样的结构。类似的事情是用于分类学的 Tonimoto 距离。
saq7的答案是错误的。
在哪里 和 是二进制向量,它们可以被解释为值为 1 的索引集。因此让我们考虑集合 和 .
Jaccard 相似度由下式给出
余弦相似度由下式给出
一些比较:
我还没有一个明确的直觉,应该在哪里优先于另一个,除了正如 Vikram Venkat 指出的那样,1 - Jaccard 对应于一个真正的度量,不像余弦;余弦自然扩展到实值向量。