《大数据算法》一3.2 水库抽样

3.2 水库抽样

本节介绍一个简单的空间亚线性算法,即水库抽样。问题定义如下。
抽样问题
输入:一组数据,但大小未知。
输出:这组数据的k个均匀抽样。
对于这个问题有三点要求:
1) 仅允许扫描数据一次。
2) 空间复杂度为O(k)。注意,空间复杂度和抽样大小有关,而与整个数据的数据量无关,这意味着不能把所有数据都放在内存当中进行抽样。
3) 扫描数据的前n个数据时(n>k),要求保存当前已扫描数据的k个均匀抽样。这意味着在任何(n>k)时刻,在内存的k个数据里要放k个均匀的抽样。针对这个需求提出了水库抽样算法。算法3-1 水库抽样算法

1 申请一个长度为k的数组A保存抽样。
2 保存首先接收到的k个元素。
3 当接收到第i个新元素t时,以k/i的概率随机替换A中的元素。

随机替换可以生成[1,i]间的随机数j,若j≤k,就意味着j是存在的,则以t替换A[j]。
算法3-1的空间复杂度是,这是因为在整个算法中,只需要一个长度为k的数组保存抽样。额外的空间(如计算概率)都是常数,与n和k没有关系,因此空间复杂度是O(k)。
算法3-1的抽样性质如定理3-1所示。
定理3-1 算法3-1得到的采样是均匀的,在任何时候接收到大于k的n个数时,选出的这k个数一定都是它的一个均匀采样。
证明 在接收第i+1个数时,第i个数还能保存在数组当中的概率是,因为在接收到第i+1个数时要以的概率随机替换,而第i个数被选中的概率是1k,它们相乘为就是第i个数被换出数组的概率,所以就是在接收第i+1个元素时第i个数在数组当中的概率。同理,在接收第i+2个数时,第i个数仍然保留在数组当中的概率是。依此类推,当接收第n个数时,第i个元素保存在数组当中的概率是。如果这些事件都发生了,那么在接收第n个数时,第i个数字才能保留在数组当中。因此它保留在抽样当中的概率是发生这些事件的概率的积,就是。■

时间: 2024-09-01 09:37:03

《大数据算法》一3.2 水库抽样的相关文章

《大数据算法》一导读

前 言 本书的缘起 "大数据"在今天成为一个非常时尚的概念,其影响已经远远超过了计算机学科本身,甚至影响到了自然科学.社会科学.人文科学等.由于其深远的影响和广泛的应用,大数据一直得到IT从业人员的重视,他们对大数据相关理论.技术的学习有着强烈的需求. "算法设计与分析"是计算机科学的重要主题,进行大数据计算,"算法设计与分析"是必不可少的步骤,可以说,算法设计是"大数据落地"的关键之一.然而,虽然在今天的书店里,关于大数据的

菜鸟裹裹之大数据算法颠覆快递不是梦

文章讲的是菜鸟裹裹之大数据算法颠覆快递不是梦,快递小哥月收入能否过万在坊间屡屡引发热议,而据北京交通大学发布的报告显示,绝大部分快递员月薪仅在2000-4000元之间,超过6000元就属高收入. 如今,互联网正在改变快递员的生存现状,菜鸟网络发布的"快递版滴滴"--菜鸟裹裹通过大数据为快递员大幅增收,使用菜鸟裹裹抢单最多的快递员每月能增收近7000元,收入过万已不算新鲜. 大数据全面优化快递员配送线路 来自上海的百世快递快递员杨波从今年开始使用菜鸟裹裹抢单,最多时每天可利用平台抢到五十

《大数据算法》一1.2 大数据算法

1.2 大数据算法 这一节我们概述大数据算法. 1.2.1 大数据上求解问题的过程 首先我们看一看在大数据上问题求解的过程.我们面对的是一个计算问题,也就是说我们要用计算机来处理一个问题. 拿到一个计算问题之后,首先需要判定这个问题是否可以用计算机进行计算,如果学习过可计算性理论,就可以了解有许多问题计算机是无法计算的,比如判断一个程序是否有死循环,或者是否存在能够杀所有病毒的软件,这些问题都是计算机解决不了的.从"可计算"的角度来看,大数据上的判定问题和普通的判定问题是一样的,也就是

