机器学习和大数据中运用的距离计算方法
2017-08-27 17:02
375 查看
1.欧式距离
n维空间的两点距离公式为:即|x| = √( x[1]^2 + x[2]^2 + … + x
^2 )
欧式距离也是在日常生活中运用的最广泛的距离
2.马氏距离
首先需要了解协方差的内容:协方差可以用来描述事物间两种属性的联系,和方差的定义差不多,只是把方差一个维度维度的平方换成了两个维度的乘积:
显而易见,如果协方差为正,应该代表这两者是存在正相关的关系,同时他也有方差的特征,这几个点从两个维度上来说,相差越远,值就越大。
但是,我们想到,假如一组数据有很多维度怎么办,而我们的偏方差最多只能描述两个维度。这个时候我们就需要引入矩阵,采用偏方差矩阵来解决这个问题。
介绍完了协方差及其矩阵,我们来看一条性质:
如果协方差矩阵为单位矩阵,马氏距离就简化为欧式距离;如果协方差矩阵为对角阵,其也可称为正规化的马氏距离。
事实上,对于一个均值为μ,协方差矩阵为Σ的多变量向量,其马氏距离为sqrt( (x-μ)’Σ^(-1)(x-μ) )。
公式看起来很简单,不是吗?
3.曼哈顿距离
两个点在标准坐标系下沿轴方向的距离总和,比如有两个点(1,3)和(2,4),那么它的曼哈顿距离为|1-2|+|3-4|=2;
4.切比雪夫距离
二个点之间的切比雪夫距离定义是其各坐标数值差绝对值的最大值。用上面曼哈顿距离的两个点做例子,切比雪夫距离就是
max(|1-2|,|3-4|)=1;
5.闵氏距离
闵氏距离不是一个距离,而是一类距离的定义。两个n维变量a(x11,x12,…,x1n)与b(x21,x22,…,x2n)间的闵可夫斯基距离定义为:
其中p是一个变参数。
当p=1时,就是曼哈顿距离
当p=2时,就是欧氏距离
当p→∞时,就是切比雪夫距离
根据变参数的不同,闵氏距离可以表示一类的距离。
6.海明距离
在信息编码中,两个合法代码对应位上编码不同的位数称为码距,又称海明距离。两个码字的对应比特取值不同的比特数称为这两个码字的海明距离。在一个有效编码集中,任意两个码字的海明距离的最小值称为该编码集的海明距离。举例如下:10101和00110从第一位开始依次有第一位、第四、第五位不同,则海明距离为3。
相关文章推荐
- Mahout-DistanceMeasure (数据点间的距离计算方法)
- 数据点间的相似度-距离计算方法
- 机器学习--准备数据与Numpy(八)--距离矩阵计算
- DistanceMeasure (数据点间的距离计算方法)
- Mahout-DistanceMeasure (数据点间的距离计算方法)
- Mahout-DistanceMeasure (数据点间的距离计算方法)
- DistanceMeasure (数据点间的距离计算方法)
- 机器学习中距离和相似性计算方法
- Mahout-DistanceMeasure (数据点间的距离计算方法)
- Mahout--数据点间的距离计算方法
- 【转载】机器学习计算距离和相似度的方法
- 机器学习 - 距离计算
- 样本间相似度/距离的计算方法总结
- php 关于经纬度距离计算方法 成功版
- 机器学习距离计算
- [ 人工智能]模式识别、机器学习、数据挖掘当中的各种距离总结
- GPS数据计算校验和的方法
- 利用python对中文文本数据进行LDA训练、计算概率距离
- 从百度地图API中抠出来的一个js方法,计算百度地图坐标距离
- CLLocation的distanceFromLocation方法计算地图上距离 (汇总)