最近在做「判斷兩段文字的語義相似度」的事情,實驗中用doc2vec做文字向量化,用余弦值衡量文字相似度。
##那麼為什麼選用余弦呢?
如向量的維度是3,有三段文字a、b、c,文字向量化之後的結果假如如下:a=(1,0,0)、b=(0,1,0)、c=(10,0,0)。
我們知道doc2vec的每乙個維度都代表乙個特徵,觀察向量的數字,主**來a和c說的意思應該相似,闡述的都是第乙個維度上的含義,a和b語義應該不相似。那麼如果用歐式距離計算相似度,a和b的相似度就比a和c的相似度高,而如果用余弦計算,則答案反之。
##那麼歐式距離和余弦相似度的區別是什麼呢?
余弦相似度衡量的是維度間取值方向的一致性,注重維度之間的差異,不注重數值上的差異,而歐氏度量的正是數值上的差異性。
##那麼歐式距離和余弦相似度的應用場景是什麼呢
以下場景案例是從網上摘抄的。
歐氏距離和余弦相似度
兩者相同的地方,就是在機器學習中都可以用來計算相似度,但是兩者的含義有很大差別,以我的理解就是 前者是看成座標系中兩個點,來計算兩點之間的距離 後者是看成座標系中兩個向量,來計算兩向量之間的夾角。前者因為是點,所以一般指位置上的差別,即距離 後者因為是向量,所以一般指方向上的差別,即所成夾角。如下圖...
歐氏距離和余弦相似度
參考自 歐氏距離與余弦相似度 歐氏距離和余弦相似度 在資料分析和資料探勘的過程中,我們經常需要知道個體間差異的大小,進而評價個體的相似性和類別。最常見的是資料分析中的相關分析,資料探勘中的分類和聚類演算法,如k最近鄰 knn 和k均值 k means 來衡量兩者的差異的方法,主要分為距離度量和相似度...
歐氏距離和余弦相似度
兩者相同的地方,就是在機器學習中都可以用來計算相似度,但是兩者的含義有很大差別,以我的理解就是 前者是看成座標系中兩個點,來計算兩點之間的距離 後者是看成座標系中兩個向量,來計算兩向量之間的夾角。前者因為是點,所以一般指位置上的差別,即距離 後者因為是向量,所以一般指方向上的差別,即所成夾角。如下圖...