小编典典

k均值聚类可以分类吗?

algorithm

我想知道k均值聚类算法是否可以分类?

如果我做了一个简单的k均值聚类。

假设我有很多数据,我使用k-均值聚类,然后得到2个聚类A,B。质心的计算方法是欧几里得距离。

群集A在左侧。

群集B在右侧。

所以,如果我有一个新数据。我该怎么办?

  1. 再次运行k-means聚类算法,可以得到新数据属于哪个聚类?

  2. 记录最后一个质心并使用欧几里得距离进行计算来确定新数据所属?

  3. 其他方法?


阅读 445

收藏
2020-07-28

共1个答案

小编典典

当然,最简单的方法是2.,将每个对象分配给最接近的质心(从技术上讲,使用平方和,而不是欧几里得距离;这对于k均值更为正确,并节省了sqrt计算)。

方法1.是脆弱的,因为k均值可能会为您提供完全不同的解决方案;特别是如果它在一开始就无法很好地适应您的数据(例如,维数过高,大小不同的集群,集群太多,…)

但是,以下方法可能更加合理:

3.训练实际的分类器。

是的,您可以使用k-means产生一个初始分区,然后假设k-means分区可以是合理的类(尽管您 确实
应该在某个时候对此进行验证),然后继续进行,如果数据已经用户标记。

即运行k-均值,在生成的群集上训练SVM。然后使用SVM进行分类。

k-NN分类,甚至将每个对象分配给最近的聚类中心(选项1),都可以视为非常简单的分类器。后者是一个1NN分类器,仅在群集质心上进行“训练”。

2020-07-28