k-means with ellipsoids

时间:2011-10-24 18:34:40

标签: statistics machine-learning theory computational-geometry k-means

我在R ^ 3中有n个点,我想用k个椭圆体或圆柱体覆盖(我不在乎;无论哪个更容易)。我想大致减少卷的并集。假设n是数万,k是少数。开发时间(即简单性)比运行时更重要。

显然,我可以运行k-means并为我的椭圆体使用完美的球。或者我可以运行k-means,然后每个簇使用最小的封闭椭圆体而不是用球覆盖,尽管在最坏的情况下并不是更好。我已经看到了用k-means处理各向异性的讨论,但我看到的链接似乎认为我手上有一个张量;我没有,我只知道数据将是椭球的联合。有什么建议吗?

[编辑:有几个选票适合多元高斯的混合物,这似乎是一个可行的尝试。启动EM代码来实现这一目标不会减少联合的数量,但当然k-means也不会使音量最小化。]

3 个答案:

答案 0 :(得分:3)

所以你可能知道k-means是NP难的,而这个问题更为普遍(更难)。因为你想做椭圆体,所以适合k多元高斯分布的混合可能很有意义。你可能想尝试找到一个最大似然解,这是一个非凸优化,但至少它很容易制定,并且可能有代码可用。

除此之外,您可能需要从头开始编写自己的启发式搜索算法,这只是一项艰巨的任务。

答案 1 :(得分:1)

我使用this method对多变量高斯做了类似的事情。作者使用峰度作为分裂度量,我发现它是一种令人满意的应用方法,聚类从激光测距仪(即计算机视觉)获得的点。

答案 2 :(得分:0)

如果椭圆体可以重叠很多, 然后像k-means这样的方法尝试将点分配给单个集群 不会很好。 每个椭球的一部分必须适合您的物体表面, 但其余的可能在里面,不关心。 也就是说,覆盖算法 在我看来,与聚类/分裂算法完全不同; 工会不分裂。

高斯混合物有很多重叠? 不知道,但请查看Numerical Recipes p. 845上的图片和代码。

即使在2d也很难覆盖,见 find-near-minimal-covering-set-of-discs-on-a-2-d-plane