程序员人生 网站导航

【技术博客推荐】樊哲谈机器学习算法与Mahout

栏目:互联网时间:2014-09-23 15:02:26

Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的 机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。

樊哲,精通Mahout相关算法的二次开发,专注数据挖掘领域,他的CSDN博客用户名为fansy1990,并荣获“CSDN2013博客之星”的头衔。他大学期间便开始跟随导师做项目,之后接触数据挖掘。在做数据挖掘的过程中,幸得师兄帮助,便跨入Hadoop大门,从此一发不可收拾。由于在Hadoop平台上算法开发一般需要耗费很长时间,在导师的帮助下开始接触Mahout。接触后才发现原来很多的经典数据挖掘算法已经在Hadoop上面实现了,这让他着实兴奋了一把,乘机学习了一些主要算法的源码。

他从12年下半年开始进行Mahout相关算法的二次开发。由于国内的Mahout相关的书籍太少,他便着手撰写一本关于Mahout算法解析与案例实战的书籍。目前已经完稿。在谈到在CSDN上写博客的收获时,他觉得坚持在CSDN上写博客,可以记录自己学习的点点滴滴,同时结交了很多志同道合的朋友。日前,笔者有幸邀请到樊哲,他接受了我们CSDN的专访,以下为采访实录:

CSDN:能否介绍一下目前您正在从事哪方面研究?

樊哲:目前主要在做电力行业的数据挖掘项目,涉及到Mahout算法的二次开发,工作之余会涉猎一些Apache Hadoop项目相关的其他项目,如HBase、Hive等

CSDN: 您认为强大的Hadoop短板在哪里?有人认为Spark会取代Hadoop,你怎么看?

樊哲:

1)  MapReduce的非实时性

Hadoop上面的任务一般都是长耗时的,非实时的,但是现在很多的应用都对实时性有一定的要求(Hadoop2 引入了Yarn,在一定程度上缓解了这个问题)。

2)  运行MapReduce的时候节点资源利用率不够理想

目前Hadoop运行任务的时候计算节点的资源,比如CPU、Memory等利用率其实并没有达到很理想的状态,还可以进一步优化。

其实,我对Spark也只是有一些浅显的了解,如果说Spark的性能确实比Hadoop好很多的话,未来可能会在某一方面取代Hadoop,毕竟如果Spark在性能上取得优势的话,那么它应该会有一定的局限性,Hadoop成名这么久也不是没有道理的。不过,我觉得如果Hadoop可以引进一些Spark的优点,那么Hadoop的发展应该会更加迅猛。其实技术都是向前发展的,我更倾向于技术优点的融合,这样才能长久发展。

CSDN: 你认为目前数据挖掘领域面临的挑战有哪些?

樊哲:

1)  数据转为大数据,首先对存储有了更高的要求;

2)  大数据下,同样对算法的开发也有更高的要求,比如需要考虑如何处理大数据、如何提高数据处理性能;

3)  大数据下,随着高性能计算的发展,深度学习也会越来越受到重视;

4)  在大数据时代,数据挖掘的知识可能会作为机器智能的核心知识库;

5)  不同于Hadoop/MapReduce框架的其他计算框架,比如实时流计算、分布式内存计算、图计算框架等都对数据挖掘提出了挑战;

CSDN:你认为目前国内在机器学习和算法研究方面的水平如何?

樊哲:目前,在国内,应该很多人都在进行相关的研究,但是一些顶尖的技术可能和国外还是有一些差距。

CSDN:你认为在使用Mahout过程中最大的难点在哪里?

樊哲:

1)  对于初学者来说,目前关于Mahout的学习资料比较少,官网提供的相关文档并没有很详细的关于每个算法的使用教程。

2)  对于Mahout的二次开发者来说,不仅要求开发者对算法有一定的了解,同时对于编写符合MapReduce流程的伪代码算法以及把伪代码转换为实际代码的能力都有很高的要求。最后,如果对于算法在性能上有要求,还应该做到提高算法运行的效率,这个也是难点。

CSDN:你的基于云架构的数据挖掘等软件获得国家级著作权登记,请问你开发这些软件时遇到的最大困难是什么?

樊哲:当时由于还是学生,虽然学习了很多理论知识,比如数据结构、高等数学、算法编程等课程,但是缺乏一定的编程训练(虽然自己课余时间有加强编程训练,但还是不够),同时对于自己来说,对于把理论和实践相结合的能力还是不行,比如在掌握了数据结构以及一些数学基础后应该可以写成一些算法的伪代码,但是当时伪代码的生成还是有一定的难度。最后,对于处于初级编程水平的我来说,把算法伪代码转换为真正代码的过程也是有一定难度的。

CSDN:大数据时代,你认为企业在数据化运营过程中如何将数据转化为价值?

樊哲:

1)数据商品化,一些企业可以针对现有的数据在不泄露用户隐私的情况下进行数据交易;

2)大企业在有能力的情况下,可以通过对海量历史数据进行数据分析来预测未来,通过大数据分析来支持决策;

3)通过对大量企业积累的用户数据使用推荐系统分析,可以更加了解用户,更精确的对用户进行推荐;

CSDN:在大数据开源技术的选择和使用方面,有什么建议?

樊哲:建议的学习路线是:首先学习Hadoop;在有一定的Hadoop基础的时候,可以去学习HBase、Hive、Pig等,这些技术主要是对数据处理的一些封装技术,底层其实使用的都是MapReduce来实现;如果仅仅是使用的情况下,而不要求理解相关原理以及一些二次开发,那么上面基本足够,但是若想要进行一些二次开发,那么可以去学习Mahout;最后就是一些相对周边的技术了,比如Zookeeper、Avro、Ambari等。相关的书籍有《Hadoop权威指南》、《Mahout in Action》、《HBase权威指南》等。如果是针对数据挖掘的学习,比如Mahout,可以找到一个经典的、易于理解的算法来看Mahout的源码,从中学习,事半功倍。

CSDN:一直坚持在CSDN撰写博客,分享你的心得体会,最大的收获是什么?

樊哲:最大的收获其实还是自己技术的提升、思维的训练以及书写能力的提高,同时写过的博客还是一个很好的参考工具。在所写博客中,其实大多数都是对所写技术的一种个人的理解,通过这种书写的过程,可以加深对该项技术的理解,同时写博客还可以和一些志同道合的网友进行交流,共同进步,所以我博客的主题也是:分享、成长、快乐。(文/魏伟)

点击樊哲博客,查看更多技术性文章!

博客推荐系统--mahout FP关联规则算法应用1  

phoenix实战(hadoop2、hbase0.96)

hadoop集群算法调用--web平台2.0

以“  云计算大数据 推动智慧中国 ”为主题的  第六届中国云计算大会 将于5月20-23日在北京国家会议中心隆重举办。产业观察、技术培训、主题论坛、行业研讨,内容丰富,干货十足。票价优惠,马上  报名 ! 

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