2011-10-23 109 views
25

有没有人有文章解释Ckmeans.1d.dp算法的工作原理?优化聚类一维数据?

或者:在一维中进行k-means聚类的最优方法是什么?

+0

谷歌变成了技术。报告Knops,Maintz,Pluim&Viergever(2004),使用乌得勒支大学动态编程的最优一维k-均值聚类,不能在线获得。不幸的是,这个模块的C++代码是非常不可读的。对一个有趣的问题+1。 –

回答

1

单因素K均值聚类可以为O解决(KN)时间的说明(在已经排序的输入上)基于Monge矩阵的理论结果,但是该方法最不可能是由于数值不稳定性以及编码挑战。

更好的选择是现在在Ckmeans.1d.dp版本3.4.6中实现的O(knlgn)方法。这种实现与启发式k-means一样快,但提供了保证的最优性,比启发式k-means更好几个数量级,特别是对于大k。

Richard Bellman(1973)的通用动态规划解决方案没有涉及k-means问题的具体细节,隐含的运行时间为O(kn^3)。