我有一组二维数据,我想在其中找到指定数量的圆心的中心() 最大化指定距离内的点总数 ()。
例如,我有 10,000 个数据点我想找到在半径范围内捕获尽可能多点的圆. 5个中心和10个半径是预先给出的,不是从数据中得出的。
圆圈内数据点的存在是二元非此即彼的命题。如果,距离 11 个单位和 100 个单位的点的值没有差异,因为它们都 > 10。同样,对于在圆圈内,靠近中心与靠近边缘没有额外的价值。数据点要么在其中一个圆圈内,要么在圆圈外。
有没有很好的算法可以用来解决这个问题?这些似乎与聚类技术有关,但不是最小化平均距离,如果点在范围内,“距离”函数为 0的任何一个分,否则为 1。
我的偏好是在 R 中找到一种方法来做到这一点,但任何方法都会受到赞赏。