蓄水池抽样问题
2012-09-24 15:56
260 查看
蓄水池抽样问题描述的是,在一个无穷尽的样本中,要求随即抽取一些样本,这些样本被抽取到的概率必须保持一致。
一个蓄水池就可以理解为无穷大的样本空间。
解决方案就是蓄水库抽样(reservoid sampling)。主要思想就是保持一个集合,作为蓄水池,依次遍历所有数据的时候以一定概率替换这个蓄水池中的数字。
其伪代码如下:
Init : a reservoir with the size: k
解释一下:程序的开始就是把前k个元素都放到数组中,然后对之后的第i个元素,以k/i的概率替换掉这个水库中的某一个元素。
一个蓄水池就可以理解为无穷大的样本空间。
解决方案就是蓄水库抽样(reservoid sampling)。主要思想就是保持一个集合,作为蓄水池,依次遍历所有数据的时候以一定概率替换这个蓄水池中的数字。
其伪代码如下:
Init : a reservoir with the size: k
for i= k+1 to N M=random(1, i); if( M < k) SWAP the Mth value and ith value end for
解释一下:程序的开始就是把前k个元素都放到数组中,然后对之后的第i个元素,以k/i的概率替换掉这个水库中的某一个元素。
相关文章推荐
- 蓄水池抽样问题
- 蓄水池抽样(Reservoir Sampling)问题
- 抽样问题的解决方案
- 大数据算法MOOC笔记3:水库抽样Reservoir Sampling(蓄水池问题)
- 储水池抽样算法原理与实现
- Reservoir Sampling - 蓄水池抽样问题
- 凸包问题——圈水池
- 蓄水池抽样问题
- 简单水池&&迷宫问题
- 水池接雨水的经典问题I&II
- 凸包问题——圈水池
- 水池问题
- Reservoir Sampling 蓄水池抽样 海量数据不知道总数只能遍历一次随机抽样问题
- 概率和随机数经典面试问题:拒绝采样,蓄水池抽样,洗牌问题和随机01问题
- 水池问题的lua语言算法(面试题分析:我的Twitter技术面试失败了)
- 凸包问题——圈水池
- 水池问题的lua语言算法(面试题分析:我的Twitter技术面试失败了)
- nyoj-水池问题
- 八连块(类似水池数目(nyoj27),水池问题只有四个方向, 八连快有八个方向)
- 水塘抽样(Reservoir Sampling)问题