向量距离度量


距离的定义:

在一个集合中,如果每一对元素均可唯一确定一个实数,使得三条距离公理(正定性,对称性,三角不等式)成立,则该实数可以称为这对元素之间的距离。

欧氏距离

定义在两个向量(两个点)上:点x\mathbf{x}x和点y\mathbf{y}y的欧氏距离为:

dEuclidean=(x−y)⊤(x−y)d_{Euclidean}=\sqrt{(\mathbf{x}-\mathbf{y})^\top (\mathbf{x}-\mathbf{y})} dEuclidean​=(x−y)⊤(x−y)​

曼哈顿距离

Manhattan Distance(L1范数),也称为城市街区距离(City Block distance)。
定义在两个向量(两个点)上:点x\mathbf{x}x和点y\mathbf{y}y的曼哈顿距离为:

dManhattan=∣x−y∣d_{Manhattan}=|\mathbf{x}-\mathbf{y}| dManhattan​=∣x−y∣

闵可夫斯基距离

Minkowski distance, 两个向量(点)的ppp阶距离:

dMinkowski=(∣x−y∣p)1/pd_{Minkowski}=(|\mathbf{x}-\mathbf{y}|^p)^{1/p} dMinkowski​=(∣x−y∣p)1/p

当p=1p=1p=1时就是曼哈顿距离,当p=2p=2p=2时就是欧氏距离。

马氏距离

定义在两个向量(两个点)上,这两个点在同一个分布里。点x\mathbf{x}x和点y\mathbf{y}y的马氏距离为:

dMahalanobis=(x−y)⊤Σ−1(x−y)d_{Mahalanobis}=\sqrt{(\mathbf{x}-\mathbf{y})^\top \Sigma^{-1} (\mathbf{x}-\mathbf{y})} dMahalanobis​=(x−y)⊤Σ−1(x−y)​

其中,Σ\SigmaΣ是这个分布的协方差,Cov⁡(X,Y)=E[(X−μx)(Y−μy)]\operatorname{Cov}(X, Y)=E\left[\left(X-\mu_{x}\right)\left(Y-\mu_{y}\right)\right]Cov(X,Y)=E[(X−μx​)(Y−μy​)]。

当Σ=I\Sigma=\mathbf{I}Σ=I时,马氏距离退化为欧氏距离。

余弦相似度

衡量两个向量的相关性(夹角的余弦)。向量x,y\mathbf{x},\mathbf{y}x,y的余弦相似度为:

cos⁡(x,y)=x⋅y∣x∣⋅∣y∣\cos (\mathbf{x},\mathbf{y}) = \frac{\mathbf{x} \cdot \mathbf{y}}{|\mathbf{x}|\cdot |\mathbf{y}|} cos(x,y)=∣x∣⋅∣y∣x⋅y​

理解:向量的内积除以向量的数量积。

欧式距离与余弦距离的对比:

1 .欧式距离的数值受到维度的影响,余弦相似度在高维的情况下也依然保持低维完全相同时相似度为1等性质。
2. 欧式距离体现的是距离上的绝对差异,余弦距离体现的是方向上的相对差异。

余弦距离满足正定性和对称性,但是不满足三角不等式|a+b|<=|a|+|b|,因此余弦距离不是一个严格定义的距离。

随机变量的相关性


皮尔逊相关系数

衡量两个随机变量的相关性。随机变量X,YX,YX,Y的Pearson相关系数为:

ρX,Y=Cov(X,Y)σXσY\rho_{X,Y}=\frac{Cov(X,Y)}{\sigma_X \sigma_Y} ρX,Y​=σX​σY​Cov(X,Y)​

理解:协方差矩阵除以标准差之积。

范围:[-1,1],绝对值越大表示(正/负)相关性越大。

Jaccard相关系数

对两个集合X,YX,YX,Y,判断他们的相关性,借用集合的手段:

J=X∩YX∪YJ=\frac{X \cap Y}{X \cup Y} J=X∪YX∩Y​

理解:两个集合的交集除以并集。

扩展:杰卡德Jaccard距离=1−J1-J1−J。

概率分布的差异度量


交叉熵

交叉熵度量两个概率分布间的差异性信息:
H(P,Q)=−∑i=1P(x)log⁡Q(x)H(P,Q)=-\sum_{i=1} P(x) \log{Q(x)} H(P,Q)=−i=1∑​P(x)logQ(x)
其中,P为真实分布,Q一般为数据估计的分布。
信息量,一个具体事件发生所带来的信息。h(x)=−logP(x)h(x)=-log {P(x)}h(x)=−logP(x)

信息熵,所有可能发生事件所带来的信息量的期望。H(X)=−∑i=1P(x)log⁡P(x)H(X)=-\sum_{i=1} P(x) \log {P(x)}H(X)=−∑i=1​P(x)logP(x)

KL散度

