在很多機器學習算法和任務中,經常需要度量兩個樣本或向量之間的距離或相似度,下面列出一些常見的度量方式及其應用:
1.常見的距離算法
1.1歐幾里得距離(Euclidean Distance)
基本上就是兩個點的空間距離,下面這個圖就能很明顯的說明他和餘弦相似度區別,歐式距離更多考慮的是空間中兩條直線的距離,而餘弦相似度關心的是空間夾角。
1.2曼哈頓距離(Manhattan Distance)
曼哈頓距離也稱爲城市街區距離(City Block distance),也就是在歐幾里得空間的固定直角座標系上兩點所形成的線段對軸產生的投影的距離總和。
where {\displaystyle (\mathbf {p} ,\mathbf {q} )} are vectors
- {\displaystyle \mathbf {p} =(p_{1},p_{2},\dots ,p_{n}){\text{ and }}\mathbf {q} =(q_{1},q_{2},\dots ,q_{n})\,}
2.常見的相似度(係數)算法
2.1餘弦相似度(Cosine Similarity)
幾何中夾角餘弦可用來衡量兩個向量方向的差異,機器學習中借用這一概念來衡量樣本向量之間的差異。
2.2皮爾森相關係數(Pearson Correlation Coefficient)
上面是總體相關係數,常用希臘小寫字母 ρ 作爲代表符號。估算樣本的協方差和標準差,可得到樣本相關係數(樣本皮爾遜係數)。
- is the covariance
- {\displaystyle \sigma _{X}} is the standard deviation of {\displaystyle X}
- {\displaystyle \sigma _{Y}} is the standard deviation of {\displaystyle Y}
2.3Jaccard相似係數(Jaccard Coefficient)
意思是兩個集合的交集除以並集,比如文本相似度可以用出現相同詞個數進行計算。
友情推薦:ABC技術研習社
爲技術人打造的專屬A(AI),B(Big Data),C(Cloud)技術公衆號和技術交流社羣。