矩陣運算基礎 余弦距離與歐式距離

2021-08-02 18:22:10 字數 1817 閱讀 1419

1、余弦距離

余弦距離,也稱為余弦相似度,是用向量空間中兩個向量夾角的余弦值作為衡量兩個個體間差異的大小的度量。

向量,是多維空間中有方向的線段,如果兩個向量的方向一致,即夾角接近零,那麼這兩個向量就相近。而要確定兩個向量方向是否一致,這就要用到餘弦定理計算向量的夾角。

餘弦定理描述了三角形中任何乙個夾角和三個邊的關係。給定三角形的三條邊,可以使用餘弦定理求出三角形各個角的角度。假定三角形的三條邊為a,b和c,對應的三個角為a,b和c,那麼角a的余弦為:

如果將三角形的兩邊b和c看成是兩個向量,則上述公式等價於:(注:在三角形中 a = b - c, 將該式帶入餘弦定理,便可得出下面結論)

其中分母表示兩個向量b和c的長度,分子表示兩個向量的內積。

舉乙個具體的例子,假如新聞x和新聞y對應向量分別是:

x1, x2, ..., x6400和

y1, y2, ..., y6400

則,它們之間的余弦距離可以用它們之間夾角的余弦值來表示:

當兩條新聞向量夾角余弦等於1時,這兩條新聞完全重複(用這個辦法可以刪除爬蟲所收集網頁中的重複網頁);當夾角的余弦值接近於1時,兩條新聞相似(可以用作文字分類);夾角的余弦越小,兩條新聞越不相關。

2、余弦距離和歐氏距離的對比

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

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

從上圖可以看出,歐氏距離衡量的是空間各點的絕對距離,跟各個點所在的位置座標直接相關;而余弦距離衡量的是空間向量的夾角,更加體現在方向上的差異,而不是位置。如果保持a點位置不變,b點朝原方向遠離座標軸原點,那麼這個時候余弦距離 

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

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

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

3、調整余弦相似度演算法(adjusted cosine similarity)

使用者對內容評分,按5分制,x和y兩個使用者對兩個內容的評分分別為(1,2)和(4,5),使用余弦相似度得到的結果是0.98,兩者極為相似。但從評分上看x似乎不喜歡2這個 內容,而y則比較喜歡,余弦相似度對數值的不敏感導致了結果的誤差,需要修正這種不合理性就出現了調整余弦相似度,即所有維度上的數值都減去乙個均值,比如x和y的評分均值都是3,那麼調整後為(-2,-1)和(1,2),再用余弦相似度計算,得到-0.8,相似度為負值並且差異不小,但顯然更加符合現實。

那麼是否可以在(使用者-商品-行為數值)矩陣的基礎上使用調整余弦相似度計算呢?從演算法原理分析,複雜度雖然增加了,但是應該比普通余弦夾角演算法要強。

數學基礎之曼哈頓距離,歐式距離,余弦距離

曼哈頓距離,歐式距離,余弦距離 1.曼哈頓距離 曼哈頓距離又稱馬氏距離 manhattan distance 還見到過更加形象的,叫計程車距離的。具見上圖黃線,應該就能明白。計算距離最簡單的方法是曼哈頓距離。假設,先考慮二維情況,只有兩個樂隊 x 和 y,使用者a的評價為 x1,y1 使用者b的評價...

歐式距離 標準化歐式距離 馬氏距離 余弦距離

標準化歐氏距離 馬氏距離 夾角余弦距離 漢明距離 曼哈頓 manhattan 距離1,x2x1,x2 間的距離公式 ixi 的各個維度之間的尺度不一樣。對於尺度無關的解釋 如果向量中第一維元素的數量級是100,第二維的數量級是10,比如v1 100,10,30 v2 500,40 則計算歐式距離 2...

深度學習之歐式距離和余弦距離

簡單來說,余弦相似度,就是計算兩個向量間的夾角的余弦值。余弦距離就是用1減去這個獲得的余弦相似度。余弦距離取值範圍由上面的余弦距離可以知道,余弦距離的取值範圍為 0,2 這就滿足了非負性的性質。歐式距離之前提過了,就是常用的距離計算公式 當向量的模長是經過歸一化的,此時歐氏距離與余弦距離有著單調的關...