JMLR雜志上最近有一篇論文,作者比較了179種不同的分類學習方法(分類學習算法)在121個數(shù)據(jù)集上的性能,發(fā)現(xiàn)Random Forest(隨機森林)和SVM(支持向量機)分類準確率最高,在大多數(shù)情況下超過其他方法。本文針對“大數(shù)據(jù)分析到底需要多少種工具?”這一問題展開討論,總結機器學習領域多年來積累的經驗規(guī)律,繼而導出大數(shù)據(jù)分析應該采取的策略。
1.分類方法大比武
大數(shù)據(jù)分析主要依靠機器學習和大規(guī)模計算。機器學習包括監(jiān)督學習、非監(jiān)督學習、強化學習等,而監(jiān)督學習又包括分類學習、回歸學習、排序學習、匹配學習等(見圖1)。分類是最常見的機器學習應用問題,比如垃圾郵件過濾、人臉檢測、用戶畫像、文本情感分析、網頁歸類等,本質上都是分類問題。分類學習也是機器學習領域,研究最徹底、使用最廣泛的一個分支。
圖1 機器學習分類體系
最近、Fernández-Delgado等人在JMLR(Journal of Machine Learning Research,機器學習頂級期刊)雜志發(fā)表了一篇有趣的論文。他們讓179種不同的分類學習方法(分類學習算法)在UCI 121個數(shù)據(jù)集上進行了“大比武”(UCI是機器學習公用數(shù)據(jù)集,每個數(shù)據(jù)集的規(guī)模都不大)。結果發(fā)現(xiàn)Random Forest(隨機森林)和SVM(支持向量機)名列第一、第二名,但兩者差異不大。在84.3%的數(shù)據(jù)上、Random Forest壓倒了其它90%的方法。也就是說,在大多數(shù)情況下,只用Random Forest 或 SVM事情就搞定了。
2.幾點經驗總結
大數(shù)據(jù)分析到底需要多少種機器學習的方法呢?圍繞著這個問題,我們看一下機器學習領域多年得出的一些經驗規(guī)律。
l 大數(shù)據(jù)分析性能的好壞,也就是說機器學習預測的準確率,與使用的學習算法、問題的性質、數(shù)據(jù)集的特性包括數(shù)據(jù)規(guī)模、數(shù)據(jù)特征等都有關系。
l 一般地,Ensemble方法包括Random Forest和AdaBoost、SVM、Logistic Regression 分類準確率最高。
l 沒有一種方法可以“包打天下”。Random Forest、SVM等方法一般性能最好,但不是在什么條件下性能都最好。
l 不同的方法,當數(shù)據(jù)規(guī)模小的時候,性能往往有較大差異,但當數(shù)據(jù)規(guī)模增大時,性能都會逐漸提升且差異逐漸減小。也就是說,在大數(shù)據(jù)條件下,什么方法都能work的不錯。參見圖2中Blaco & Brill的實驗結果。
l 對于簡單問題,Random Forest、SVM等方法基本可行,但是對于復雜問題,比如語音識別、圖像識別,最近流行的深度學習方法往往效果更好。深度學習本質是復雜模型學習,是今后研究的重點。
l 在實際應用中,要提高分類的準確率,選擇特征比選擇算法更重要。好的特征會帶來更好的分類結果,而好的特征的提取需要對問題的深入理解。
3.應采取的大數(shù)據(jù)分析策略
建立大數(shù)據(jù)分析平臺時,選擇實現(xiàn)若干種有代表性的方法即可。當然,不僅要考慮預測的準確率,還有考慮學習效率、開發(fā)成本、模型可讀性等其他因素。大數(shù)據(jù)分析平臺固然重要,同時需要有一批能夠深入理解應用問題,自如使用分析工具的工程師和分析人員。
只有善工利器,大數(shù)據(jù)分析才能真正發(fā)揮威力。