距离度量:欧氏距离,余弦距离,KL散度,马氏距离(含python代码实现)

本文深入探讨了多种距离度量方法,包括欧氏距离、余弦距离、KL散度、马哈拉诺比斯距离等,详细解释了它们的定义、应用场景及计算方式,并通过实例代码展示了欧氏距离和余弦距离的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 欧氏距离(Euclidean Distance)

欧氏距离,又称欧几里得度量,绝对距离, 是欧几里得空间中两点间“普通”(即直线)距离。

定义如下:
在这里插入图片描述

2. 余弦距离(余弦相似度)

余弦距离,Cosine distance, 是用两个向量的夹角的余弦来衡量向量A,B的距离,余弦相似性最常用于高维正空间。
例如在信息检索中,每个词项被赋予不同的维度,而一个文档由一个向量表示,其各个维度上的值对应于该词项在文档中出现的频率。余弦相似度因此可以给出两篇文档在其主题方面的相似度。
在这里插入图片描述

余弦距离关注的是向量的角度关系,不关心绝对大小,取值 [-1,1].

2. 1 余弦距离和欧氏距离的区别,联系

归一化后的欧式距离和余弦距离关系:
在这里插入图片描述
(1)欧氏距离体现了绝对差异,余弦距离体现方向上的相对差异。

如果分析两个用户对不同视频的偏好,更关注相对差异,需要使用余弦距离。比如用户A的观看向量(0,1),B的观看向量(1,0),这时余弦距离是很大的。
如果分析用户的活跃度,如登录的次数,时长,这时,需要使用欧氏距离。

3. KL散度

在这里插入图片描述

4. 马哈拉诺比斯距离

马哈拉诺比斯距离, Mahalanobis distance, 表示数据的协方差距离。它是一种有效的计算两个未知样本集的相似度的方法。

与欧氏距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的)并且是尺度无关的(scale-invariant),即独立于测量尺度。 对于一个均值为 μ = ( μ 1 , μ 2 , μ 3 , … , μ p ) T {\displaystyle \mu =(\mu _{1},\mu _{2},\mu _{3},\dots ,\mu _{p})^{T}} μ=(μ1,μ2,μ3,,μp)T,协方差矩阵为 Σ {\displaystyle \Sigma } Σ 的多变量向量 x = ( x 1 , x 2 , x 3 , … , x p ) T {\displaystyle x=(x_{1},x_{2},x_{3},\dots ,x_{p})^{T}} x=(x1,x2,x3,,xp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rosefunR

你的赞赏是我创作的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值