机器学习笔记——各类距离

目录

前言

欧氏距离

闵式距离

马氏距离

KL距离和Wasserstein距离

总结


前言

        博主最近在学习深度学习的过程中,遇到了Wasserstein距离的相关内容,发现自己对机器学习的距离概念还是不够深刻或者熟悉,所以以笔记的形式再总结一遍,同样分享给有相同需求的同志。

        本文只是简略版本,肯定也会有一些错误,欢迎指出~也欢迎交流~

        首先我们需要知道什么是距离?要指出一个距离,首先需要至少两个事物,它们可以是向量、函数、概率分布或者其他东西,但是有一个大前提是,它们可以具有或多或少的相似性,但不能形式上完全没有相似性。比如,函数f(x)和太阳系的距离,这个我们根本无法表示,也不需要表示。换句话说,距离是一种衡量相似性的度量

        对于距离的定义虽然有三种,但是基本上满足三点:对于\forall x,y,z

  1. 非负性:d\left ( x,y \right ) \geq 0
  2. 对称性:d\left ( x,y \right ) = d\left ( y,x \right )
  3. 三角不等式:d\left ( x,y \right )+d\left ( y,z \right )\geq d\left ( x,z \right )

欧氏距离

        欧式距离是最常用,也是最直接的距离,它衡量的是两个向量在向量空间中的相似性。直观上来说 ,就是这两点之间的直线距离,假设两点x=\left ( x_{1} ,x_{2},...,x_{n}\right ),y=\left ( y_{1} ,y_{2},...,y_{n}\right ),两者之间的欧式距离表示为:

        d\left ( x,y \right ) = \left ( \sum _{i=1}^{n}\left ( x_{i}-y_{i} \right )^{2} \right )^{\frac{1}{2}}

        很明显我们可以发现,欧氏距离只能用在欧几里得空间中,即向量空间中。所以,欧氏距离基本上都用在对于向量的处理上,比如聚类任务中,迭代过程中,每个点选择最优簇中心的时候,使用的就是欧氏距离。而且这里需要注意的是,欧氏距离并没有排除量纲的影响

闵式距离

        闵式距离也是一个应用非常广泛,也非常重要的距离,拓展性也很强。同样的,闵式距离也是在向量空间中,衡量两个向量之间的相似性。假设两点x=\left ( x_{1} ,x_{2},...,x_{n}\right ),y=\left ( y_{1} ,y_{2},...,y_{n}\right ),两者之间的闵式距离表示为:

        d\left ( x,y \right )=\left ( \sum_{i=1}^{n}\left ( x_{i}-y_{i} \right )^{p} \right )^{\frac{1}{p]}}

        其中,p为参数,在正整数上取值。很显然,当p=2时,这个距离就是前文介绍的欧氏距离。另外,p=1时,称为曼哈顿距离,这个距离主要应用在城市网络中,对于规则的节点网格而言,两点之间的距离就是其路径的长度,也即坐标差绝对值和;p\rightarrow \infty时,称为切比雪夫距离,其实际上衡量的是两点之间坐标差的绝对值的最大值。

        很显然的是,闵式距离也没有排除量纲的影响。

马氏距离

        我们知道,在统计学中,两个变量之间可能会存在相关性,那么这种衡量这种相关性,在高维空间中,我们使用了协方差矩阵\sum这个概念。那么,从这个角度,我们可以给出两个样本集之间的一种相似性的衡量,并且和量纲无关,就是马氏距离。假设存在n个变量X_{1},X_{2},...,X_{n},我们用x统一表示,即x=\left ( X_{1}, X_{2}, ... ,X_{n} \right )^{T},而每个变量的期望值是\mu _{i},所以同样的有\eta =\left ( \eta _{1}, \eta_{2}, ... \eta_{n} \right )^{T},而协方差矩阵可以表示为:

        \underset{ij}{\sum }= cov\left ( X_{i},X_{j} \right )=E\left [ (X_{i}-\eta _{i})(X_{j}-\eta _{j}) \right ]

        而马氏距离表示为:

        d\left ( x \right ) = \sqrt{\left ( x-\eta \right )^{T}\sum ^{-1}\left ( x-\eta \right )}

        换个角度想,如果n=2,马氏距离可以理解为服从同一分布的两个变量X,Y之间的差异程度。

KL距离和Wasserstein距离

        KL距离也叫Kullback-Leibler散度,相对熵等。其描述的是两个概率分布之间的差异程度,这里需要特别注意:KL距离是不对称的!对于两个概率分布P、Q的概率密度函数p(x)、q(x)而言,其KL距离表示为:

        D\left ( P,Q \right ) = \sum _{x\in X}p\left ( x \right )log\frac{p\left ( x \right )}{q\left ( x \right )}

        这里我们额外共同约定:0log(0/q)=0,p log(p/0) = \infty

        另外,关于两个分布之间的差异性,我们也可以这样理解。一个分布需要转化成另一个分布,从分布图上看,就像是一个一个柱子推成另一堆柱子,而这么做所需要花费的最小成本就是推土机距离,也就是Wasserstein距离。对于分布P、Q,两者之间的Wasserstein距离表示为:

        d\left ( P,Q \right )= \left ( \underset{\gamma \in \prod \left ( P,Q \right )}{inf} \int _{X,Y}d\left ( x,y \right )^{p}d\gamma \left ( x,y \right )\ \right )^{\frac{1}{p}}

        其中p为参数,取正整数;d(x,y)为两者距离,通常为欧氏距离,\prod \left ( P,Q \right )为P,Q所有联合分布的集合。相比于KL距离,Wasserstein距离在高维空间中有更好的表现。

总结

        总的来说,距离的使用往往基于不同的学习任务,所以,在今后的模型构建中,慎重考虑使用哪种距离是非常重要的。

        希望你今天开心~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

celesite.

赛博讨口子~

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

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

打赏作者

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

抵扣说明:

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

余额充值