Kullback–Leibler divergence,相对熵,衡量两个概率分布P(x),Q(x)P(x),Q(x)P(x),Q(x)的距离:

DKL(P∣∣Q)=∑i=1P(x)log⁡P(x)Q(x)D_{KL}(P||Q)=\sum_{i=1} P(x) \log \frac{P(x)}{Q(x)} DKL​(P∣∣Q)=i=1∑​P(x)logQ(x)P(x)​

非对称距离:DKL(P∣∣Q)≠DKL(Q∣∣P)D_{KL}(P||Q) \ne D_{KL}(Q||P)DKL​(P∣∣Q)​=DKL​(Q∣∣P).

互信息

定义在两个概率分布X,YX,YX,Y上,x∈X,y∈Yx \in X,y \in Yx∈X,y∈Y.它们的互信息为联合分布p(x,y)p(x,y)p(x,y)和边缘分布p(x)p(y)p(x)p(y)p(x)p(y)的相对熵:

I(X;Y)=∑x∈X∑y∈Yp(x,y)log⁡p(x,y)p(x)p(y)I(X;Y)=\sum_{x \in X} \sum_{y \in Y} p(x,y) \log \frac{p(x,y)}{p(x)p(y)} I(X;Y)=x∈X∑​y∈Y∑​p(x,y)logp(x)p(y)p(x,y)​

JS距离

Jensen–Shannon divergence,基于KL散度发展而来,是对称度量:

JSD(P∣∣Q)=12DKL(P∣∣M)+12DKL(Q∣∣M)JSD(P||Q)= \frac{1}{2} D_{KL}(P||M) + \frac{1}{2} D_{KL}(Q||M) JSD(P∣∣Q)=21​DKL​(P∣∣M)+21​DKL​(Q∣∣M)

其中M=12(P+Q)M=\frac{1}{2}(P+Q)M=21​(P+Q)。是对称度量。

MMD距离

Maximum mean discrepancy,度量在再生希尔伯特空间中两个分布的距离,是一种核学习方法。两个随机变量的距离为:

MMD(X,Y)=∥∑i=1n1ϕ(x∗i)−∑∗j=1n2ϕ(y∗j)∥2∗HMMD(X,Y)=\left \Vert \sum_{i=1}^{n_1}\phi(\mathbf{x}*i)- \sum*{j=1}^{n_2}\phi(\mathbf{y}*j) \right \Vert^2*\mathcal{H} MMD(X,Y)=∥∥∥∥∥​i=1∑n1​​ϕ(x∗i)−∑∗j=1n2​ϕ(y∗j)∥∥∥∥∥​2∗H

其中ϕ(⋅)\phi(\cdot)ϕ(⋅)是映射,用于把原变量映射到高维空间中。

理解:就是求两堆数据在高维空间中的均值的距离。

Principal angle

也是将两个分布映射到高维空间(格拉斯曼流形)中,在流形中两堆数据就可以看成两个点。Principal angle是求这两堆数据的对应维度的夹角之和。对于两个矩阵X,Y\mathbf{X},\mathbf{Y}X,Y,计算方法:首先正交化两个矩阵,然后:

PA(X,Y)=∑i=1min⁡(m,n)sin⁡θiPA(\mathbf{X},\mathbf{Y})=\sum_{i=1}^{\min(m,n)} \sin \theta_i PA(X,Y)=i=1∑min(m,n)​sinθi​

其中m,nm,nm,n分别是两个矩阵的维度,θi\theta_iθi​是两个矩阵第iii个维度的夹角,Θ=θ1,θ2,⋯,θt\Theta={\theta_1,\theta_2,\cdots,\theta_t}Θ=θ1​,θ2​,⋯,θt​是两个矩阵SVD后的角度:

X⊤Y=U(cos⁡Θ)V⊤\mathbf{X}^\top\mathbf{Y}=\mathbf{U} (\cos \Theta) \mathbf{V}^\top X⊤Y=U(cosΘ)V⊤

HSIC

希尔伯特-施密特独立性系数,Hilbert-Schmidt Independence Criterion,用来检验两组数据的独立性:

HSIC(X,Y)=trace(HXHY)HSIC(X,Y) = trace(HXHY) HSIC(X,Y)=trace(HXHY)

其中X,YX,YX,Y是两堆数据的kernel形式。

Earth Mover’s Distance

推土机距离,度量两个分布之间的距离,又叫Wasserstein distance。以最优运输的观点来看,就是分布XXX能够变换成分布YYY所需要的最小代价:

一个二分图上的流问题,最小代价就是最小流,用匈牙利算法可以解决。

emd(X,Y)=min⁡∑i,jfijd(xi,yj)∑jwyjemd(X,Y)=\min{\frac{\sum_{i,j}f_{ij}d(\textbf{x}i,\textbf{y}j)}{\sum{j}w{yj}}} emd(X,Y)=min∑jwyj∑i,j​fij​d(xi,yj)​
约束条件为

