是否存在一些聚类算法,专注于形成特定大小的聚类?这可以更多地被视为一种分组算法,而不仅仅是聚类算法。
基本来说,给定n个数据点,以及固定大小的组k,根据某些分类器找到将点分配到集合的最优分布,希望能最小化每个组中每个点的分类器距离。
这个问题看起来与聚类问题非常相似,但主要区别在于我们关注的是特定的大小,而不关心聚类的数量。
回答:
有一个关于如何在ELKI中实现这种算法的教程:
http://elki.dbs.ifi.lmu.de/wiki/Tutorial/SameSizeKMeans
还可以看看约束聚类算法;虽然这些算法通常只支持“必须链接”和“不能链接”的约束,而不支持大小约束。
你可以进行类似的修改,首先指定组的大小,然后随机分配点,只要你的目标函数有所改善,就交换聚类成员;这与k-means/k-medoids类似。由于你可能会陷入局部最小值,可以多次重启并只保留最佳结果。
另见之前的问题,例如具有相同聚类大小的k-means算法变体和将n个点分组到k个相同大小的聚类中