基于距离的计算方法
来源:互联网 发布:欧洲看不起美国知乎 编辑:程序博客网 时间:2024/05/01 01:28
1. 欧氏距离(Euclidean Distance)
(1)二维平面上两点a(x1,y1)与b(x2,y2)间的欧氏距离:
(2)三维空间两点a(x1,y1,z1)与b(x2,y2,z2)间的欧氏距离:
(3)两个n维向量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的欧氏距离:
也可以用表示成向量运算的形式:
(4)Matlab计算欧氏距离
Matlab计算距离主要使用pdist函数。若X是一个M×N的矩阵,则pdist(X)将X矩阵M行的每一行作为一个N维向量,然后计算这M个向量两两间的距离。
例子:计算向量(0,0)、(1,0)、(0,2)两两间的欧式距离
X = [0 0 ; 1 0 ; 0 2]
D = pdist(X,'euclidean')
结果:
D =
2. 曼哈顿距离(Manhattan Distance)
(1)二维平面两点a(x1,y1)与b(x2,y2)间的曼哈顿距离
(2)两个n维向量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的曼哈顿距离
(3) Matlab计算曼哈顿距离
例子:计算向量(0,0)、(1,0)、(0,2)两两间的曼哈顿距离
X = [0 0 ; 1 0 ; 0 2]
D = pdist(X, 'cityblock')
结果:
D =
5. 标准化欧氏距离(Standardized Euclidean distance )
(1)标准欧氏距离的定义
标准化欧氏距离是针对简单欧氏距离的缺点而作的一种改进方案。标准欧氏距离的思路:既然数据各维分量的分布不一样,好吧!那我先将各个分量都“标准化”到均值、方差相等吧。均值和方差标准化到多少呢?这里先复习点统计学知识吧,假设样本集X的均值(mean)为m,标准差(standard deviation)为s,那么X的“标准化变量”表示为:
而且标准化变量的数学期望为0,方差为1。因此样本集的标准化过程(standardization)用公式描述就是:
标准化后的值 =
经过简单的推导就可以得到两个n维向量a(x11,x12,…,x1n)与 b(x21,x22,…,x2n)间的标准化欧氏距离的公式:
如果将方差的倒数看成是一个权重,这个公式可以看成是一种加权欧氏距离(Weighted Euclidean distance)。
(2)Matlab计算标准化欧氏距离
例子:计算向量(0,0)、(1,0)、(0,2)两两间的标准化欧氏距离 (假设两个分量的标准差分别为0.5和1)
X = [0 0 ; 1 0 ; 0 2]
D = pdist(X, 'seuclidean',[0.5,1])
结果:
D =
7. 夹角余弦(Cosine)
(1)在二维空间中向量A(x1,y1)与向量B(x2,y2)的夹角余弦公式:
(2) 两个n维样本点a(x11,x12,…,x1n)和b(x21,x22,…,x2n)的夹角余弦
即:
(3)Matlab计算夹角余弦
例子:计算(1,0)、( 1,1.732)、( -1,0)两两间的夹角余弦
X = [1 0 ; 1 1.732 ; -1 0]
D = 1- pdist(X, 'cosine')
结果:
D =
- 基于距离的计算方法
- 基于距离的计算方法
- 基于距离的计算方法
- 基于距离的计算方法
- 基于距离的计算方法
- 基于距离的计算方法
- 基于距离的计算方法
- 基于距离的计算方法
- 基于距离的数学计算方法
- 字符串编辑距离的计算方法
- gps 经纬度两点距离的计算方法
- Mahout--数据点间的距离计算方法
- 附近的人位置距离计算方法
- 基于MATLAB的极值计算方法
- 基于sklearn 的auc 计算方法
- 距离计算方法总结
- Mahout-DistanceMeasure (数据点间的距离计算方法)
- Mahout-DistanceMeasure (数据点间的距离计算方法)
- spring InitializingBean接口
- 生成dt并填加数据
- RMQ(Range Minimum/Maximum Query)——ST算法
- Redis基本操作
- navigationcontroller
- 基于距离的计算方法
- [MFC]自定义时间间隔Timer
- 给力的同事、周到的福利——揭秘万达电商(5)
- cocos2dx-3.2和vs2013工程编译不通过找不到<thread>
- WinCE 程序打包CAB
- 数字电路设计之ARM m0进度(2)
- 数据库解析——mysql explain 详解
- 如何在Root的手机上开启ViewServer,使得HierachyViewer能够连接
- lua require dofile loadfile区别