距离度量(Distance Metrics)

Euclidean Distance(欧式距离):

欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。

n维欧氏空间是一个点集,
x=  (x[1],x[2],…,x[n]) ,其中 x[i](i = 1,2,…,n) 是实数,称为 X 的第i个坐标。
两个点 A = (a[1],a[2],…,a[n]) 和 B = (b[1],b[2],…,b[n]) 之间的 距离 ρ(AB) 定义为下面的公式:
ρ( AB) =√ [ ∑( 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的集合的距离。

假设样本点为: 3_in_1_out

数据集分布的均值为: 3_in_1_out

协方差矩阵为S。

则这个样本点P与数据集合的马氏距离为:3_in_1_out

马氏距离也可以衡量两个来自同一分布的样本x和y的相似性: 3_in_1_out



### 距离度量学习的作用 距离度量学习旨在通过学习一个映射函数,将数据点转换至新的特征空间,在此空间中相似的数据点彼此接近,不相似的数据点则相距甚远[^2]。这一过程有助于提高分类、聚类以及其他模式识别任务的效果。 ### 应用场景 #### 图像检索 在图像检索领域,距离度量学习可以有效提升查询效率和准确性。通过对大量图片样本的学习,构建出能够区分不同类别图片特性的度量标准,从而加快搜索速度并改善结果质量。 #### 人脸识别 对于人脸识别技术而言,良好的距离度量机制可以帮助系统更精准地区分个体身份。即使面对光照变化、姿态差异等因素干扰,依然保持较高的辨识率。 #### 语音识别 同样地,在语音处理方面,合理设计的距离测度可增强对说话者声音特征的理解能力,进而促进自动语音识别系统的性能优化。 ```python from sklearn.neighbors import KNeighborsClassifier import numpy as np # 假设X_train, y_train已经定义好 knn = KNeighborsClassifier(n_neighbors=3, metric='euclidean') knn.fit(X_train, y_train) # 预测新实例所属类别 new_instance = np.array([[5.1, 3.5, 1.4, 0.2]]) prediction = knn.predict(new_instance) print(f'预测的结果为:{prediction}') ``` 上述代码展示了利用K近邻算法(KNN),其中`metric`参数指定了使用的具体距离计算方式——这里选择了欧式距离作为例子来说明距离度量的重要性[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值