matlab實現余弦相似度 余弦距離介紹

2021-10-14 03:14:44 字數 992 閱讀 2664

概述:在機器學習領域中,通常將特徵表示為向量的形式,所以在分析兩個特徵向量之間的相似性時,常用余弦相似度表示。例如將兩篇文章向量化,余弦距離可以避免因為文章的長度不同而導致距離偏大,余弦距離只考慮兩篇文章生成的向量的夾角。

余弦相似度的取值範圍是[-1,1],相同兩個向量的之間的相似度為1。

余弦距離的取值範圍是[0,2]。

余弦相似度的定義公式為

歸一化後

余弦距離:

歐式距離:

由公式可以看出歸一化後,歐式距離與余弦距離存在單調性關係。此時兩種距離的值域都為[0,2]。

歐式距離與余弦距離的對比:

歐式距離的數值受到維度的影響,余弦相似度在高維的情況下也依然保持低維完全相同時相似度為1等性質。

2. 歐式距離體現的是距離上的絕對差異,余弦距離體現的是方向上的相對差異。

不同情況不同選擇:

兩個人分別取了藍球(1,0)與紅球(0,1),這兩個向量的歐式距離較小,可是事實是這兩個球是不同的,而余弦距離為2表示的是完全不同的意思。所以在這種情況下選擇余弦距離更具合理性。

余弦距離滿足正定性和對稱性,但是不滿足三角不等式,因此余弦距離不是乙個嚴格定義的距離。

距離的定義:

在乙個集合中,如果每一對元素均可唯一確定乙個實數,使得三條距離公理(正定性,對稱性,三角不等式)成立,則該實數可以稱為這對元素之間的距離。

證明:

正定性:余弦距離公式:

,因為

,所以

滿足正定性。

對稱性:,滿足對稱性。

三角不等式:給定a=(1,0),b=(1,1),c=(0,1),則有

因此有

所以得出余弦距離不符合三角不等式。

余弦相似度

余弦距離 歐氏距離和傑卡德相似性度量的對比分析 1 余弦距離 余弦距離,也稱為余弦相似度,是用向量空間中兩個向量夾角的余弦值作為衡量兩個個體間差異的大小的度量。向量,是多維空間中有方向的線段,如果兩個向量的方向一致,即夾角接近零,那麼這兩個向量就相近。而要確定兩個向量方向是否一致,這就要用到餘弦定理...

余弦相似度

基於餘弦定理計算相似度的應用很多,比如推薦系統中的協同過濾,計算文字的相似性等等。它用計算兩者空間向量的夾角來表示兩者的相似性。先看一下餘弦定理的公式 wu v u ivi u2i v 2i 上訴公式表示uv兩者的相似度,ui表示u在i緯度的數值。在使用者行為資料 使用者只有操作和未操作兩種狀態,也...

余弦相似度

余弦距離,也稱為余弦相似度,是用向量空間中兩個向量夾角的余弦值作為衡量兩個個體間差異的大小的度量。相比距離度量,余弦相似度更加注重兩個向量在方向上的差異,而非距離或長度上。公式如下 python實現如下 import numpy as np from scipy.spatial.distance i...