2012年10月11日

摘要: 如何等概率的从N个元素中选取出K个元素?这个问题就是一个蓄水池抽样(ReservoirSampling),算法可以如下描述:Init:areservoirwiththesize:kfori=k+1toNM=random(1,i);if(M<k)SWAPtheMthvalueandithvalueendfor网上有人给出了证明,先转过来:【转】证明:每次都是以k/i的概率来选择例:k=1000的话,从1001开始作选择,1001被选中的概率是1000/1001,1002被选中的概率是1000/1002,与我们直觉是相符的。接下来证明:假设当前是i+1,按照我们的规定,i+1这个元素被选中的 阅读全文

posted @ 2012-10-11 16:08 真实的幻术师 阅读(204) 评论(0) 推荐(0) 编辑


Copyright © 2024 真实的幻术师
Powered by .NET 8.0 on Kubernetes