s.t.∑ifij=wyj,∑jfij=wxi.s.t. \sum_{i}f_{ij}=w_{yj}, \sum_{j}f_{ij}=w_{xi}. s.t.i∑​fij​=wyj​,j∑​fij​=wxi​.

References

向量距离、随机变量相关性与概率分布的差异度量相关推荐

  1. 机器学习中的度量—— 向量距离

    机器学习是时下流行AI技术中一个很重要的方向,无论是有监督学习还是无监督学习都使用各种"度量"来得到不同样本数据的差异度或者不同样本数据的相似度.良好的"度量" ...

  2. 向量距离计算 java_在机器学习中扮演着极为重要角色的向量

    本章要点: 向量: 欧氏距离: 曼哈顿距离: 切比雪夫距离. 无论是在现实世界里,还是在人工智能领域中,"距离"都是一个相当重要的度量手段:在现实世界中,"距离" ...

  3. 随机变量函数的概率分布

    随机变量函数的概率分布 作者: kagula 日期: 2020-11-28 正文 本文的内容"已知随机变量X及其概率密度, 随机变量Y=g(X), 如何求Y的概率密度." 随机变量 ...

  4. 卷积定理的简单应用:随机变量之和的概率分布

    [卷积定理的简单应用:随机变量之和的概率分布]

  5. 向量距离汇总(连续值与离散值),Latex与Python实现

    文章目录 1. 闵可夫斯基距离 Minkowski Distance p=1时 曼哈顿距离 Manhattan Distance p=2时 欧氏距离 Euclidean Distance 标准化欧氏距 ...

  6. 概率论信息论基础(随机变量、常用概率分布、贝叶斯规则、信息论基础、结构化概率模型)

    目录 随机变量及其概率分布 独立性 期望方差协方差 常用概率分布 常用函数 贝叶斯规则 信息论基础 结构化概率模型 如果这篇文章对你有一点小小的帮助,请给个关注喔~我会非常开心的~ 随机变量及其概率分 ...

  7. 向量距离计算 java_Milvus 向量搜索引擎开源了!

    GitHub:https://github.com/milvus-io/milvus Milvus 能够帮助用户轻松应对海量非结构化数据(图片/视频/语音/文本)检索.单节点 Milvus 可以在秒内 ...

  8. 统计学基础(三)—数据的概率分布与差异检验方法

    1 四种数: 平均值:看某一组数据的平均情况(注:平均数对异常值的敏感程度太低,其结果往往很有争议) 四分位数:用来比较不同类别数据的整体情况:通过箱线图可以用来检验出异常值 标准差:用来衡量数据的波 ...

  9. matlab 两个向量的交集,matlab – 两个向量之间的相关性?

    鉴于: A_1 = [10 200 7 150]'; A_2 = [0.001 0.450 0.007 0.200]'; (正如其他人已经指出的)有简单的计算相关性的工具,最明显的是: corr(A_ ...

最新文章

  1. ssh 登陆mysql数据库_mysql命令行客户端如何通过ssh服务器连接数据库啊?
  2. 华为NPU卡ubuntu(无网络连接情况)驱动安装记录
  3. 【Linux 内核 内存管理】RCU 机制 ④ ( RCU 模式下更新链表项 list_replace_rcu 函数 | 链表操作时使用 smp_wmb() 函数保证代码执行顺序 )
  4. 利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
  5. linux java uml_简单实用UML关系图解
  6. 查找乱码字符串的SQL
  7. 有没有检查c语言编译错误的软件,求大佬解答,为什么这个程序编译软件检查不出错误...
  8. 迭代器 java_百战程序员:Java设计模式之迭代器模式
  9. 2018年最值得关注的15大技术趋势
  10. 一招教你如何修复MySQL slave中继日志损坏问题
  11. java_interface的用法_Java注释@interface的用法
  12. javac与java版本不一致
  13. 2019-06-19 阿里巴巴三面
  14. pip install -r requirements.txt 报错。
  15. SVN分支管理那些事儿
  16. matlab求一维热传导方程数值解代码,一维热传导方程数值解法及matlab实现
  17. 必备效率:一个让你不再加班的小白编程课
  18. android qq 功能,Android-类qq功能(一)
  19. 学习springboot第一天
  20. 《C语言入门经典》Ivor Horton第十章练习题1

热门文章

  1. 电脑和树莓派之间传输文件
  2. java基础--java中HashMap原理
  3. 通过Apache PDFBox将pdf转换为word
  4. windows server 2016 搭建AD域服务
  5. FreeCAD-0.19源码编译教程
  6. python+ tkinter做的一个项目辅助测试工具
  7. CVE-2022-40684 Fortinet(飞塔)身份验证绕过漏洞
  8. dubbo 获取不到本地地址,返回 127.0.0.1
  9. wzoi基础题库7:竖式计算
  10. Python 下载文件获取文件名request.get(...,stream=True)