修正餘弦相似度和皮爾森係數什麼關係?

rt


@chen ma 倆者其實是有差別的。計算的形式很類似,但是有具體的細節差別,在分母和分子上都有體現。歸納起來:差別就在去中心化的方式上。

修正cosine相似度的目的是解決cosine相似度僅考慮向量維度方向上的相似而沒考慮到各個維度的量綱的差異性,所以在計算相似度的時候,做了每個維度減去均值的修正操作

Pearson correlation 相關係數主要考慮線性相關性,定義為兩個變數之間的協方差和標準差的商,所以自然的考慮了均值的修正操作。

倆個公式放在一起對比,分別如下,來源見:

http://www10.org/cdrom/papers/519/node14.html

http://www10.org/cdrom/papers/519/node13.html

可見:

  • 修正cosine考慮的是對item i打過分的每個user u,其打分的均值,

  • Pearson考慮的是每個item i 的被打分的均值

進一步引申,各種相似度與點積關係的推演

  • cosine相似度,其實就是歸一化後的點積結果,

  • Pearson相關係數是去中心化歸一化的點積結果

  • 修正cosine相似度,也是去中心化歸一化的點積結果,與Pearson的差別就在於去中心化的差異(上面描述的)

公式參考如下:

點積:

cosine相似度:

Pearson相關係數:


同意 KF Ding 的解釋,兩者的計算公式如下

修正的餘弦相似度的計算公式如下

皮爾遜相關係數的計算公式如下:

上面圖片均摘自論文 協同過濾推薦演算法綜述,更詳細的分析可參考《Programming Collective Intelligence》讀書筆記(2)


目前主要有三種度量用戶間相似性的方法,分別是:餘弦相似性、相關相似性以及修正的餘弦相似性。

①餘弦相似性(Cosine):用戶一項目評分矩陣可以看作是n維空間上的向量,對於沒有評分的項目將評分值設為0,餘弦相似性度量方法是通過計算向量間的餘弦夾角來度量用戶間相似性的。設向量i和j分別表示用戶i和用戶j在n維空間上的評分,則用基於協同過濾的電子商務個性化推薦演算法研究戶i和用戶j之間的相似性為:

②修正的餘弦相似性 (AdjustedCosine):餘弦相似度未考慮到用戶評分尺度問題,如在評分區間[1一5]的情況下,對用戶甲來說評分3以上就是自己喜歡的,而對於用戶乙,評分4以上才是自己喜歡的。通過減去用戶對項的平均評分,修正的餘弦相似性度量方法改善了以上問題。用幾表示用戶i和用戶j共同評分過的項集合,Ii和壽分別表示用戶i和用戶j評分過的項集合,則用戶i和用戶j之間的相似性為:

③相關相似性(Correlation)此方法是採用皮爾森(Pearson)相關係數來進行度量。設Iij表示用戶i和用戶j共同評分過的項目集合,則用戶i和用戶j之間相似性為:

在得到目標用戶的最近鄰居以後,接著就要產生相應的推薦結果。設NNu為用戶u的最近鄰居集合,則用戶u對項j的預測評分Puj計算公式如下:

原文:基於協同過濾的推薦系統_xiaoli_新浪博客


嗯,看到這裡也是有少許疑問。@

王浩 老師提及的修正餘弦公式和皮爾森相關係數公式都是針對item-based CF計算item-item之間相似性的,所以修正餘弦公式減去了用戶的打分均值,皮爾森相關係數公式減去了item得分均值。那麼,這裡有個疑問請教 @王浩 老師,如果換成計算user-user之間的相似性,那麼,修正餘弦公式當中的減去的是否依然是用戶評分均值?而皮爾森公式中減去的是否應該是用戶評分均值了呢?我理解計算user相似度使用行數據,計算item相似度使用列數據,所以皮爾森去中心化使用的向量均值有所變換。而修正餘弦始終是為了消除用戶打分主觀帶來的量綱偏差,所以一直使用用戶打分均值去中心化。不知道這個理解是否正確?還請指教。多謝。

以下參考內容出自:

=================================================

Item-based Collaborative Filtering Recommendation Algorithms

Badrul Sarwar, George Karypis, Joseph Konstan, and John Riedl

GroupLens Research Group/Army HPC Research Center

Department of Computer Science and Engineering

University of Minnesota, Minneapolis, MN 55455

{sarwar, karypis, konstan, riedl}@http://cs.umn.edu

Appears in WWW10, May 1-5, 2001, Hong Kong.

=================================================

另外,參見用戶評分矩陣的說明部分如下:

3.1 Item Similarity Computation

One critical step in the item-based collaborative filtering algorithm is to compute the similarity between items and then to select the most similar items. The basic idea in similarity computation between two items i and j is to first isolate the users who have rated both of these items and then to apply a similarity computation technique to determine the similarity si, j . Figure 2 illustrates this process, here the matrix rows represent users and the columns represent items.There are a number of different ways to compute the similarity between items. Here we present three such methods.These are cosine-based similarity, correlation-based similarity and adjusted-cosine similarity.


請問修正餘弦相似度和皮爾森係數會是負數嗎?


不一樣,在《協同過濾推薦演算法綜述

作者: 馬宏偉, 張光衛, 李鵬》上,顯示的是修正的餘弦和Pearson相關係數的區別,公式分別為: 我之前也是懷疑是一樣的,但是仔細看過之後,發現。 兩者分母一樣,修正餘弦的分母為: 用戶的長度為整個評分項目上的長度, 而Pearson相關相似性則是在 : 用戶的長度共同評分項目的基礎上的長度。


修正餘弦相似度和皮爾森係數

2者其實計算出答案是一樣的,沒有區別,你想想,皮爾遜相關係數分母上的標準差不就是「每一項減去均值後求向量模」嗎? 皮爾遜相關係數分子上的協方差E((X-E(X)(Y-E(Y))) 不就是 "每一項減去均值後"求向量內積嗎


推薦閱讀:

歐氏距離和餘弦相似度的區別是什麼?
新聞聚合,提取可讀的主題如何實現?
數據分析師(CDA)和數據項目分析師(CPDA)的區別?在認證方面有什麼不同嗎?
大數據 預測未來,在哪些領域已經有非常準確的結果?
大數據真的有意義么?

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