向量距离、随机变量相关性与概率分布的差异度量
向量距离度量
距离的定义:
在一个集合中,如果每一对元素均可唯一确定一个实数,使得三条距离公理(正定性,对称性,三角不等式)成立,则该实数可以称为这对元素之间的距离。
欧氏距离
定义在两个向量(两个点)上:点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σYCov(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)logQ(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)logP(x)H(X)=-\sum_{i=1} P(x) \log {P(x)}H(X)=−∑i=1P(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)logP(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)logp(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)=21DKL(P∣∣M)+21DKL(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,jfijd(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
向量距离、随机变量相关性与概率分布的差异度量相关推荐
- 机器学习中的度量—— 向量距离
机器学习是时下流行AI技术中一个很重要的方向,无论是有监督学习还是无监督学习都使用各种"度量"来得到不同样本数据的差异度或者不同样本数据的相似度.良好的"度量" ...
- 向量距离计算 java_在机器学习中扮演着极为重要角色的向量
本章要点: 向量: 欧氏距离: 曼哈顿距离: 切比雪夫距离. 无论是在现实世界里,还是在人工智能领域中,"距离"都是一个相当重要的度量手段:在现实世界中,"距离" ...
- 随机变量函数的概率分布
随机变量函数的概率分布 作者: kagula 日期: 2020-11-28 正文 本文的内容"已知随机变量X及其概率密度, 随机变量Y=g(X), 如何求Y的概率密度." 随机变量 ...
- 卷积定理的简单应用:随机变量之和的概率分布
[卷积定理的简单应用:随机变量之和的概率分布]
- 向量距离汇总(连续值与离散值),Latex与Python实现
文章目录 1. 闵可夫斯基距离 Minkowski Distance p=1时 曼哈顿距离 Manhattan Distance p=2时 欧氏距离 Euclidean Distance 标准化欧氏距 ...
- 概率论信息论基础(随机变量、常用概率分布、贝叶斯规则、信息论基础、结构化概率模型)
目录 随机变量及其概率分布 独立性 期望方差协方差 常用概率分布 常用函数 贝叶斯规则 信息论基础 结构化概率模型 如果这篇文章对你有一点小小的帮助,请给个关注喔~我会非常开心的~ 随机变量及其概率分 ...
- 向量距离计算 java_Milvus 向量搜索引擎开源了!
GitHub:https://github.com/milvus-io/milvus Milvus 能够帮助用户轻松应对海量非结构化数据(图片/视频/语音/文本)检索.单节点 Milvus 可以在秒内 ...
- 统计学基础(三)—数据的概率分布与差异检验方法
1 四种数: 平均值:看某一组数据的平均情况(注:平均数对异常值的敏感程度太低,其结果往往很有争议) 四分位数:用来比较不同类别数据的整体情况:通过箱线图可以用来检验出异常值 标准差:用来衡量数据的波 ...
- matlab 两个向量的交集,matlab – 两个向量之间的相关性?
鉴于: A_1 = [10 200 7 150]'; A_2 = [0.001 0.450 0.007 0.200]'; (正如其他人已经指出的)有简单的计算相关性的工具,最明显的是: corr(A_ ...
最新文章
- ssh 登陆mysql数据库_mysql命令行客户端如何通过ssh服务器连接数据库啊?
- 华为NPU卡ubuntu(无网络连接情况)驱动安装记录
- 【Linux 内核 内存管理】RCU 机制 ④ ( RCU 模式下更新链表项 list_replace_rcu 函数 | 链表操作时使用 smp_wmb() 函数保证代码执行顺序 )
- 利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
- linux java uml_简单实用UML关系图解
- 查找乱码字符串的SQL
- 有没有检查c语言编译错误的软件,求大佬解答,为什么这个程序编译软件检查不出错误...
- 迭代器 java_百战程序员:Java设计模式之迭代器模式
- 2018年最值得关注的15大技术趋势
- 一招教你如何修复MySQL slave中继日志损坏问题
- java_interface的用法_Java注释@interface的用法
- javac与java版本不一致
- 2019-06-19 阿里巴巴三面
- pip install -r requirements.txt 报错。
- SVN分支管理那些事儿
- matlab求一维热传导方程数值解代码,一维热传导方程数值解法及matlab实现
- 必备效率:一个让你不再加班的小白编程课
- android qq 功能,Android-类qq功能(一)
- 学习springboot第一天
- 《C语言入门经典》Ivor Horton第十章练习题1
热门文章
- 电脑和树莓派之间传输文件
- java基础--java中HashMap原理
- 通过Apache PDFBox将pdf转换为word
- windows server 2016 搭建AD域服务
- FreeCAD-0.19源码编译教程
- python+ tkinter做的一个项目辅助测试工具
- CVE-2022-40684 Fortinet(飞塔)身份验证绕过漏洞
- dubbo 获取不到本地地址,返回 127.0.0.1
- wzoi基础题库7:竖式计算
- Python 下载文件获取文件名request.get(...,stream=True)