用于聚类一维数据的 k-means 和其他非参数方法

机器算法验证 聚类 模式识别
2022-03-20 13:08:17

我知道之前有几个人问过这个问题,并且聚类不是一维数据的最佳方法。但是,我看到在一些已发表的论文中,人们对一维数据使用了 k-means 聚类。例如,数据通常如下图所示,理想情况下,算法应该选择 2 个聚类,根据这些聚类确定一个分离值(在这种情况下,它应该是 12-13)。这是一种很好的技术吗?还有哪些其他方法可用于识别 2 个集群的分离点?

谢谢你。

图片

2个回答

K-means 根据该向量中的任何异质性在单个向量中找到分区。它不会自动找到两个集群,除非您告诉它从n 个可能的集群中找到两个集群,其中n是样本中的有限观测数。只有通过生成最多n 个集群,然后使用某种决策规则进行集群选择,您才能得到两个集群。

从字面上看,有几十种无监督分类或聚类算法可以与您的示例一起使用:分层方法、不相交的解决方案等应该位于列表的顶部。这些方法散布在整个文献中,但可以在大型统计包文档中找到关于接近聚类分析的许多细微差别的详细清单,例如 SPSS 或 SAS 在线手册。也就是说,有些算法肯定不起作用,例如knn或任何基于距离的相似性或相异性技术,它们依赖于p维空间来定义解决方案。

如果您有一个启用监督方法的目标,CART 将是基于单个预测器进行分区的好方法。

K-means 将对象分配给最接近的平均值。

这在数学上是有意义的,因为它可以最大限度地减少平方误差。

但是如果你查看你的数据集,右边的高斯方差比左边的大。由于 k-means 没有考虑到这一点,因此结果将是次优的。GMM 应该在这个特定的数据集上工作得更好,但是手动选择阈值或密度估计也是如此......

为什么不直接运行 k-means 并将结果可视化?