马氏距离

多目标跟踪知识点总结

三世轮回 提交于 2020-03-11 14:52:11
知识点: 1. 马氏距离 用于相似性度量 马氏距离(Mahalanobis Distance)是一种距离的度量,可以看作是欧氏距离的一种修正,修正了欧式距离中各个维度尺度不一致且相关的问题。 单个数据点的马氏距离 数据点x, y之间的马氏距离 其中Σ是多维随机变量的协方差矩阵,μ为样本均值,如果协方差矩阵是单位向量,也就是各维度独立同分布,马氏距离就变成了欧氏距离。 2.经典方法sort 和deep sort解析: 知乎: https://zhuanlan.zhihu.com/p/59148865 3.卡尔曼滤波器 https://blog.csdn.net/coming_is_winter/article/details/79048700 4.匈牙利算法 https://blog.csdn.net/sunny_hun/article/details/80627351 5.MHT多假设跟踪算法 原论文:(ICCV2015) https://www.researchgate.net/publication/300408299_Multiple_Hypothesis_Tracking_Revisited 阅读笔记: https://blog.csdn.net/yuhq3/article/details/78436382 解释以及应用: http://gb.oversea.cnki

用三维点阵图观察马氏距离

纵然是瞬间 提交于 2020-02-22 12:28:59
//==================== 读入图片部分 ============================= Bitmap image = new Bitmap(“3obj.png”);// “Line.png” tree.png “x2.jpg” “hous.png” 白色的背景,黑区面积不要太多 int width = image.Width; int height = image.Height; //==================== 非托管[指针操作]部分 ============================= double[][] xy0 = getMs(image, width, height, 320, 240, 320, 240); double[][] xy1 = getMs(image, width, height, 150, 355, 100, 100); double[][] xy2 = getMs(image, width, height, 487, 336, 100, 100); double[][] xy3 = getMs(image, width, height, 418, 112, 100, 100); //==================== 矩阵准备部分 ============================= /

马氏距离的深入理解

徘徊边缘 提交于 2020-02-04 11:53:50
转自: http://www.cnblogs.com/kevinGaoblog/archive/2012/06/19/2555448.html 对于马氏距离,本人研究了一下,虽然看上去公式很简单的,但是其中存在很多模糊的东西,例如有很多教科书以及网络上的简要说明,下面以维基百科作为引用: 马氏距离是由印度统计学家马哈拉诺比斯( P. C. Mahalanobis )提出的,表示数据的 协方差 距离。它是一种有效的计算两个未知 样本集 的相似度的方法。与 欧氏距离 不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的)并且是尺度无关的(scale-invariant),即独立于测量尺度。 对于一个均值为 , 协方差矩阵 为Σ的多变量矢量 ,其马氏距离为 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量 与 的差异程度: 如果协方差矩阵为单位矩阵,马氏距离就简化为欧式距离;如果协方差矩阵为对角阵,其也可称为正规化的马氏距离。 其中σi是xi的 标准差 。 对于上述的马氏距离,本人研究了一下,虽然看上去公式很简单的,但是其中存在很多模糊的东西,为什么马氏距离是一种考滤到各种特性之间的联系并且是尺度无关的?为什么可以使用协方差矩阵的逆矩阵去掉单位而使之尺度无关。基于此,以下是个人的一些想法。 1

K均值聚类的理解和实现

雨燕双飞 提交于 2020-01-31 02:01:43
K均值聚类的理解和实现 1. 距离的测度 1.1 欧式距离 1.2 马氏距离 1.2.1 利用马氏距离对数据进行归一化 1.2.2 利用马氏距离进行分类 2. K均值的基本理论 2.1 K均值的原理和实现 2.2 K均值的缺点 2.3 K均值改进 3. 算法实现 3.1 获取样本 3.2 协方差逆阵方根的计算方法 3.3 聚类实验 3.3.1 一般的K均值聚类 3.3.2 基于马氏距离K-means++聚类 3.3.3 基于肘部法则的K-means++聚类 4.参考资料 1. 距离测度 1.1 欧式距离 在 数学中 , 欧氏距离 或 欧几里德度量 是 欧几里得空间中 两点之间的“普通” 直线距离 。通过这个距离,欧几里德空间成为 度量空间 。相关的 规范 称为 欧几里得范数 。 较早的文献将 度量 指为 毕达哥拉斯度量 。 广义 的欧几里得范数项是 L2范数 或 L2距离 。 通常,对于n维空间来说,欧几里得距离可以表示为: 中的欧式距离如图1.1-1所示: 图1.1-1 中欧几里得距离的表达 标准的欧几里德距离可以是平方的,以便逐渐将更大的重量放置在更远的物体上。在这种情况下,等式变为: 平方欧几里德距离不是一个 度量 ,因为它不满足三角不等式 ; 然而,它经常用于仅需要比较距离的优化问题。 它在 理性三角学 领域也被称为 quadrance 。 1.2 马氏距离

机器学习距离公式总结

*爱你&永不变心* 提交于 2019-12-25 13:11:40
作者:daniel-D 出处:http://www.cnblogs.com/daniel-D/ 在机器学习和数据挖掘中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别。最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如 K 最近邻(KNN)和 K 均值(K-Means)等等。根据数据特性的不同,可以采用不同的度量方法。一般而言,定义一个距离函数 d(x,y), 需要满足下面几个准则: 1) d(x,x) = 0 // 到自己的距离为0 2) d(x,y) >= 0 // 距离非负 3) d(x,y) = d(y,x) // 对称性: 如果 A 到 B 距离是 a,那么 B 到 A 的距离也应该是 a 4) d(x,k)+ d(k,y) >= d(x,y) // 三角形法则: (两边之和大于第三边) 这篇博客主要介绍机器学习和数据挖掘中一些常见的距离公式,包括: 闵可夫斯基距离 欧几里得距离 曼哈顿距离 切比雪夫距离 马氏距离 余弦相似度 皮尔逊相关系数 汉明距离 杰卡德相似系数 编辑距离 DTW 距离 KL 散度 1. 闵可夫斯基距离 闵可夫斯基距离(Minkowski distance)是衡量数值点之间距离的一种非常常见的方法,假设数值点 P 和 Q 坐标如下: 那么,闵可夫斯基距离定义为: 该距离最常用的 p 是 2 和 1, 前者是欧几里得距离

