越来越多的应用涉及到大数据,不幸的是所有大数据的属性,包括数量、速度、多样性等等都是描述了数据库不断增长的复杂性。那么大数据给我们带来了什么好处呢?大数据最大的好处在于能够让我们从这些数据中分析出很多智能的、深入的、有价值的信息。
最近比较了179种不同的分类学习方法(分类学习算法)在121个数据集上的性能,发现Random Forest(随机森林)和SVM(支持向量机)分类准确率最高,在大多数情况下超过其他方法。本文针对“大数据分析到底需要多少种工具?”
分类方法大比武大数据分析主要依靠机器学习和大规模计算。机器学习包括监督学习、非监督学习、强化学习等,而监督学习又包括分类学习、回归学习、排序学习、匹配学习等(见图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事情就搞定了。
几点经验总结大数据分析到底需要多少种机器学习的方法呢?围绕着这个问题,我们看一下机器学习领域多年得出的一些经验规律。
大数据分析性能的好坏,也就是说机器学习预测的准确率,与使用的学习算法、问题的性质、数据集的特性包括数据规模、数据特征等都有关系。
一般地,Ensemble方法包括Random Forest和AdaBoost、SVM、LogisTIc Regression 分类准确率最高。
没有一种方法可以“包打天下”。Random Forest、SVM等方法一般性能最好,但不是在什么条件下性能都最好。
不同的方法,当数据规模小的时候,性能往往有较大差异,但当数据规模增大时,性能都会逐渐提升且差异逐渐减小。也就是说,在大数据条件下,什么方法都能work的不错。参见图2中Blaco & Brill的实验结果。
对于简单问题,Random Forest、SVM等方法基本可行,但是对于复杂问题,比如语音识别、图像识别,最近流行的深度学习方法往往效果更好。深度学习本质是复杂模型学习,是今后研究的重点。
在实际应用中,要提高分类的准确率,选择特征比选择算法更重要。好的特征会带来更好的分类结果,而好的特征的提取需要对问题的深入理解。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)