餘弦相似度 —— Cosine Similarity

餘弦相似度用向量空間中兩個向量夾角的餘弦值作爲衡量兩個個體間差異的大小。相比距離度量,餘弦相似度更加註重兩個向量在方向上的差異,而非距離或長度上。

與歐幾里德距離類似,基於餘弦相似度的計算方法也是把用戶的喜好作爲n-維座標系中的一個點,通過連接這個點與座標系的原點構成一條直線(向量),兩個用戶之間的相似度值就是兩條直線(向量)間夾角的餘弦值。因爲連接代表用戶評分的點與原點的直線都會相交於原點,夾角越小代表兩個用戶越相似,夾角越大代表兩個用戶的相似度越小。同時在三角係數中,角的餘弦值是在[-1, 1]之間的,0度角的餘弦值是1,180角的餘弦值是-1。

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

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

根據歐氏距離和餘弦相似度各自的計算方式和衡量特徵,分別適用於不同的數據分析模型:歐氏距離能夠體現個體數值特徵的絕對差異,所以更多的用於需要從維度的數值大小中體現差異的分析,如使用用戶行爲指標分析用戶價值的相似度或差異;而餘弦相似度更多的是從方向上區分差異,而對絕對的數值不敏感,更多的用於使用用戶對內容評分來區分用戶興趣的相似度和差異,同時修正了用戶間可能存在的度量標準不統一的問題(因爲餘弦相似度對絕對數值不敏感)。

調整餘弦相似度 —— Adjusted Cosine Similarity
在餘弦相似度的介紹中說到:餘弦相似度更多的是從方向上區分差異,而對絕對的數值不敏感。因此沒法衡量每個維數值的差異,會導致這樣一個情況:比如用戶對內容評分,5分制,X和Y兩個用戶對兩個內容的評分分別爲(1,2)和(4,5),使用餘弦相似度得出的結果是0.98,兩者極爲相似,但從評分上看X似乎不喜歡這2個內容,而Y比較喜歡,餘弦相似度對數值的不敏感導致了結果的誤差,需要修正這種不合理性,就出現了調整餘弦相似度,即所有維度上的數值都減去一個均值,比如X和Y的評分均值都是3,那麼調整後爲(-2,-1)和(1,2),再用餘弦相似度計算,得到-0.8,相似度爲負值並且差異不小,但顯然更加符合現實。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章