迭代计算与金融大数据分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
updateCondition() u up dateCondition() } // / end while close() clo se()
1 迭代计算框架
目前基于 MapReduce 的迭代计算框架研究中 , 很多研究针对 MapReduce 模型和 Hadoop 系统进行优 化改进 , 主要的改进迭代计算框架包括 HaLoop [7] 和 Twister[8]。HaLoop是Hadoop的迭代计算扩展,其并没 有改变计算模型,而是引入一个运行时间很长的作业, 从而控制迭代的进行,以及迭代终止条件的判断,同时 通过在节点上设置静态的数据缓存 , 减少数据传输开 销,提高了迭代计算性能。但是,HaLoop假设每轮迭 代就需要两个MapReduce作业实现,因此不是所有的 迭代算法都能很好地满足条件 。 在 Twister 中 , 用户需 提前划分文件,Map任务生成的结果被放在分布式内存 中,Reduce所有任务产生的结果通过Combine操作进 行归并。在此过程中可以进行终止条件判定,Combine 操作后,数据被推送给Map任务开始新一轮的迭代,如 图1所示。此外,加州大学伯克利分校(UC Berkeley)的 Spark [8]是基于内存存储的支持大数据分析的分布式系 统,它不仅支持简单的批处理任务,也支持复杂机器学 习算法的实现和迭代计算。但其工作重点是在提高基于 内存的分布式系统的容错性能,虽然提供对迭代计算的 支持,但对迭代计算的优化有限。 除此上述成熟的系统之外,还有一些迭代计算性能 改进研究,其中很多研究提出了“数据分区”的概念。 文献[9]在MapReduce上有效运行图迭代算法。该文将
47
研究与开发 Research & Development
止。因此,学术界开始寻找新的执行环境,经过多年深 入研究发现,分布式迭代是一种非常有价值的算法[4]。 Hadoop架构和MapReduce编程模型可通过廉价的PC 集群获得强大的计算能力,从而能支持大数据环境下很 多迭代算法。近些年,由于硬件的发展,UC Berkeley AMP Lab 提出了 Spark 框架 [5]。 Spark 拥有 Hadoop 和 MapReduce的共同优点,另外,其Job中间输出结果可 以保存在内存中, 不需要读写分布式文件系统,节省了 大量的预算资源,因此,Spark能更好地适用于数据挖 掘与机器学习等需要迭代的Map Reduce算法[6]。
点开始 , 根据迭代函数进行反复迭代更新 ; K-means 算法反复迭代更新数据聚类中心点,根据最终收敛的不 动点结果来判定数据单元的聚类所属关系 ; 协同过滤 (Collaborative Filtering)算法,通常作用在用户与购买 商品关系的二维图上,通过交叉运行以用户为核心的和 以商品为核心的两个迭代计算过程,最终收敛的两个向 量表示购买习惯相似的用户群和功能相似的商品群,利 用相似用户群中其他用户的商品喜好信息来进行个性化 推荐。 大数据环境下迭代计算的运用更为广泛 。 然而 , 大数据有着数据量巨大、数据产生速度快、数据结构复 杂、数据价值密度低等特点,这些特点已经对工业界和 学术界的数据管理和分析等领域提出了重要的挑战[3]。 大数据环境中,需要多迭代步反复计算的迭代算法性能 瓶颈尤为明显 , 如何提高大数据环境下的迭代计算效 率成为了分布式计算以及大数据分析等领域面临的重要 问题。由于现存服务器的计算能力不足,其程序运算时 间无法满足实际需求,尤其在大数据上的迭代算法资源 消耗更为明显,完全超出了单服务器的承受能力,迭代 算法在单机环境下根本无法执行或因计算资源枯竭而终
Research & Development 研究与开发
迭代计算与金融大数据分析
王晓斌1 卢福军1 孙 挺1 闫 萌2 马忠义3
1 中国联合网络通信有限公司山西省分公司 太原 030006 2 山西建筑工程(集团)总公司 太原 030012 3 东北大学软件学院 沈阳 110169
前言
人们平常说的迭代也就是不断更替的意思。数学中 的迭代是反复应用可重复与自身复合的同一算法,每次 计算结果可作为后续计算的输入参数,这种不断反复计 算的过程叫做迭代。在计算机科学中,迭代是程序中对 一组指令(或一定步骤)的重复,它通常描述一种特定形 式的具有可变状态的重复。在计算机领域中,迭代计算 应用非常广泛,它根据计算机运算速度快、适宜重复性 运算的特点,让计算机对一组算法进行重复计算,在每 次进行算法执行运算时,都从变量的初始值推出它的一 个新值。很多看上去非常简单的算法,在经过迭代运算 之后也可能产生比较复杂的运算方法,从而衍生出复杂 问题的解决办法[1]。 随着数据挖掘 、 机器学习等相关领域的发展 , 越 来越多的迭代计算应用到诸如通信行业大数据精准营 销、社会网络分析、用户信用度评估、高性能计算、精 准广告推荐、搜索引擎等领域中[2]。例如:用户信息度 评估就是根据用户在各行业消费情况的关联关系进行迭 代并收敛至最终结果,其迭代本质即是从任意迭代初始
摘 要
大数据环境下迭代计算是近年来的研究热点,而迭代计算则是分析大数据的重要工具。文章综述迭代计算
的现有研究,提出迭代计算在金融大数据领域的应用。阐述迭代计算模型和计算框架可以运用到实际应用领域,优 化算法的执行过程,缩短算法的执行时间,对于大数据的应用具有积极的指导和实践意义。 关键词 迭代计算;迭代框架;大数オ䰤 ConfigureMaps() Confi f gureMap a s() ConfigureMaps() Confi f gureMap a s()
䝽㖞䘹亩˖1֯⭘ᵜൠ⻱ⴈ, 2֯⭘pub-subᙫ㓯
..
ᐕ㢲⛩
.. ..
㕃ᆈMap/Reduceԫ࣑
While(condition){
runMapReduce() r ru nMap a Re R du d ce() ਁ䘱<Key,Value> 䭞٬ሩ
Map()
Reduce() Combine() Comb m ine() ᡰ ᴹc om munic ca ᡰᴹ communications/data 㓿pub-subѝ䰤㖁㔌䘋㹼Ր䙂