機器學習入門核心:Jaccard相似度 (Jaccard Index) 和 Pearson相似度 (Pearson Correlation)
- 一、算法邏輯
- Jaccard相似度 (Jaccard Index)
- **Pearson相似度 (Pearson Correlation)**
- 二、算法原理與數學推導
- 1. Jaccard相似度公式
- 2. Pearson相似度公式
- 三、模型評估中的角色
- 相似度度量的評估重點
- 在推薦系統中的評估
- 四、應用案例
- Jaccard相似度案例
- Pearson相似度案例
- 五、面試題及答案
- 常見問題:
- 六、相關論文
- 七、優缺點對比
- 總結
一、算法邏輯
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)=∑i?max(wA,i?,wB,i?)∑i?min(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?σY?cov(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∑xi?yi??∑xi?∑yi??
三、模型評估中的角色
相似度度量的評估重點
-
魯棒性:
- Jaccard 對二元噪聲魯棒(如文本拼寫錯誤)
- Pearson 對數值異常值敏感(需數據標準化)
-
可解釋性:
- Jaccard:直觀的集合重疊比例
- Pearson:明確的方向性(正/負相關)
-
計算效率:
- Jaccard: O ( n ) O(n) O(n),僅需統計元素存在性
- Pearson: O ( n ) O(n) O(n),但需計算均值/協方差
在推薦系統中的評估
相似度 | 適用反饋類型 | 典型指標 |
---|---|---|
Jaccard | 隱式反饋(點擊/購買) | Precision@K, Recall@K |
Pearson | 顯式反饋(評分) | RMSE, MAE |
四、應用案例
Jaccard相似度案例
-
文檔去重:
- 步驟:將文檔轉為詞集 → 計算Jaccard相似度 → 若 J > 0.9 J > 0.9 J>0.9 判定為重復
- 工具:MinHash 加速大規模文檔比較(如搜索引擎爬蟲去重)
-
推薦系統:
- 場景:用戶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相似度案例
-
電影推薦(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
- 場景:用戶對電影的評分數據
-
金融相關性分析:
- 計算兩只股票收益率的Pearson相關系數
- ρ > 0.8 \rho > 0.8 ρ>0.8 表示強正相關(同漲同跌)
五、面試題及答案
常見問題:
-
Q: Jaccard和Pearson的本質區別是什么?
A: Jaccard衡量 集合重疊度(存在性),Pearson衡量 數值變化趨勢(線性相關性)。 -
Q: 何時選用Jaccard而非Pearson?
A: 當數據為二元特征(如是否購買)或需要忽略數值大小時(如文本關鍵詞匹配)。 -
Q: Pearson相關系數為0是否意味著變量獨立?
A: 否!只能說明無線性關系,但可能存在非線性關系(如二次函數)。 -
Q: 如何處理Pearson對異常值的敏感性問題?
A:- 數據標準化(如Z-score)
- 改用Spearman秩相關(基于排名而非原始值)
- 移除離群點
六、相關論文
-
Jaccard相似度:
- 原始論文:Jaccard, P. (1901). “étude comparative de la distribution florale dans une portion des Alpes et des Jura”
- 優化擴展:Broder, A. Z. (1997). “On the Resemblance and Containment of Documents”(MinHash算法)
-
Pearson相似度:
- 原始論文:Pearson, K. (1895). “Notes on Regression and Inheritance in the Case of Two Parents”
- 推薦系統應用:Sarwar, B. et al. (2001). “Item-based Collaborative Filtering Recommendation Algorithms”
七、優缺點對比
相似度 | 優點 | 缺點 |
---|---|---|
Jaccard | 1. 計算簡單高效; 2. 對二元數據直觀; 3. 不受特征值大小影響 | 1. 忽略特征權重; 2. 對稀疏數據敏感(分母小) |
Pearson | 1. 捕捉線性關系方向; 2. 可解釋性強; 3. 標準化消除量綱影響 | 1. 對異常值敏感; 2. 要求數據近似正態分布; 3. 僅反映線性關系 |
總結
- Jaccard相似度:
處理 二元特征 和 集合關系 的金標準,適用于文本、圖結構數據。 - Pearson相似度:
分析 連續變量線性相關性 的核心工具,適用于評分預測、金融分析。
關鍵選擇依據:數據特征(二元/連續)、分析目標(存在性/趨勢性)、計算效率需求。