偶然觉得有必要关注下大规模机器学习和数据挖掘方法
刚阅读完 CMU的一篇《Distributed GraphLab;A Framework for Machine Learning and Data Mining in the Cloud》论文,虽然自己还木有分布式计算框架的经验,但还是想在这里抛砖引玉,望路过的大大们不吝啬赐教。自己开通博客,一方面记录并分享所学的东西,另一方面自己还是菜鸟,有讨论才能进不。
文章的摘要部分就说明了,高性能数据并行框架,像MapReduce,简化了大规模数据处理系统的设计和执行过程,但是他们没有很好的支持许多重要的数据挖掘和机器学习算法,会导致降低学习系统的效率。GraphLab框架是种基于图结构,拥有异步迭代计算,动态计算,很好序列化等特点。
CMU的GraphLab小组把GraphLab部署在Amazon的EC2云平台,并跟几个主流的大规模数据处理框架进行PK。在文章中主要有以下几点分析:
1,概括了机器学习和数据挖掘算法的共有特性和现有的大规模计算框架的局限性。
2,实现了GraphLab架构和具有分布式能力的执行模块
3,两个具有分布式执行模块:Chromatic Engine:实现部分异步数据处理
Locking Engine :能够实现完全异步数据处理
4,容错分析
5,通过部署GraphLab在EC2平台上,和Hadoop,Pregel,MPI进行性能比较,评估GraphLab的表现