距离度量(Distance Metrics)

匿名 (未验证) 提交于 2019-12-03 00:22:01
Euclidean Distance(欧式距离): 欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。 n维欧氏空间是一个点集, x 两个点 A = (a[1],a[2],…,a[n]) 和 B = (b[1],b[2],…,b[n]) 之间的 距离 ρ( A , B ) 定义为下面的公式: ρ( A , B ) =√ [ ∑( a[i] - b[i] )^2 ] (i = 1,2,…,n) | x | = √( x[1]^2 + x[2]^2 + … + x[n]^2 ) 可用于图像匹配,骨架识别等。 Manhattan Distance(曼哈顿距离): 曼哈顿距离是两点之间的最短距离(在只能向上、下、左、右四个方向进行移动的前提下)。 Mahalanobis Distance(马氏距离): 用来度量一个样本点P与数据分布为D的集合的距离。 假设样本点为: 数据集分布的均值为: 协方差矩阵为S。 则这个样本点P与数据集合的马氏距离为: 马氏距离也可以衡量两个来自同一分布的样本x和y的相似性: 文章来源: 距离度量(Distance Metrics)

距离度量(Distance Metrics)

匿名 (未验证) 提交于 2019-12-03 00:22:01
Euclidean Distance(欧式距离): 欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。 n维欧氏空间是一个点集, x 两个点 A = (a[1],a[2],…,a[n]) 和 B = (b[1],b[2],…,b[n]) 之间的 距离 ρ( A , B ) 定义为下面的公式: ρ( A , B ) =√ [ ∑( a[i] - b[i] )^2 ] (i = 1,2,…,n) | x | = √( x[1]^2 + x[2]^2 + … + x[n]^2 ) 可用于图像匹配,骨架识别等。 Manhattan Distance(曼哈顿距离): 曼哈顿距离是两点之间的最短距离(在只能向上、下、左、右四个方向进行移动的前提下)。 Mahalanobis Distance(马氏距离): 用来度量一个样本点P与数据分布为D的集合的距离。 假设样本点为: 数据集分布的均值为: 协方差矩阵为S。 则这个样本点P与数据集合的马氏距离为: 马氏距离也可以衡量两个来自同一分布的样本x和y的相似性: 文章来源: 距离度量(Distance Metrics)

马氏距离

匿名 (未验证) 提交于 2019-12-03 00:21:02
马氏距离是由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出的,表示数据的协方差距离。它是一种 有效的 计算两个未知样本集的相似度的方法。与欧式距离不同的是它考虑到各种特性之间的联系(例如:一条关于身高的信息会带来一条关于体重的信息,因为两者是有关联的),并且是尺度无关的(scale-invariant),即独立于测量尺度。 主要是针对马氏距离的计算,很多博客没有说清楚,进行进一步的细化 两个样本: His1 = {3,4,5,6} His2 = {2,2,8,4} 它们的均值为: U = {2.5, 3, 6.5, 5} 其中S(i,j)={[His1(i)-u(i)]*[His1(j)-u(j)]+[His2(i)-u(i)]*[His2(j)-u(j)]}/2 S(1,1 ) = {[Hist1(1) - u(1)] * [Hist1(1) - u(i)] + [Hist2(1) - u(1)] * [Hist2(1) - u(1)]}/2 s(1,1) = ((3-2.5)(3-2.5)+(2-2.5)*(2-2.5))/2 = 0.25 S(1,2 ) = {[Hist1(1) - u(1)] * [Hist1(2) - u(2)] + [Hist2(1) - u(1)] * [Hist2(2) - u(2)]}/2 s(1,2) = ((3-2.5)

机器学习——几种距离度量方法比较

大憨熊 提交于 2019-11-27 01:11:00
1. 欧氏距离(Euclidean Distance) 欧氏距离是最容易直观理解的距离度量方法,我们小学、初中和高中接触到的两个点在空间中的距离一般都是指欧氏距离。 二维平面上点a(x1,y1)与b(x2,y2)间的欧氏距离: 三维空间点a(x1,y1,z1)与b(x2,y2,z2)间的欧氏距离: n维空间点a(x11,x12,…,x1n)与b(x21,x22,…,x2n)间的欧氏距离(两个n维向量): Matlab计算欧氏距离: Matlab计算距离使用pdist函数。若X是一个m×n的矩阵,则pdist(X)将X矩阵每一行作为一个n维行向量,然后计算这m个向量两两间的距离。 X=[1 1;2 2;3 3;4 4]; d=pdist(X,'euclidean') d= 1.4142 2.8284 4.2426 1.4142 2.8284 1.4142 2. 曼哈顿距离(Manhattan Distance) 顾名思义,在曼哈顿街区要从一个十字路口开车到另一个十字路口,驾驶距离显然不是两点间的直线距离。这个实际驾驶距离就是“曼哈顿距离”。曼哈顿距离也称为“城市街区距离”(City Block distance)。 二维平面两点a(x1,y1)与b(x2,y2)间的曼哈顿距离: n维空间点a(x11,x12,…,x1n)与b(x21,x22,…,x2n)的曼哈顿距离: