Matlab计算夹角余弦与距离度量方法详解
需积分: 7 133 浏览量
更新于2024-08-21
收藏 372KB PPT 举报
本文主要介绍了如何在Matlab中计算夹角余弦以及各种距离度量方法,包括欧式距离、曼哈顿距离、切比雪夫距离、明可夫斯基距离、哈拉比斯距离、汉明距离、杰卡德距离、相关距离、hausdorf距离和Earth Mover’s distance。此外,还提供了关于欧氏距离的详细解释和在Matlab中的实现。
夹角余弦是衡量两个非零向量之间角度的一种方式,在机器学习和数据挖掘中,用于度量向量之间的相似性。计算夹角余弦可以使用Matlab的`pdist`函数,通过设置参数`'cosine'`来得到1减去夹角余弦的值。例如,给定向量集合`X = [1 0; 1 1.732; -1 0]`,使用`pdist(X, 'cosine')`会返回两两向量之间的夹角余弦差。
距离度量是评估两个对象之间相似性的另一种方法,下面是一些常见的距离度量:
1. **欧式距离**:是最直观的距离计算方式,适用于同一单位下的特征。对于二维空间的点a(x1, y1)和b(x2, y2),欧式距离公式为 `sqrt((x2-x1)^2 + (y2-y1)^2)`。在三维空间中,公式类似,增加了一个z轴的差值平方项。
2. **标准化欧氏距离**:考虑了数据尺度不一致的问题,通过去除每个特征的均值并除以其标准差进行归一化。
3. **曼哈顿距离**(Taxicab或City Block Distance):在每个维度上计算绝对差值的总和,如 `(|x2-x1| + |y2-y1|)`。
4. **切比雪夫距离**:每个维度上最大绝对差值,取所有维度上差值的最大值。
5. **明可夫斯基距离**:包含p-norm的一般形式,其中p是任意正实数。当p=1时,对应曼哈顿距离;当p=2时,对应欧式距离;当p趋于无穷大时,接近切比雪夫距离。
6. **哈拉比斯距离**:考虑了数据的协方差,适用于具有不同尺度和相关性的变量。
7. **汉明距离**:只适用于离散数据,计算两个等长字符串在相应位置上不同字符的数量。
8. **杰卡德距离**:衡量两个集合交集与并集大小的比例,常用于文本分析。
9. **相关距离**:基于特征之间的线性相关性计算,1-两向量相关系数的绝对值。
10. **hausdorf距离**:测量一个集合中的每个点到另一个集合的最近点的距离的最大值。
11. **Earth Mover’s Distance (EMD)**:也称为 Wasserstein 距离,主要用于图像处理和流形学习,模拟将一个分布“搬运”到另一个分布所需的最小努力。
在Matlab中,使用`pdist`函数可以计算多种距离,只需提供相应的距离类型作为参数。例如,计算欧式距离可使用`pdist(X, 'euclidean')`。对于更复杂的距离度量,可能需要自定义函数或利用其他工具箱功能。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-07-27 上传
2019-08-23 上传
106 浏览量
2021-05-30 上传
2021-05-21 上传
2021-05-29 上传
西住流军神
- 粉丝: 31
- 资源: 2万+
最新资源
- dmx512解码程序
- The C++ Programming Language Special 3rd Edition
- ADO.NET高级编程
- 18B20的PDF资料
- TestDirector邮件自动发送配置
- Protel DXP 快捷键大全
- Groovy in action
- weka入门教材.pdf
- 单片机复习题 doc格式
- 基于单片机AT89C2051的光电报警电路
- 深入浅出设计模式(很好的资料)
- Apriori算法的复杂性研究.pdf
- xml programming in java
- OCP中文资料[SQL和tuning]-1
- 基本SQL语法总结并复习
- LoadRunner使用手册.pdf