【机器学习基础】机器学习入门核心:Jaccard相似度 (Jaccard Index) 和 Pearson相似度 (Pearson Correlation)

机器学习入门核心:Jaccard相似度 (Jaccard Index) 和 Pearson相似度 (Pearson Correlation)

一、算法逻辑

Jaccard相似度 (Jaccard Index)
  • 核心思想
    衡量两个集合的相似性,定义为 交集大小与并集大小的比值 。关注样本间的 共有特征是否存在,忽略具体数值大小。
  • 适用场景
    文本相似度(词集模型)、推荐系统(用户行为二值化)、生物信息学(基因序列匹配)。
Pearson相似度 (Pearson Correlation)
  • 核心思想
    衡量两个变量间的 线性相关程度 ,通过协方差与标准差的比值计算。关注数值变化的 方向和幅度一致性
  • 适用场景
    推荐系统(用户评分预测)、金融(资产价格相关性)、生物统计(基因表达量相关性)。

二、算法原理与数学推导

1. Jaccard相似度公式

设集合 A A A 和 B B B,其相似度为:
J ( A , B ) = ∣ A ∩ B ∣ ∣ A ∪ B ∣ J(A, B) = \frac{|A \cap B|}{|A \cup B|} J(A,B)=∣A∪B∣∣A∩B∣

  • 分子 : ∣ A ∩ B ∣ |A \cap B| ∣A∩B∣ 为共同元素个数
  • 分母 : ∣ A ∪ B ∣ = ∣ A ∣ + ∣ B ∣ − ∣ A ∩ B ∣ |A \cup B| = |A| + |B| - |A \cap B| ∣A∪B∣=∣A∣+∣B∣−∣A∩B∣
  • 值域 : [ 0 , 1 ] [0, 1] [0,1],0 表示无交集,1 表示完全相同

扩展形式(加权Jaccard)
J w ( A , B ) = ∑ i min ⁡ ( w A , i , w B , i ) ∑ i max ⁡ ( w A , i , w B , i ) J_w(A, B) = \frac{\sum_i \min(w_{A,i}, w_{B,i})}{\sum_i \max(w_{A,i}, w_{B,i})} Jw(A,B)=∑imax(wA,i,wB,i)∑imin(wA,i,wB,i)

适用于带权重的特征(如TF-IDF)。

2. Pearson相似度公式

设变量 X X X 和 Y Y Y 的观测值分别为 { x 1 , x 2 , . . . , x n } \{x_1, x_2, ..., x_n\} {x1,x2,...,xn} 和 { y 1 , y 2 , . . . , y n } \{y_1, y_2, ..., y_n\} {y1,y2,...,yn},其相关系数为:
ρ X , Y = cov ( X , Y ) σ X σ Y = ∑ i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) ∑ i = 1 n ( x i − x ˉ ) 2 ∑ i = 1 n ( y i − y ˉ ) 2 \rho_{X,Y} = \frac{\text{cov}(X,Y)}{\sigma_X \sigma_Y} = \frac{\sum_{i=1}^n (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum_{i=1}^n (x_i - \bar{x})^2} \sqrt{\sum_{i=1}^n (y_i - \bar{y})^2}} ρX,Y=σXσYcov(X,Y)=∑i=1n(xi−xˉ)2 ∑i=1n(yi−yˉ)2 ∑i=1n(xi−xˉ)(yi−yˉ)

  • x ˉ , y ˉ \bar{x}, \bar{y} xˉ,yˉ:样本均值
  • cov ( X , Y ) \text{cov}(X,Y) cov(X,Y):协方差
  • σ X , σ Y \sigma_X, \sigma_Y σX,σY:标准差
  • 值域 : [ − 1 , 1 ] [-1, 1] [−1,1]
    • 1 1 1:完全正相关
    • − 1 -1 −1:完全负相关
    • 0 0 0:无线性相关

简化计算形式
ρ X , Y = n ∑ x i y i − ∑ x i ∑ y i n ∑ x i 2 − ( ∑ x i ) 2 n ∑ y i 2 − ( ∑ y i ) 2 \rho_{X,Y} = \frac{n \sum x_i y_i - \sum x_i \sum y_i}{\sqrt{n \sum x_i^2 - (\sum x_i)^2} \sqrt{n \sum y_i^2 - (\sum y_i)^2}} ρX,Y=n∑xi2−(∑xi)2 n∑yi2−(∑yi)2 n∑xiyi−∑xi∑yi


三、模型评估中的角色

相似度度量的评估重点
  1. 鲁棒性

    • Jaccard 对二元噪声鲁棒(如文本拼写错误)
    • Pearson 对数值异常值敏感(需数据标准化)
  2. 可解释性

    • Jaccard:直观的集合重叠比例
    • Pearson:明确的方向性(正/负相关)
  3. 计算效率

    • Jaccard: O ( n ) O(n) O(n),仅需统计元素存在性
    • Pearson: O ( n ) O(n) O(n),但需计算均值/协方差
在推荐系统中的评估
相似度 适用反馈类型 典型指标
Jaccard 隐式反馈(点击/购买) Precision@K, Recall@K
Pearson 显式反馈(评分) RMSE, MAE

