在线聚类

机器算法验证 聚类 k-均值 在线算法
2022-03-24 02:48:30

我正在尝试使用“在线学习”构建一个 K-means 聚类系统,即其中存在现有的 K 个聚类和数据点,并且定期有一个新的数据点发送到适当的聚类。

当我尝试重新集群/重新分配时,就会出现问题,因为每个新数据点都会变得越来越昂贵。有人可以为此推荐一种解决方法吗?

3个回答

sofia-ml包中,有基于 mini-batches 的快速 k-means 聚类的代码(请参阅此处的论文)。你可以做的另一件事是使用随机投影(参见例如herehere) - 因为在k-means中你感兴趣的是距离,并且随机投影保留这些(最多一些)。2ϵ

阅读原始的 k-means 文献。

MacQueen 出版物基于通过添加单点来更新结果。

现在大多数人似乎都在使用 Lloyd 迭代,您可以在其中进行典型的 EM 迭代,有点像 MacQueen 的“批量版本”。

考虑使用 Dirichlet Process K-means原始论文并在github上实现。DP 意味着算法会随着更多数据的到达而创建新的集群。它不需要集群数量 K 的先验知识。DP 均值是基于 Dirichlet 过程混合模型的小方差渐近 (SVA) 逼近的 K 均值算法的贝叶斯非参数扩展。