原文地址:http://blog.sina.com.cn/s/blog_7ad48fee0102vb9c.htmlhtml
摘要算法
JMLR杂志上最近有一篇论文,做者比较了179种不一样的分类学习方法(分类学习算法)在121个数据集上的性能,发现Random Forest(随机森林)和SVM(支持向量机)分类准确率最高,在大多数状况下超过其余方法。本文针对“大数据分析到底须要多少种工具?”这一问题展开讨论,总结机器学习领域多年来积累的经验规律,继而导出大数据分析应该采起的策略。dom
1.分类方法大比武机器学习
大数据分析主要依靠机器学习和大规模计算。机器学习包括监督学习、非监督学习、强化学习等,而监督学习又包括分类学习、回归学习、排序学习、匹配学习等(见图1)。分类是最多见的机器学习应用问题,好比垃圾邮件过滤、人脸检测、用户画像、文本情感分析、网页归类等,本质上都是分类问题。分类学习也是机器学习领域,研究最完全、使用最普遍的一个分支。工具
图1 机器学习分类体系性能
最近、Fernández-Delgado等人在JMLR(Journal of Machine Learning Research,机器学习顶级期刊)杂志发表了一篇有趣的论文。他们让179种不一样的分类学习方法(分类学习算法)在UCI 121个数据集上进行了“大比武”(UCI是机器学习公用数据集,每一个数据集的规模都不大)。结果发现Random Forest(随机森林)和SVM(支持向量机)名列第1、第二名,但二者差别不大。在84.3%的数据上、Random Forest压倒了其它90%的方法。也就是说,在大多数状况下,只用Random Forest 或 SVM事情就搞定了。学习
2.几点经验总结大数据
大数据分析到底须要多少种机器学习的方法呢?围绕着这个问题,咱们看一下机器学习领域多年得出的一些经验规律。ui
l 大数据分析性能的好坏,也就是说机器学习预测的准确率,与使用的学习算法、问题的性质、数据集的特性包括数据规模、数据特征等都有关系。url
l 通常地,Ensemble方法包括Random Forest和AdaBoost、SVM、Logistic Regression 分类准确率最高。
l 没有一种方法能够“包打天下”。Random Forest、SVM等方法通常性能最好,但不是在什么条件下性能都最好。
l 不一样的方法,当数据规模小的时候,性能每每有较大差别,但当数据规模增大时,性能都会逐渐提高且差别逐渐减少。也就是说,在大数据条件下,什么方法都能work的不错。参见图2中Blaco & Brill的实验结果。
l 对于简单问题,Random Forest、SVM等方法基本可行,可是对于复杂问题,好比语音识别、图像识别,最近流行的深度学习方法每每效果更好。深度学习本质是复杂模型学习,是从此研究的重点。
l 在实际应用中,要提升分类的准确率,选择特征比选择算法更重要。好的特征会带来更好的分类结果,而好的特征的提取须要对问题的深刻理解。
图2 不一样机器学习方法在数据集增大时的学习曲线。
3.应采起的大数据分析策略
创建大数据分析平台时,选择实现若干种有表明性的方法便可。固然,不只要考虑预测的准确率,还有考虑学习效率、开发成本、模型可读性等其余因素。大数据分析平台当然重要,同时须要有一批可以深刻理解应用问题,自如使用分析工具的工程师和分析人员。
只有善工利器,大数据分析才能真正发挥威力。
参考文献
[1] Manuel Fernández-Delgado, Eva Cernadas, Senén Barro, Dinani Amorim; Do we Need Hundreds of Classifiers to Solve Real World Classification Problems? Journal of Machine Learning Research 15(Oct):3133−3181, 2014.
[2] Banko, Michele, and Eric Brill. "Scaling to very very large corpora for natural language disambiguation." Proceedings of the 39th Annual Meeting on Association for Computational Linguistics. Association for Computational Linguistics, 2001.