【问题标题】:Motivation for k-medoidsk-medoids 的动机
【发布时间】:2014-02-28 11:55:43
【问题描述】:

为什么要使用 kmedoids 算法而不是 kmeans?难道仅仅是事实 kmeans 中可以使用的指标数量非常有限,还是还有更多?

是否有数据示例,选择最佳代表更有意义 从数据中而不是从 R^n 中获取集群?

【问题讨论】:

  • 我不确定你对 k-means 度量的理解是什么,你能再解释一下吗?
  • Metric 是一个测量实例之间距离并满足一些附加条件的函数(参见定义下的en.wikipedia.org/wiki/Metric_%28mathematics%29)。例如,标准版本的 k-means 使用欧几里得度量/距离。
  • 嗯,你可以使用所有这些指标,在 k-means 和 k-medoids 中,所以它们之间没有区别(回答你的第二个问题)

标签: version k-means


【解决方案1】:

K-Means 算法使用距离函数,例如欧几里得距离或曼哈顿距离,它们是通过基于矢量的实例计算的。 K-Medoid 算法改为使用更通用(且约束更少)的距离函数:也称为成对距离函数。 这种区别在复杂数据类型或关系行等上下文中表现良好,其中实例具有大量维度。

高维问题

在标准聚类库和 k-means 算法中,距离计算阶段可能会花费大量时间扫描属于实例的整个属性向量;例如,在文档聚类的上下文中,使用标准的 TF-IDF 表示。在计算余弦相似度的过程中,距离函数会扫描所有可能出现在整个文档集合中的单词。在许多情况下,它可以由数百万个条目组成。这就是为什么在该领域中,一些作者 [1] 建议将考虑的单词限制为该语言的 N 个最常见单词的子集。

使用 K-Kedoids,无需将文档表示和存储为词频向量。 作为文档的替代表示,可以使用在文档中至少出现两次的单词集;作为距离度量,可以使用 Jaccard 距离。 在这种情况下,向量表示的长度与字典中的单词数一样长。

异构性和复杂数据类型。

有很多领域可以更好地抽象实例的实现:

  • Graph 的节点聚类;
  • 汽车驾驶行为,以 GPS 路线表示;

复杂的数据类型允许设计更适合适当数据域的临时距离度量。

[1] Christopher D. Manning、Prabhakar Raghavan 和 Hinrich Schütze。 2008. 信息检索导论。剑桥大学出版社,纽约,纽约,美国。

来源:https://github.com/eracle/Gap

【讨论】:

  • 我相信你没有回答问题。 Kmeans 和 Kmedoids 都存在高维问题...
【解决方案2】:

k-means 的问题在于它是不可解释的。通过可解释性,我的意思是模型还应该能够输出它产生特定输出的原因。 让我们举个例子。 假设有食品评论数据集,它有两种可能性,即 +ve 评论或 -ve 评论,所以我们可以说我们将有 k=2,其中 k 是集群的数量。现在,如果您使用 k-means 在算法中的第三步是更新步骤,您可以根据位于特定集群中的点的平均距离更新您的 k 质心。我们选择的示例是文本问题,因此您还可以应用某种文本特征向量方案,例如 BagOfWords(BOW)、word2vec。现在,对于每条评论,您都会得到相应的向量。现在,运行 k-means 后生成的质心 c_i 将是该集群中存在的向量的平均值。现在有了那个质心,你不能解释太多,或者我应该什么都不说。

但是对于同样的问题,您可以应用 k-medoids,其中您从数据集本身中选择您的 k-centroids/medoids。假设您从数据集中选择 x_5 点作为第一个中心点。从此,您的可解释性将增加,因为现在您拥有被称为 medoid/centroid 的评论本身。因此,在 k-medoids 中,您从数据集本身中选择质心。 这是引入 k-mediods 的首要动机

来到指标部分,您可以应用您为 k-means 申请的所有指标

希望这会有所帮助。

【讨论】:

  • 这是一个我没有想到的好方面,太棒了!尽管如此,您仍然可以生成我认为的文本(并且可能会得到“中心”评论包含的典型词),但这意味着额外的工作。
  • @Antoine 是的,你可以把它们找回来,但仅仅解释它们是非常困难的,是的,你说得对,额外的工作会很麻烦。
【解决方案3】:

之间的区别在于,在 k-means 中,质心(簇中心)被计算为包含在簇中的向量的平均值,而在 k-medoids 中,中心点(簇中心)是从最接近质心的数据集中记录的,所以如果您需要通过您使用 k-medoids 的数据记录来表示集群中心,否则我应该使用 k-means(但这些算法的概念是相同的)

【讨论】:

  • 我同意(因为 kmeans 更快)。但是你能举个例子吗?
猜你喜欢
  • 2017-05-12
  • 1970-01-01
  • 1970-01-01
  • 2021-04-29
  • 2021-11-24
  • 2023-04-02
  • 2017-03-19
  • 2022-01-06
  • 2021-02-24
相关资源
最近更新 更多