1. 程式人生 > >皮爾遜相關系數和余弦相似性的關系

皮爾遜相關系數和余弦相似性的關系

表現 差值 超過 商業 C4D 接下來 二維空間 相關 畢業

有兩篇回答,我覺得都是正確的,從不同的方向來看的。

作者:陳小龍
鏈接:https://www.zhihu.com/question/19734616/answer/174098489
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。

先說結論: 皮爾遜相關系數是余弦相似度在維度值缺失情況下的一種改進, 皮爾遜相關系數是余弦相似度在維度值缺失情況下的一種改進, 皮爾遜相關系數是余弦相似度在維度值缺失情況下的一種改進.

樓主如果高中正常畢業, 參加過高考, 那麽肯定會這麽一個公式

cos<a, b> = a ? b / |a|?|b|

假設a = (3, 1, 0), b = (2, -1, 2)

分子是a, b兩個向量的內積, (3, 1, 0) ? (2, -1, 2) = 3?2 + 1?(-1) + 0?2 = 5

分母是兩個向量模(模指的是向量的長度)的乘積.

總之這個cos的計算不要太簡單...高考一向這是送分題...

然後問題來了, 皮爾遜系數和這個cos啥關系...(不好意思借用了我們學校老師的課件...)

技術分享圖片皮爾森相關系數計算公式

其實皮爾遜系數就是cos計算之前兩個向量都先進行中心化(centered)...就這麽簡單...

中心化的意思是說, 對每個向量, 我先計算所有元素的平均值avg, 然後向量中每個維度的值都減去這個avg, 得到的這個向量叫做被中心化的向量. 機器學習, 數據挖掘要計算向量余弦相似度的時候, 由於向量經常在某個維度上有數據的缺失, 預處理階段都要對所有維度的數值進行中心化處理.

我們觀察皮爾遜系數的公式:

分子部分: 每個向量的每個數字要先減掉向量各個數字的平均值, 這就是在中心化.

分母部分: 兩個根號式子就是在做取模運算, 裏面的所有的 r 也要減掉平均值, 其實也就是在做中心化.

note: 我其實是今天上推薦系統課, 講相似性計算的時候才發現原來余弦計算和皮爾遜相關系數計算就是一個東西兩個名字啊......氣死我了...高中的時候我還是靠背公式解題的...逃....

================2017-11-15更新: 對余弦相似度和皮爾森相關系數的進一步認識================

余弦距離(余弦相似度), 計算的是兩個向量在空間中的夾角大小, 值域為[-1, 1]: 1代表夾角為0°, 完全重疊/完全相似; -1代表夾角為180°, 完全相反方向/毫不相似.

余弦相似度的問題是: 其計算嚴格要求"兩個向量必須所有維度上都有數值", 比如:

v1 = (1, 2, 4),

v2=(3, -1, null),

那麽這兩個向量由於v2中第三個維度有null, 無法進行計算.

然而, 實際我們做數據挖掘的過程中, 向量在某個維度的值常常是缺失的, 比如v2=(3, -1, null), v2數據采集或者保存中缺少一個維度的信息, 只有兩個維度. 那麽, 我們一個很樸素的想法就是, 我們在這個地方填充一個值, 不就滿足了"兩個向量必須所有維度上都有數值"的嚴格要求了嗎? 填充值的時候, 我們一般這個向量已有數據的平均值, 所以v2填充後變成v2=(3, -1, 2), 接下來我們就可以計算cos<v1, v2>了.

而皮爾遜相關系數的思路是, 我把這些null的維度都填上0, 然後讓所有其他維度減去這個向量各維度的平均值, 這樣的操作叫作中心化. 中心化之後所有維度的平均值就是0了, 也滿足進行余弦計算的要求. 然後再進行我們的余弦計算得到結果. 這樣先中心化再余弦計得到的相關系數叫作皮爾遜相關系數.

所以, 從本質上, 皮爾遜相關系數是余弦相似度在維度值缺失情況下的一種改進.

另外, 以movielens數據集計算兩個用戶之間相似度的協同過濾場景來說, 余弦相似度和皮爾遜相關系數所表現的都是在兩個用戶都有打分記錄的那些特征維度下, 他們超過自身打分平均值的幅度是否接近. 如果各維度下的超出幅度都類似, 那麽就是比較相似的.

另一篇回答,是從協方差的方面來看的。 作者:TimXP
鏈接:https://www.zhihu.com/question/19734616/answer/117730676
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。

要理解Pearson相關系數,首先要理解協方差(Covariance),協方差是一個反映兩個隨機變量相關程度的指標,如果一個變量跟隨著另一個變量同時變大或者變小,那麽這兩個變量的協方差就是正值,反之相反,公式如下:

技術分享圖片

Pearson相關系數公式如下:

技術分享圖片

由公式可知,Pearson相關系數是用協方差除以兩個變量的標準差得到的,雖然協方差能反映兩個隨機變量的相關程度(協方差大於0的時候表示兩者正相關,小於0的時候表示兩者負相關),但是協方差值的大小並不能很好地度量兩個隨機變量的關聯程度,例如,現在二維空間中分布著一些數據,我們想知道數據點坐標X軸和Y軸的相關程度,如果X與Y的相關程度較小但是數據分布的比較離散,這樣會導致求出的協方差值較大,用這個值來度量相關程度是不合理的,如下圖:

技術分享圖片

為了更好的度量兩個隨機變量的相關程度,引入了Pearson相關系數,其在協方差的基礎上除以了兩個隨機變量的標準差,容易得出,pearson是一個介於-1和1之間的值,當兩個變量的線性關系增強時,相關系數趨於1或-1;當一個變量增大,另一個變量也增大時,表明它們之間是正相關的,相關系數大於0;如果一個變量增大,另一個變量卻減小,表明它們之間是負相關的,相關系數小於0;如果相關系數等於0,表明它們之間不存在線性相關關系。《數據挖掘導論》給出了一個很好的圖來說明:

技術分享圖片

皮爾遜相關系數和余弦相似性的關系