机器学习-距离度量

距离的基本性质

  • 非负性:距离一定大于等于0
  • 同一性:如果距离为0,两点相同
  • 对称性:a ~ b的距离等于b ~ a的距离
  • 直递性:a ~ c的距离<= a ~ b 加上 b ~ c

闵可夫斯基距离

闵氏距离不是一种距离,而是一组距离的定义。
两个n维变量的距离如下

d = ∑ k = 1 n ∣ x 1 k − x 2 k ∣ p p d = \sqrt[p]{\sum_{k=1}^n | x_{1k} -x_{2k}|^p} d=pk=1nx1kx2kp

p = 1 p=1 p=1曼哈顿距离

维度绝对值之和

p = 2 p=2 p=2欧式距离

常见距离公式

p = ∞ p=\infin p=切比雪夫距离

所有维度取绝对值最大的差值

闵氏距离缺点

​ (1)将各个分量的量纲(scale),也就是“单位”相同的看待了;

​ (2)未考虑各个分量的分布(期望,方差等)可能是不同的。

标准化欧氏距离

标准化欧氏距离是针对欧氏距离的缺点而作的一种改进。

思路:既然数据各维分量的分布不一样,那先将各个分量都“标准化”到均值、方差相等。

d = ∑ k = 1 n ∣ x 1 k − x 2 k s k ∣ 2 d = \sqrt{\sum_{k=1}^n | \frac{x_{1k} -x_{2k}}{s_k} |^2} d=k=1nskx1kx2k2

加权欧氏距离

d = ∑ k = 1 n ∣ 1 x 1 k − x 2 k ∣ 2 d = \sqrt{\sum_{k=1}^n | \frac{1}{x_{1k} -x_{2k}} |^2} d=k=1nx1kx2k12

余弦距离

d = a → ⋅ b → ∣ a → ∣ + ∣ b → ∣ d =\frac{\overrightarrow{a} \cdot \overrightarrow{b}}{|\overrightarrow{a}|+|\overrightarrow{b}|} d=a +b a b

汉明距离

两个等长字符串s1与s2的汉明距离为:将其中一个变为另外一个所需要作的最小字符替换次数。(词阶问题)

杰卡德距离

衡量集合距离:统计元素个数用于计算

杰卡德相似系数 D ( A , B ) = A ⋂ B A ⋃ B D(A,B) = \frac{A \bigcap B}{A \bigcup B} D(A,B)=ABAB

杰卡德距离 D ( A , B ) = ( A ⋃ B ) − ( A ⋂ B ) A ⋃ B D(A,B) = \frac{(A \bigcup B) - (A \bigcap B)}{A \bigcup B} D(A,B)=AB(AB)(AB)

马氏距离(待完善)

马氏距离是基于样本分布的一种距离,考虑到各种特性之间的联系。
1.量纲无关,排除变量之间的相关性的干扰;

2.马氏距离的计算是建立在总体样本的基础上的,如果拿同样的两个样本,放入两个不同的总体中,最后计算得出的两个样本间的马氏距离通常是不相同的,除非这两个总体的协方差矩阵碰巧相同;

3 .计算马氏距离过程中,要求总体样本数大于样本的维数,否则得到的总体样本协方差矩阵逆矩阵不存在,这种情况下,用欧式距离计算即可。

4.还有一种情况,满足了条件总体样本数大于样本的维数,但是协方差矩阵的逆矩阵仍然不存在,比如三个样本点(3,4),(5,6),(7,8),这种情况是因为这三个样本在其所处的二维空间平面内共线。这种情况下,也采用欧式距离计算。

python中的距离度量方法

a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值