1. 程式人生 > >餘弦相似度 與 歐式距離 選擇

餘弦相似度 與 歐式距離 選擇

轉載自:http://www.cnblogs.com/chaosimple/archive/2013/06/28/3160839.html

餘弦相似度公式:


歐式距離公式:

二維空間的公式

(2)三維空間兩點a(x1,y1,z1)b(x2,y2,z2)間的歐氏距離:

基於距離的計算方法

(3)兩個n維向量a(x11,x12,…,x1n)b(x21,x22,…,x2n)間的歐氏距離:

基於距離的計算方法

  也可以用表示成向量運算的形式:

基於距離的計算方法
餘弦距離和歐氏距離的對比

從上圖可以看出,餘弦距離使用兩個向量夾角的餘弦值作為衡量兩個個體間差異的大小。相比歐氏距離,餘弦距離更加註重兩個向量在方向上的差異。

藉助三維座標系來看下歐氏距離和餘弦距離的區別:

clip_image009

從上圖可以看出,歐氏距離衡量的是空間各點的絕對距離,跟各個點所在的位置座標直接相關;而餘弦距離衡量的是空間向量的夾角,更加體現在方向上的差異,而不是位置。如果保持A點位置不變,B點朝原方向遠離座標軸原點,那麼這個時候餘弦距離 clip_image011 是保持不變的(因為夾角沒有發生變化),而A、B兩點的距離顯然在發生改變,這就是歐氏距離和餘弦距離之間的不同之處。

歐氏距離和餘弦距離各自有不同的計算方式和衡量特徵,因此它們適用於不同的資料分析模型:

歐氏距離能夠體現個體數值特徵的絕對差異,所以更多的用於需要從維度的數值大小中體現差異的分析,如使用使用者行為指標分析使用者價值的相似度或差異。

餘弦距離更多的是從方向上區分差異,而對絕對的數值不敏感,更多的用於使用使用者對內容評分來區分興趣的相似度和差異,同時修正了使用者間可能存在的度量標準不統一的問題(因為餘弦距離對絕對數值不敏感)。