当前位置: 首页 > news >正文

什么是Jaccard 相似度(Jaccard Similarity)

文章目录

      • ✅ 定义:
      • 📌 取值范围:
      • 🔍 举例说明:
      • 🧠 应用场景:
      • ⚠️ 局限性:
      • 💡 扩展概念:

Jaccard 相似度(Jaccard Similarity) 是一种用于衡量两个集合之间相似程度的指标,广泛应用于信息检索、文本挖掘、推荐系统和自然语言处理等领域。


✅ 定义:

给定两个集合 AAABBBJaccard 相似度定义为它们的交集大小与并集大小的比值:

Jaccard Similarity(A,B)=∣A∩B∣∣A∪B∣\text{Jaccard Similarity}(A, B) = \frac{|A \cap B|}{|A \cup B|} Jaccard Similarity(A,B)=ABAB

  • ∣A∩B∣|A \cap B|AB:集合 AAABBB共同元素的数量
  • ∣A∪B∣|A \cup B|AB:集合 AAABBB所有不同元素的总数

📌 取值范围:

  • Jaccard 相似度的取值范围在 0 到 1 之间:
    • 0:表示两个集合没有交集,完全不相似;
    • 1:表示两个集合完全相同,完全相似。

🔍 举例说明:

假设:

  • A={apple,banana,orange}A = \{\text{apple}, \text{banana}, \text{orange}\}A={apple,banana,orange}
  • B={banana,grape,orange,pear}B = \{\text{banana}, \text{grape}, \text{orange}, \text{pear}\}B={banana,grape,orange,pear}

那么:

  • A∩B={banana,orange}A \cap B = \{\text{banana}, \text{orange}\}AB={banana,orange} → 大小为 2
  • A∪B={apple,banana,orange,grape,pear}A \cup B = \{\text{apple}, \text{banana}, \text{orange}, \text{grape}, \text{pear}\}AB={apple,banana,orange,grape,pear} → 大小为 5

计算:

Jaccard Similarity(A,B)=25=0.4\text{Jaccard Similarity}(A, B) = \frac{2}{5} = 0.4 Jaccard Similarity(A,B)=52=0.4


🧠 应用场景:

  1. 文本相似度比较:将两段文本视为词集合,计算它们的 Jaccard 相似度,判断内容是否相似。
  2. 关键词匹配:比较两个文档或查询的关键词集合之间的重合度。
  3. 推荐系统:评估用户兴趣集合之间的相似性。
  4. 模型输出分析:如你之前提到的内容中,用来比较 LLM 不同层前后映射出的 top-k token 的变化情况。
  5. 数据去重/聚类:识别重复或高度相似的数据项。

⚠️ 局限性:

  • 不考虑频率:Jaccard 只关心元素是否存在,不考虑出现次数(即它是基于集合而不是多重集合或多袋模型 bag-of-words)。
  • 对大规模集合计算效率低:当集合很大时,计算交集和并集可能较慢。

💡 扩展概念:

  • Jaccard 距离:用来衡量两个集合的不相似程度,公式为:
    Jaccard Distance=1−Jaccard Similarity\text{Jaccard Distance} = 1 - \text{Jaccard Similarity} Jaccard Distance=1Jaccard Similarity

  • Tanimoto 系数:有时也被称作 Jaccard 相似度,但通常用于向量空间中的一种扩展形式。

http://www.dtcms.com/a/275874.html

相关文章:

  • 蓝牙调试抓包工具--nRF Connect移动端 使用详细总结
  • 日志不再孤立!用 Jaeger + TraceId 实现链路级定位
  • 程序在计算机中如何运行?——写给编程初学者的指南
  • 12.使用VGG网络进行Fashion-Mnist分类
  • Jenkins+Gitee+Docker容器化部署
  • 三步定位 Git Push 403:从日志到解决
  • 【深度剖析】致力“四个最”的君乐宝数字化转型(下篇:转型成效5-打造数字化生存能力探索可持续发展路径)
  • 【Datawhale AI夏令营】mcp-server
  • LeetCode 每日一题 2025/7/7-2025/7/13
  • 1. 好的设计原则
  • XCTF-Mary_Morton双漏洞交响曲:格式化字符串漏洞泄露Canary与栈溢出劫持的完美配合
  • 【2024CSP-J初赛】阅读程序(2)试题详解
  • 剑指offer57_和为S的两个数字
  • 深入详解:决策树在医学影像脑部疾病诊断中的应用与实现
  • Java 属性配置文件读取方法详解
  • 《Java HashMap底层原理全解析(源码+性能+面试)》
  • LangChain 的链(Chain)
  • Java 接口与抽象类:深入解析两者的区别及应用场景
  • 【深度学习】常见评估指标Params、FLOPs、MACs
  • 牛客:HJ19 简单错误记录[华为机考][字符串]
  • 多表查询-4-外连接
  • EMC接地
  • 试用了10款翻译软件后,我只推荐这一款!完全免费还超好用
  • 6.isaac sim4.2 教程-Core API-多机器人,多任务
  • 单细胞入门(1)——介绍
  • C语言中整数编码方式(原码、反码、补码)
  • C++ 模板工厂、支持任意参数代理、模板元编程
  • 如何使用postman做接口测试?
  • dify 用postman调试参数注意
  • MOSFET驱动电路设计时,为什么“慢”开,“快”关?