我有一组二维数据,我想在其中找到指定数量的圆心()的中心,这些圆使指定距离()内的点总数达到最大。
例如,我有10,000个数据点,我想找到圆的中心,它们在的半径内捕获了尽可能多的点。预先给出了5个中心和10个半径,而不是从数据中得出的。
圆内数据点的存在是二进制“或”或“命题”。如果,则相距11个单位与100个单位之外的点的值没有差异,因为它们都>10。类似地,在圆内,靠近中心与靠近边缘也没有任何附加值。 。数据点在圆圈之一中或不在圆圈中。
是否有一个好的算法可以用来解决这个问题?这些似乎与聚类技术有关,但不是最小化平均距离,如果该点在个点中的任意一个点的内,则“距离”函数为0 ,否则为1。
我更喜欢在R中找到一种方法来执行此操作,但是任何方法都是可以理解的。