标签:杂志 网页 cer eal 分类 11.2 cal 规模 for
原文地址:http://blog.sina.com.cn/s/blog_7ad48fee0102vb9c.html
摘要
JMLR杂志上最近有一篇论文,作者比较了179种不同的分类学习方法(分类学习算法)在121个数据集上的性能,发现Random Forest(随机森林)和SVM(支持向量机)分类准确率最高,在大多数情况下超过其他方法。本文针对“大数据分析到底需要多少种工具?”这一问题展开讨论,总结机器学习领域多年来积累的经验规律,继而导出大数据分析应该采取的策略。
1.分类方法大比武
大数据分析主要依靠机器学习和大规模计算。机器学习包括监督学习、非监督学习、强化学习等,而监督学习又包括分类学习、回归学习、排序学习、匹配学习等(见图1)。分类是最常见的机器学习应用问题,比如垃圾邮件过滤、人脸检测、用户画像、文本情感分析、网页归类等,本质上都是分类问题。分类学习也是机器学习领域,研究最彻底、使用最广泛的一个分支。
图1 机器学习分类体系
最近、Fernández-Delgado等人在JMLR(Journal of Machine Learning Research,机器学习顶级期刊)杂志发表了一篇有趣的论文。他们让179种不同的分类学习方法(分类学习算法)在UCI 121个数据集上进行了“大比武”(UCI是机器学习公用数据集,每个数据集的规模都不大)。结果发现Random Forest(随机森林)和SVM(支持向量机)名列第一、第二名,但两者差异不大。在84.3%的数据上、Random Forest压倒了其它90%的方法。也就是说,在大多数情况下,只用Random Forest 或 SVM事情就搞定了。
2.几点经验总结
大数据分析到底需要多少种机器学习的方法呢?围绕着这个问题,我们看一下机器学习领域多年得出的一些经验规律。
l 大数据分析性能的好坏,也就是说机器学习预测的准确率,与使用的学习算法、问题的性质、数据集的特性包括数据规模、数据特征等都有关系。
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.
【2017.11.29 周三 转载之李航博士的文章:大数据分析到底需要多少种工具?】
标签:杂志 网页 cer eal 分类 11.2 cal 规模 for
原文地址:http://www.cnblogs.com/cyn-bob/p/7923122.html