首页IT科技余弦距离 欧式距离(机器学习中的数学——距离定义(八):余弦距离(Cosine Distance))

余弦距离 欧式距离(机器学习中的数学——距离定义(八):余弦距离(Cosine Distance))

时间2025-07-17 18:16:35分类IT科技浏览4981
导读:分类目录:《机器学习中的数学》总目录...

分类目录:《机器学习中的数学》总目录

相关文章:

· 距离定义:基础知识

· 距离定义(一):欧几里得距离(Euclidean Distance)

· 距离定义(二):曼哈顿距离(Manhattan Distance)

· 距离定义(三):闵可夫斯基距离(Minkowski Distance)

· 距离定义(四):切比雪夫距离(Chebyshev Distance)

· 距离定义(五):标准化的欧几里得距离(Standardized Euclidean Distance)

· 距离定义(六):马氏距离(Mahalanobis Distance)

· 距离定义(七):兰氏距离(Lance and Williams Distance)/堪培拉距离(Canberra Distance)

· 距离定义(八):余弦距离(Cosine Distance)

· 距离定义(九):测地距离(Geodesic Distance)

· 距离定义(十): 布雷柯蒂斯距离(Bray Curtis Distance)

· 距离定义(十一):汉明距离(Hamming Distance)

· 距离定义(十二):编辑距离(Edit Distance            ,Levenshtein Distance)

· 距离定义(十三):杰卡德距离(Jaccard Distance)和杰卡德相似系数(Jaccard Similarity Coefficient)

· 距离定义(十四):Ochiia系数(Ochiia Coefficient)

· 距离定义(十五):Dice系数(Dice Coefficient)

· 距离定义(十六):豪斯多夫距离(Hausdorff Distance)

· 距离定义(十七):皮尔逊相关系数(Pearson Correlation)

· 距离定义(十八):卡方距离(Chi-square Measure)

· 距离定义(十九):交叉熵(Cross Entropy)

· 距离定义(二十):相对熵(Relative Entropy)/KL散度(Kullback-Leibler Divergence)

· 距离定义(二十一):JS散度(Jensen–Shannon Divergence)

· 距离定义(二十二):海林格距离(Hellinger Distance)

· 距离定义(二十三):α-散度(α-Divergence)

· 距离定义(二十四):F-散度(F-Divergence)

· 距离定义(二十五):布雷格曼散度(Bregman Divergence)

· 距离定义(二十六):Wasserstein距离(Wasserstei Distance)/EM距离(Earth-Mover Distance)

· 距离定义(二十七):巴氏距离(Bhattacharyya Distance)

· 距离定义(二十八):最大均值差异(Maximum Mean Discrepancy, MMD)

· 距离定义(二十九):点间互信息(Pointwise Mutual Information, PMI)

余弦距离(Cosine Distance)也可以叫余弦相似度            。 几何中夹角余弦可用来衡量两个向量方向的差异                    ,机器学习中借用这一概念来衡量样本向量之间的差异                    。相比距离度量       ,余弦相似度更加注重两个向量在方向上的差异         ,而非距离或长度上       。

n

n

n

维空间中的余弦距离为:

cos

(

x

,

y

)

=

x

y

x

y

=

i

=

1

n

x

i

y

i

i

=

1

n

x

i

2

i

=

1

n

y

i

2

\cos(x, y)=\frac{x\cdot y}{|x|\cdot|y|}=\frac{\sum_{i=1}^nx_iy_i}{\sqrt{\sum_{i=1}^nx_i^2}\sqrt{\sum_{i=1}^ny_i^2}}

cos(x,y)=xyxy=i=1nxi2i=1nyi2i=1nxiyi

余弦取值范围为

[

1

,

1

]

[-1,1]

[1,1]                   ,求得两个向量的夹角           ,并得出夹角对应的余弦值      ,此余弦值就可以用来表示这两个向量的相似性         。夹角越小                  ,趋近于0度              ,余弦值越接近于1   ,它们的方向更加吻合                  ,则越相似;当两个向量的方向完全相反夹角余弦取最小值-1;当余弦值为0时                 ,两向量正交,夹角为90度                   。因此可以看出               ,余弦相似度与向量的幅值无关                    ,只与向量的方向相关           。

下面我们来看一下余弦距离的Python实现:

def CosineDistance(x, y): import numpy as np x = np.array(x) y = np.array(y) return np.dot(x,y)/(np.linalg.norm(x)*np.linalg.norm(y))

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
mac怎么设置搜狗为默认输入法(mac系统怎么设置搜狗输入法为默认输入法?) 企业网站如何做好百度SEO优化?(教你5个小技巧,让你的网站更容易上百度首页)