k-medoids的动机

时间:2014-02-04 13:23:37

标签: version k-means

为什么会使用kmedoids algoirthm而不是kmeans?这只是事实 可以在kmeans中使用的指标数量非常有限,还是还有更多?

是否有数据示例,选择最佳代表更有意义 来自数据的集群而不是来自R ^ n?

3 个答案:

答案 0 :(得分:3)

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

但是对于相同的问题,您可以应用k-medoids,其中您可以从数据集本身中选择k-质心/ medoids。可以说,您从数据集中选择x_5点作为第一个medoid。由此,由于现在您拥有被称为“ medoid /质心”的评论本身,因此您的可解释性将会提高。因此,在k型质心中,您可以从数据集本身中选择质心。 这是引入k药物的首要动机

来到指标部分,您可以应用所有应用于k均值的指标

希望这会有所帮助。

答案 1 :(得分:1)

在K-Means中使用距离函数,例如欧几里德距离或曼哈顿距离。 相反,通过执行K-medoid聚类,唯一需要的是具有成对距离函数。 这个事实非常适合具有高维度的复杂数据类型和关系行。

高维度问题

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

编辑: 通过使用k-medoids,不需要将文档表示和存储为字频率的向量。 例如: - 作为表示可以使用单词集合,如果单词在文档中出现至少一次,则集合中存在单词; - 作为距离度量,可以使用Jaccard Distance来计算文档成对距离。

矢量表示,可以长到字典中的单词数。

异构性和复杂数据类型。

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

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

编辑: 通过处理这些复杂的数据类型,您可以尝试并找到新的距离度量,这些度量可以更好地适应正确的数据域。

[1] Christopher D. Manning,Prabhakar Raghavan和HinrichSchütze。 2008.信息检索简介。剑桥大学出版社,纽约,纽约,美国。

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

答案 2 :(得分:0)

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