四、应用案例

Jaccard相似度案例
  1. 文档去重

    • 步骤:将文档转为词集 → 计算Jaccard相似度 → 若 J > 0.9 J > 0.9 J>0.9 判定为重复
    • 工具:MinHash 加速大规模文档比较(如搜索引擎爬虫去重)
  2. 推荐系统

    • 场景:用户A购买商品集 { A , B , D } \{A,B,D\} {A,B,D},用户B购买 { A , C , D } \{A,C,D\} {A,C,D}
    • 计算: J = ∣ { A , D } ∣ ∣ { A , B , C , D } ∣ = 0.5 J = \frac{|\{A,D\}|}{|\{A,B,C,D\}|} = 0.5 J=∣{A,B,C,D}∣∣{A,D}∣=0.5
Pearson相似度案例
  1. 电影推荐(Netflix)

    • 场景:用户对电影的评分数据

      用户 电影X 电影Y 电影Z
      Alice 5 3 4
      Bob 4 2 ?
    • 计算Alice与Bob的Pearson相似度:
      ρ = ( 5 − 4 ) ( 4 − 3 ) + ( 3 − 4 ) ( 2 − 3 ) ( 5 − 4 ) 2 + ( 3 − 4 ) 2 ( 4 − 3 ) 2 + ( 2 − 3 ) 2 = 1 + 1 2 2 = 1 \rho = \frac{(5-4)(4-3) + (3-4)(2-3)}{\sqrt{(5-4)^2 + (3-4)^2} \sqrt{(4-3)^2 + (2-3)^2}} = \frac{1+1}{\sqrt{2}\sqrt{2}} = 1 ρ=(5−4)2+(3−4)2 (4−3)2+(2−3)2 (5−4)(4−3)+(3−4)(2−3)=2 2 1+1=1

    • 预测:Bob对Z的评分可能接近Alice的评分4

  2. 金融相关性分析

    • 计算两只股票收益率的Pearson相关系数
    • ρ > 0.8 \rho > 0.8 ρ>0.8 表示强正相关(同涨同跌)

五、面试题及答案

常见问题:
  1. Q : Jaccard和Pearson的本质区别是什么?
    A : Jaccard衡量 集合重叠度 (存在性),Pearson衡量 数值变化趋势(线性相关性)。

  2. Q : 何时选用Jaccard而非Pearson?
    A: 当数据为二元特征(如是否购买)或需要忽略数值大小时(如文本关键词匹配)。

  3. Q : Pearson相关系数为0是否意味着变量独立?
    A: 否!只能说明无线性关系,但可能存在非线性关系(如二次函数)。

  4. Q : 如何处理Pearson对异常值的敏感性问题?
    A

    • 数据标准化(如Z-score)
    • 改用Spearman秩相关(基于排名而非原始值)
    • 移除离群点

六、相关论文

  1. Jaccard相似度

  2. Pearson相似度


七、优缺点对比

相似度 优点 缺点
Jaccard 1. 计算简单高效; 2. 对二元数据直观; 3. 不受特征值大小影响 1. 忽略特征权重; 2. 对稀疏数据敏感(分母小)
Pearson 1. 捕捉线性关系方向; 2. 可解释性强; 3. 标准化消除量纲影响 1. 对异常值敏感; 2. 要求数据近似正态分布; 3. 仅反映线性关系

总结

  • Jaccard相似度
    处理 二元特征集合关系 的金标准,适用于文本、图结构数据。
  • Pearson相似度
    分析 连续变量线性相关性 的核心工具,适用于评分预测、金融分析。
    关键选择依据:数据特征(二元/连续)、分析目标(存在性/趋势性)、计算效率需求。
相关推荐
1296004526 分钟前
机器翻译模型笔记
人工智能·笔记·机器翻译
superior tigre17 分钟前
RNN循环网络:给AI装上“记忆“(superior哥AI系列第5期)
人工智能·rnn·深度学习
s1533527 分钟前
8.RV1126-OPENCV 视频中添加LOGO
人工智能·opencv·音视频
TextIn智能文档云平台31 分钟前
从OCR到Document Parsing,AI时代的非结构化数据处理发生了什么改变?
人工智能·自然语言处理·ocr·pdf解析·textin·复杂文档解析
(・Д・)ノ1 小时前
python打卡day44
人工智能·python·机器学习
MiaoChuPPT1 小时前
秒出PPT正式改名秒出AI,开启AI赋能新体验!
人工智能·powerpoint
引量AI1 小时前
如何用AI高效运营1000+Tiktok矩阵账号
人工智能·矩阵·自动化·tiktok矩阵·海外社媒
视觉语言导航2 小时前
低空城市场景下的多无人机任务规划与动态协调!CoordField:无人机任务分配的智能协调场
人工智能·深度学习·无人机·具身智能
硬核隔壁老王2 小时前
一篇文章带你快速理解 MCP
人工智能·程序员·llm
AlexandrMisko2 小时前
NLP常用工具包
人工智能·自然语言处理