我在R^3中有n个点,想用k个椭圆或圆柱体(我不在乎哪个更简单)将它们覆盖。我希望尽量减小这些图形的并集的体积。假设n是成千上万的数量级而k很少。对于我们来说,开发时间(即简单性)比运行时间更重要。
显然,我可以运行 k-means 算法并使用完美的球来代替我的椭圆体。或者我可以运行 k-means,然后使用每个聚类的最小外接椭圆体而不是用球来覆盖,但在最坏的情况下,这并没有更好。我看到过有关使用 k-means 处理异性的讨论,但我看到的链接似乎认为我手头拥有张量;但实际上,我只知道数据将是一组椭圆体的并集。有什么建议吗?
[编辑:有一些建议使用多元高斯混合模型进行拟合,这似乎是一个可行的尝试。启动 EM 代码来执行此操作不会最小化并集的体积,但是当然k-means算法也不能最小化体积。]
显然,我可以运行 k-means 算法并使用完美的球来代替我的椭圆体。或者我可以运行 k-means,然后使用每个聚类的最小外接椭圆体而不是用球来覆盖,但在最坏的情况下,这并没有更好。我看到过有关使用 k-means 处理异性的讨论,但我看到的链接似乎认为我手头拥有张量;但实际上,我只知道数据将是一组椭圆体的并集。有什么建议吗?
[编辑:有一些建议使用多元高斯混合模型进行拟合,这似乎是一个可行的尝试。启动 EM 代码来执行此操作不会最小化并集的体积,但是当然k-means算法也不能最小化体积。]