什么使得k-medoid中的距离度量比k-means“更好”?

我正在阅读关于k-means聚类和k-medoid聚类之间的区别。

据说在k-medoid算法中使用成对距离度量比使用我们常见的欧几里得距离平方和类型的度量来评估k-means中的方差有优势。显然,这种不同的距离度量可以减少噪声和异常值。

我看到过这种说法,但还没有看到关于这种说法背后的数学推理的任何好理由。

是什么使得k-medoid中常用的成对距离度量更好?更具体地说,缺乏平方项是如何让k-medoids具有与取中位数概念相关的理想属性的?


回答:

1. K-medoid更灵活

首先,你可以将k-medoids与任何相似度度量一起使用。然而,k-means可能无法收敛——它真的只能与与均值一致的距离一起使用。因此,例如,绝对皮尔逊相关系数不能与k-means一起使用,但它与k-medoids配合得很好。

2. 中位数的鲁棒性

其次,k-medoids使用的中位数大致相当于中位数(实际上,还有k-medians,它类似于K-means,但用于曼哈顿距离)。如果你查阅关于中位数的文献,你会看到很多解释和例子,说明为什么中位数对异常值比算术平均值更鲁棒。这些解释和例子基本上也适用于中位数。它是比k-means中使用的均值更鲁棒的代表点估计。

考虑这个一维的例子:

[1, 2, 3, 4, 100000]

这个集合的中位数和中位数都是3。均值是20002。

你认为哪个更能代表这个数据集?均值的平方误差较低,但假设这个数据集中可能存在测量错误…

从技术上讲,统计学中使用了崩溃点的概念。中位数的崩溃点为50%(即一半的数据点可以是错误的,结果仍然不受影响),而均值的崩溃点为0(即一个大的观测值可以导致一个糟糕的估计)。

我没有证明,但我假设中位数将具有与中位数相似的崩溃点。

3. k-medoids的成本更高

这是主要的缺点。通常,PAM运行的时间比k-means长得多。因为它涉及计算所有成对距离,所以它的复杂度是O(n^2*k*i);而k-means的运行复杂度是O(n*k*i),其中通常,k乘以迭代次数k*i << n

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注