常见距离度量方式及其区别

1、几种常见距离度量方式

https://www.cnblogs.com/daniel-D/p/3244718.html

2、为什么用外观特征使用余弦距离,而不是欧式距离。

余弦相似度:取值范围[-1,1]
余弦距离=1-余弦相似度:取值范围[0,2]

1)含义:欧式距离体现数值上的绝对差异,用在特征向量上含义模糊;余弦距离体现方向上的相对差异,侧重于相似度、向量方向,与向量的大小无关。

2)取值范围:欧式距离范围不固定,余弦距离范围固定,在维度较多情况下也是[0,2]。

因此,类似于客户评价、外观特征,用余弦相似度更好一些。

3、为什么行人位置匹配使用马氏距离而不是欧式距离、IOU等

1)马氏距离就是“加强版的欧氏距离”。

a:马氏距离是尺度无关的,与各维度的值大小无关,与单位无关。相当于进行了标准化。

它规避了欧氏距离中对于数据特征方差不同的风险,在计算中添加了协方差矩阵进行方差归一化,从而使各维度尺度无关从而马氏距离不受量纲的影响,两点之间的马氏距离与原始数据的测量单位无关。(由于进行了减均值并除协方差矩阵的操作,故马氏距离尺度无关,所谓尺度无关有两层含义,一是与值的大小无关,二是与单位无关)

b:马氏距离还可以排除变量之间的相关性的干扰

马氏距离和欧式距离公式:https://blog.csdn.net/bluesliuf/article/details/88862918

2)为什么用马氏距离不用IOU

猜测马氏距离考虑的中心点距离和长宽比还有高度,但是IOU只是交并比。马氏距离和CIOU更加相似。马氏距离比单纯IOU好些。

4、如下介绍了改进的论文,包括JDE等

http://www.uml.org.cn/ai/202011274.asp

5、EMD(earth mover's distances)距离

对于离散的概率分布,Wasserstein距离也被描述为推土距离(EMD)。如果我们将分布想象为两个有一定存土量的土堆,那么EMD就是将一个土堆 转换 为另一个土堆所需的最小总工作量。

适用于点云匹配。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Kmeans是一种聚类算法,用于将数据点分成不同的簇,以便在每个簇中找到相似的数据点。以下是Python中Kmeans算法的一些重要参数: 1. n_clusters:指定要分成的簇的数量。默认值为8。 2. init:指定初始化簇中心的方法。可以是“k-means++”、“random”或自定义的一个数组。默认值为“k-means++”。 3. n_init:指定在不同的随机初始值下运行Kmeans算法的次数,以避免局部最优解。默认值为10。 4. max_iter:指定Kmeans算法运行的最大迭代次数。默认值为300。 5. tol:指定算法收敛的容忍度。当簇中心的变化小于指定的容忍度时,算法停止迭代。默认值为1e-4。 6. precompute_distances:指定是否需要预先计算距离矩阵。当数据集较小时,可以设置为True,以加速算法运行。默认值为“auto”。 7. verbose:指定是否输出详细的调试信息。默认值为0,不输出任何信息。 这些参数可以通过创建KMeans类的实例来设置。例如: ``` from sklearn.cluster import KMeans kmeans = KMeans(n_clusters=3, init='k-means++', n_init=10, max_iter=300, tol=1e-4, precompute_distances='auto', verbose=0) ``` 以上就是Kmeans常用的一些重要参数。调整这些参数可以影响算法的性能和结果。通常需要根据具体的数据集和问题来选择合适的参数。 ### 回答2: K均值聚类算法(Kmeans)是一种常用的无监督机器学习算法,用于将样本数据划分为K个不同的簇群。它的目标是使每个样本点与其所属簇的中心点距离最小化。 Kmeans算法的重要参数包括: 1. K值:Kmeans算法需要指定聚类簇的个数K。该参数的选择非常重要,过大或过小的K值都可能导致聚类效果不佳。通常可以通过经验或者使用一些启发式方法来确定合适的K值。 2. 初始中心点选择方法:初始中心点的选择直接影响最后的聚类效果。常见的方法有随机选择K个数据点作为初始中心、通过Kmeans++算法来选择初始中心等。好的初始中心点选择方法可以提高算法的效率和聚类质量。 3. 簇之间的距离度量方法:Kmeans算法中需要计算样本点与簇中心点之间的距离。常用的距离度量方法包括欧式距离、曼哈顿距离、闵可夫斯基距离等。选择合适的距离度量方法可以更准确地评估样本点与其所属簇的相似程度。 4. 收敛条件与迭代次数:Kmeans算法是通过迭代来优化簇中心点的位置,直到满足收敛条件为止。常见的收敛条件有簇中心点的变化量小于某个阈值或者迭代次数达到指定的最大值。选择合适的收敛条件和迭代次数可以在保证算法效率的同时得到较好的聚类效果。 5. 簇中心点更新方法:在每次迭代中,Kmeans算法通过重新计算每个簇的中心点来更新簇的位置。常见的更新方法包括取簇中所有样本点的均值或者取簇中最接近样本点的点作为新的中心点。不同的更新方法可能会对聚类结果产生影响。 综上所述,Kmeans算法的重要参数包括K值、初始中心点选择方法、簇之间的距离度量方法、收敛条件与迭代次数,以及簇中心点更新方法。根据数据集的特点和需求,选择合适的参数组合可以得到满意的聚类结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值