《大数据算法》一第1章 绪论

第1章 绪论 1.1 大数据概述 毫无疑问,大数据已经成为一个热门的概念,然而,不同领域(例如商业.系统结构.数据管理等)对这个概念的解读却各不相同.本节我们对大数据的定义.特点和应用进行概述. 1.1.1 什么是大数据 "大数据"的概念起源于2008年9月<自然>(Nature)杂志刊登的名为"Big Data"的专题,继而迅速得到了科学.计算机.经济等不同领域专家的响应.由于其成因复杂,对大数据目前没有公认的定义,不同的研究人员从不同领域对大数据进行

毫秒级大数据算法让生物识别取代密码

十一出行哪里车最多?哪里好停车?出门没带钱包和手机,怎么消费?在生物识别大数据应用方面,这些都可以依据海量视频摘要检索技术.虹膜识别技术.行人多特征检索技术.步态轨迹识别技术等当下最火的人工智能技术一一解决.可以说,以后人们外出可以不用带手机.银行卡.只要眨眨眼,刷个虹膜,世界就会向你敞开大门. 海量视频分分钟检索出"目标" 9月19日,齐鲁软件园F1座,刚驻进半年的中科唯实(济南)科技有限公司内,几十台电脑一字排开,电脑屏幕上是高新区各个路口自动存储的视频."性别.年龄段.

大数据算法在诸多领域“弄潮”

研究恒星和对付癌症看起来似乎风马牛不相及,但大数据算法将两者关联到了一起,并成为其中的"弄潮儿". 据英国广播公司报道,天文学家和肿瘤学家近日在英国剑桥大学召开跨学科会议,探讨如何对不断涌来的数据进行管理.在此次会议上,天文学家尼古拉斯·沃尔顿与英国剑桥癌症研究所的詹姆斯·布伦顿一见如故,与会人士也倾听了英国剑桥癌症研究所的卡洛斯·卡尔达斯教授对未来如何使用大数据的畅想. 恒星算法可用来攻克癌症 会议上,卡尔达斯说:"天文学家们需要对望远镜拍摄的天空图片进行深入研究,但无法通

《大数据算法》一1.4 本书的内容

1.4 本书的内容 基于大数据的定义.大数据算法的定义以及大数据算法的特点,本书按照如下方式组织:第一部分是亚线性算法,包括时间亚线性算法(第2章)和空间亚线性算法(第3章),其中包括如何利用近似算法和随机化算法设计思想来设计和分析亚线性算法.第二部分是外存算法,将讨论如何面向外存来设计I/O有效的算法,包括外存算法概述(第4章).外存查找结构(第5章)和外存图数据算法(第6章).第三部分是并行算法,由于并行算法的内容非常广泛,本书仅介绍数据密集型并行算法,包括MapReduce算法概述(第7章

大数据算法与分析技术国家工程实验室将建设

国家发展改革委近日正式下发通知,同意由西安交通大学作为承担单位,国家电网公司全球能源互联网研究院作为联合共建单位,筹建"大数据算法与分析技术国家工程实验室". 国网信通部落实公司党组关于推进大数据的要求,组织联研院等单位深入开展大数据基础理论和分析算法的研究,并邀请徐宗本院士等国内大数据领域权威专家作为学术委员,于2016年1月26日在联研院正式组建"全球能源互联网大数据实验室".依托该实验室,国网信通部进一步部署联研院与西安交大展开深入合作,共同申报并获批建设&q

OneMob(一体传媒):大数据算法 让营销更精准

大数据作为时下的热词,尤其被互联网各大佬追捧.据预测,到2020年,全球数据规模将达到40ZB.随着大数据时代的到来,广告主对于精准营销的需求也正在上升.如何通过技术手段,挖掘大数据下的深层次关系,让营销更准确.有效已经成为营销中重中之重. 尽管大数据如此重要,但在过去的很长一段时间,不少企业对用户.产品.竞品.营销等各个方面都只是简单总结概括,而缺乏深入研究.很多决策者也只是凭借主观判断与自己的经验对市场进行估测并制定策略,然而随着技术的革新,这样守株待兔的方式显然已不够用,还会造成资源的浪费