我该如何以规则的密度选择一个子集点?更正式地说,
给定:
1. 一组不规则间隔的点A, 2. 距离度量dist(例如欧几里德距离), 3. 目标密度d,
如何选择最小的子集B,满足以下条件?
- 对于A中的每个点x, - 存在一个点y在B中, - 满足dist(x,y)<= d
我目前最好的方法是:
- 从A本身开始 - 选择最接近(或非常接近)的一对点 - 随机排除其中一个 - 只要条件成立就重复
并且为了最佳运气重复整个过程。但是有更好的方法吗?
我正在尝试使用280,000个18-D点做到这一点,但我的问题是关于一般策略的。因此,我也希望知道如何使用2-D点来完成它。我并不需要保证最小子集。任何有用的方法都欢迎。谢谢。
底部向上方法:
- 选择一个随机点 - 从未选中的y中选择“min(selected中的x的d(x,y))”最大的y - 继续!
我将其称为自下而上,我最初发布的是自上而下。这样一开始速度就快得多,因此对于稀疏采样应该更好?
性能度量:
如果不需要保证最优性,我认为这两个指标可能有用:
- 覆盖半径:max {y in unselected} min(d(x,y) for x in selected) - 经济半径:min {y in selected != x} min(d(x,y) for x in selected)
RC是最小允许的d,在这两者之间没有绝对的不等式。但是RC <= RE更可取。
我的小方法:
为了演示这个“性能度量”,我生成了256个2-D点,按均匀分布或标准正态分布分布。然后我尝试了我的自上而下和自下而上方法。这就是我得到的结果:
RC为红色,RE为蓝色。X轴是选定点的数量。你是否认为自下而上也可以像自上而下一样好呢?看动画时我也这么认为,但显然自上而下要好得多(请看稀疏区域)。尽管如此,由于速度更快,所以并不算太糟糕。
这里我把所有东西都打包了。 http://www.filehosting.org/file/details/352267/density_sampling.tar.gz
给定:
1. 一组不规则间隔的点A, 2. 距离度量dist(例如欧几里德距离), 3. 目标密度d,
如何选择最小的子集B,满足以下条件?
- 对于A中的每个点x, - 存在一个点y在B中, - 满足dist(x,y)<= d
我目前最好的方法是:
- 从A本身开始 - 选择最接近(或非常接近)的一对点 - 随机排除其中一个 - 只要条件成立就重复
并且为了最佳运气重复整个过程。但是有更好的方法吗?
我正在尝试使用280,000个18-D点做到这一点,但我的问题是关于一般策略的。因此,我也希望知道如何使用2-D点来完成它。我并不需要保证最小子集。任何有用的方法都欢迎。谢谢。
底部向上方法:
- 选择一个随机点 - 从未选中的y中选择“min(selected中的x的d(x,y))”最大的y - 继续!
我将其称为自下而上,我最初发布的是自上而下。这样一开始速度就快得多,因此对于稀疏采样应该更好?
性能度量:
如果不需要保证最优性,我认为这两个指标可能有用:
- 覆盖半径:max {y in unselected} min(d(x,y) for x in selected) - 经济半径:min {y in selected != x} min(d(x,y) for x in selected)
RC是最小允许的d,在这两者之间没有绝对的不等式。但是RC <= RE更可取。
我的小方法:
为了演示这个“性能度量”,我生成了256个2-D点,按均匀分布或标准正态分布分布。然后我尝试了我的自上而下和自下而上方法。这就是我得到的结果:
RC为红色,RE为蓝色。X轴是选定点的数量。你是否认为自下而上也可以像自上而下一样好呢?看动画时我也这么认为,但显然自上而下要好得多(请看稀疏区域)。尽管如此,由于速度更快,所以并不算太糟糕。
这里我把所有东西都打包了。 http://www.filehosting.org/file/details/352267/density_sampling.tar.gz