數據挖掘 | 行或列距離測量方法總結

數據挖掘 | 行或列距離測量方法總結

來自專欄機器學習與數據挖掘

可以用以下方法計算行或列之間的距離或相似度

  • 相關性(Correlation)
  • 餘弦相關(Cosine Correlation)
  • 谷本係數(Tanimoto Coefficient)
  • 歐式距離(Euclidean Distance)
  • 曼哈頓距離(City Block Distance)
  • 平方歐式距離(Square Euclidean Distance)
  • 1/2平方歐氏距離(Half Square Euclidean Distance)

以下的計算都是基於在k維空間的a,b兩點距離或相似度計算


皮爾遜相關性(Pearson Correlation)

總演算法為: frac{cov(a,b)}{std(a)	imes{std(b)}}

協方差: cov(a, b) = frac{1}{2}sum_{j=1}^{k}{(a_j - ar{a})	imes{(b_j - ar{b})}}

方差: std(a) = sqrt{frac{1}{2}sum_{j=1}^{k}{(a_j - ar{a})}^{2}}

這種相關性稱為皮爾遜產品動量相關性(Pearson Product Momentum Correlation),簡稱為皮爾森相關或皮爾遜的相關性。 它的範圍從+1到-1,其中+1是最高的相關性,完全相反點的相關性為-1。

a和b是相同的,這意味著它們具有最大的相關性

a和b是完全鏡像的,這意味著它們具有最大的負相關性


餘弦相關(Cosine Correlation)

餘弦相關性計算

點的歸一化

餘弦相關範圍從+1到-1,其中+1是最高相關性。 完全相反點的相關性為-1。

餘弦相關與皮爾遜相關的比較

餘弦相關和皮爾遜相關之間的差異是在皮爾遜相關會減去平均值。 在上面的例子中,點a,b和c的任意組合之間的餘弦相關將為+1,但它將略小於點d和其他任何點(+0.974)之間的相關性。 但是,任何點之間的常規關聯都是+1,包括點d。


谷本係數(Tanimoto Coefficient)

谷本係數的計算

Tanimoto相似度僅適用於二元變數,對於二元變數,Tanimoto係數範圍為0至+1(其中+1是最高相似度)。


歐氏距離(Euclidean Distance)

歐氏距離計算

歐幾里德距離總是大於或等於零。 相同點的測量結果為零,而相似度不高的點的測量距離大。

下圖顯示了稱為a和b的兩點的示例。 每個點由五個值來描述。 圖中的虛線是上述等式中輸入的距離(a1-b1)(a2-b2)(a3-b3)(a4-b4)和(a5-b5)。


曼哈頓距離(City Block Distance)

兩個點上在標準坐標繫上的絕對軸距之總和

曼哈頓距離總是大於或等於零。 相同點的測量結果為零,而相似度不高的點的測量距離大。

下圖顯示了稱為a和b的兩點的示例。 每個點由五個值來描述。 圖中的虛線是上述等式中輸入的距離(a1-b1)(a2-b2)(a3-b3)(a4-b4)和(a5-b5)。

在大多數情況下,這個距離度量產生類似於歐式距離的結果。 但是,請注意,在曼哈頓距離的情況下,單個維度的較大差異的影響會減弱(因為距離不是平方)。

如果你考慮xy平面中的兩個點,則會解釋成曼哈頓距離。 兩點之間的最短距離沿著斜邊,即歐幾里得距離。 而曼哈頓距離則被計算為x的距離加上y的距離,這與人們在城市中移動的方式(如曼哈頓)類似,人必須在建築物周圍移動而不是直行。


平方歐氏距離和1/2平方歐式距離(Square Euclidean Distance and Half Square Euclidean Distance)

平方歐式距離

1/2平方歐氏距離

1/2平方歐式距離總是大於或等於零。 相同點的測量結果為零,而相似度不高的點的測量結果為高。

上圖顯示了稱為a和b的兩點的示例,每個點由五個值來描述。圖中的虛線是上述等式中輸入的距離(a1-b1)(a2-b2)(a3-b3)(a4-b4)和(a5-b5)。


總結:

這類的內容幾乎沒人會看,但還是想作為筆記保存下來,瀏覽了幾個不錯的博客,發現裡面的內容都是周志華老師西瓜書中的內容,可恥的我竟然還沒有將西瓜書看完。

最近剛開始聽MIT的Machine Learning,感覺不錯。並且還Mark下了幾個不錯的內容,雖然說重複造輪子是件不好的事情,不過將自己的學習內容放在網上與大家分享,無論是課堂內容的總結,還是看到好文章的分享,我都有以下的希望:

  • 分享給有需要的人
  • 自己能夠記錄下學習的過程,也能時不時翻閱一下

但行好事,莫問前程!!!


推薦閱讀:

支持向量機
人工智慧到底能幫我們做什麼?
Google 使用機器學習來製作音樂
一文介紹機器學習中基本的數學符號
1-3 What is Machine Learning

TAG:數據挖掘 | 機器學習 | Python |