【发布时间】:2012-07-19 05:57:42
【问题描述】:
我想对一些数据点进行聚类,但每个聚类的最大点数是有限的。所以每个集群都有一个最大大小。有没有任何聚类算法呢? 我也可以定义自己的尺寸函数吗?例如,我不想将集群中的点数视为其大小,而是想将集群中所有点的列相加。
【问题讨论】:
标签: machine-learning cluster-analysis hierarchical-clustering
我想对一些数据点进行聚类,但每个聚类的最大点数是有限的。所以每个集群都有一个最大大小。有没有任何聚类算法呢? 我也可以定义自己的尺寸函数吗?例如,我不想将集群中的点数视为其大小,而是想将集群中所有点的列相加。
【问题讨论】:
标签: machine-learning cluster-analysis hierarchical-clustering
由于集群通常会尝试使集群尽可能大,因此这不再是真正的集群。更像是最小生成树,您可以在其中删除最长的边以查找组。
您可以尝试 x-means 之类的方法,即 k-means 变体,您可以在其中拆分您认为太大的集群。
【讨论】:
一种快速而非最佳的解决方案是迭代地将数据分成两部分,直到数据数量达到限制。
【讨论】:
本文解决了具有最小尺寸约束的k-means聚类问题:
Bradley、P.S.、K.P. Bennett 和 Ayhan Demiriz。 “受约束的 k 均值聚类。” 微软研究院,雷德蒙德 (2000):1-8。
然而,本文提出的方法可以很容易地扩展到最大尺寸约束。
Here 是这个算法的一个实现和一个扩展,它解决了最小尺寸和最大尺寸两个约束。
对于您关于自定义尺寸功能的问题,这将是一个更困难的问题,我认为本地搜索方法更适合。
【讨论】: