編者按:Kaggle是全球最大數據建模和數據分析競賽平臺,也是檢驗個人水平的最佳舞臺。現如今,隨著社會對機器學習人才的需求提高,在Kaggle上刷到過前5%、10%也成了應聘的一個硬指標。考慮到Kaggle的權威性和受歡迎度,這么多年來,這個平臺的數據應該能體現整個數據科學領域的發展軌跡。
多年來,數據科學領域的許多趨勢已經發生了改變。Kaggle,作為全球最大、最受歡迎的數據科學社區,記錄著這些變化的演進狀態。本文將使用Kaggle Meta Data逐一分析,看看這些年來,我們的數據科學究竟發生了什么變化?
1. 線性回歸 vs logistic回歸
線性回歸與邏輯回歸是機器學習中比較基礎又很常用的內容,其中前者可以進行連續值預測,后者能被用于解決分類問題。所以我們先從它們開始,根據Kaggle論壇的帖子數對比這兩種算法的熱度趨勢。
藍:線性回歸;橙:logistic回歸
如上圖所示,橙線大多數時間都在藍線之上,用戶這些年來似乎一直都更喜歡聊logistic回歸。而宏觀來看,兩種算法的變化趨勢幾乎吻合,峰值重合度較高,雖然起伏明顯,但這8年來,它們總體是呈上升趨勢的。
那么logistic回歸受歡迎的原因是什么?一個跡象表明,Kaggle上的分類問題遠多于回歸問題,其中一個代表是這些年來最受歡迎的泰坦尼克號生存預測競賽。這是Kaggle上歷史最“悠久”的競賽之一,用戶的討論自然也很激烈。而最受歡迎的回歸問題則是房價預測,但人們通常會在完成泰坦尼克號之后再考慮這個問題。
在2017年10月和2018年3月,Kaggle論壇上關于logistic回歸的討論量大幅增加。對此,一個可能的解釋是平臺上出現的新競賽——惡意評論分類。當時一些團隊分享了不少和分類模型相關的高質量經驗,其中就包括logistic回歸。
2. XgBoost的霸主地位
藍:決策樹;橙:隨機森林;綠:XgBoost;紅:LightGBM;紫:CatBoost
在2014年以前,線性模型、決策樹和隨機森林的討論量雖然不多,但它們占據絕對話語權。2014年,時為華盛頓大學博士的陳天奇開源XgBoost算法,受到大眾追捧,之后它也迅速成了Kaggle競賽中的常客。時至今日,XgBoost在競賽中的使用率還是很高,性能也很好,不少奪冠方案中都有它的身影。
但是,根據曲線我們可以注意到,自從2016年LightGBM被提出后,XgBoost的討論量出現了一定程度的下降,而LightGBM卻一路水漲船高。可以預見,在學界開源更好的模型前,這個算法將在未來幾年占據主導地位。現在LightGBM也已經出現在不少競賽中,比如Porto Seguro的安全駕駛預測,它的優點是比XgBoost實現速度更快、更簡單。
除了這些算法,圖中“最年輕”的CatBoost也有走紅的趨勢。
藍:神經網絡;橙:深度學習
幾十年來,神經網絡在學界和工業界一直不溫不火,但如上圖所示,隨著大型數據集的出現和計算機算力的大幅提升,近幾年這種趨勢已經發生了變化。
從2014年起,我們相繼迎來了theano、tensorflow、keras,與此同時,一個名為深度學習的時代也漸漸出現在世人視野里。在Kaggle上,用戶發表的有關深度學習的帖子數不斷上升,并最終超過神經網絡。此外,諸如亞馬遜、谷歌等的云服務提供商也正擁抱新技術,以更加積極的姿態展示在云上訓練深層神經網絡的能力。
深度學習模型是Kaggle競賽中的新星,目前它已經在圖像分類、文本分類競賽中嶄露頭角,比如Data Science Bowl、Quora重復問題分類等。而伴隨RNN、CNN的不斷改進,深度學習的流行趨勢似乎已經勢不可擋。此外,一些嘗試已經證實,遷移學習和預訓練模型在競賽中能夠表現出色。
這種技術讓人們看到了可能性。為了讓用戶從實踐中學到更多知識,Kaggle可以推出更多和圖像分類建模相關的比賽,但以當前的情況看,現在限制用戶大規模使用深度學習的是它的算力要求。但這種問題是可以被解決的。Kaggle已經添加GPU支持,未來,相信嘗試深度學習的用戶會越來越多。
4. Kaggle上流行的ML工具
藍:Scikit;橙:Tensorflow;綠:Keras;紅:Pytorch
在2015年以前,如果一個數據科學家想構建機器學習模型,Scikit Learn是他唯一可以選擇的庫;2015年后,這種局面發生了改變,作為ML生態的一部分,谷歌開源軟件庫Tensorflow,并讓它迅速在全球范圍內普及。
但是Tensorflow也存在缺點,就是它比較難學,因此雖然用戶非常多,但在Kaggle這個競賽平臺上,大多數用戶還是傾向于選擇更靈活、更簡單的Keras。畢竟究其本質,Keras可以被看作是Tensorflow封裝后的一個API。
5. XgBoost vs Keras
藍:XgBoost;橙:Keras
既然Keras是深度學習框架,我們可以把它看做深層神經網絡的間接代表。
XgBoost與深度學習孰優孰劣?這是去年Quora上吵翻天的一個問題。而從Kaggle的數據看,前者一直處于領先地位,而后者也在奮力追趕。相比復雜、層多的神經網絡,XgBoost的優點是更快,對硬件要求更低,因此也更受普通用戶歡迎。
但這個結果并不代表優劣,拿陳天奇博士自己的話說,就是:
不同的機器學習模型適用于不同類型的任務。深層神經網絡通過對時空位置建模,能夠很好地捕獲圖像、語音、文本等高維數據。而基于樹模型的XGBoost則能很好地處理表格數據,同時還擁有一些深層神經網絡所沒有的特性(如:模型的可解釋性、輸入數據的不變性、更易于調參等)。
6. 可視化工具比拼
藍:Matplotlib;橙:Seaborn;綠:Plotly
從2017年起,Plotly就像開了掛一樣一路走紅,現在已經成為Kaggle用戶最常用的可視化工具。排名第二的是Seaborn,它實際上是在Matplotlib的基礎上進行了更高級的API封裝,生成的圖更好看,而作為補充,Matplotlib的圖更有特色。
7. 數據科學過程步驟比拼
藍:Exploration;橙:特征工程;綠:調參;紅:集成
在上圖中,最受Kaggle用戶關注的是模型的集成。參加競賽時,雖然最后提交的是一個模型,但參賽者會先訓練若干個弱模型,最后再用集成方法進行整合堆疊。這種做法在回歸和分類任務中非常常見。
至于同樣倍受矚目Exploration,近期,無數數據科學家已經一遍遍強調了探索性數據分析(EDA)的重要性,而他們的呼吁起到了效果。如果我們沒法確保數據的可靠性,最后的模型很可能會出問題。
但對于這個結果,有些人可能會感到意外。因為如果想在競賽中取得好名次,調參和模型微調肯定必不可少,但這兩個時間、精力消耗的“大戶”的排名卻不高。所以我們應該牢記,雖然集成是建模過程的最后一步,但我們應該在特征工程和模型調整上投入相當長的時間。
最為人津津樂道的子平臺
藍:數據集;橙:Kernel;綠:競賽;紅:Learn
既然Kaggle是個數據科學競賽平臺,用戶們討論的內容自然是參加什么競賽,用了什么數據集,并分享看到的實用代碼。而根據上圖的曲線,自從2016年推出后,代碼Kernel的受歡迎度一路飆升,畢竟用戶們可以在上面看到其他參賽者自愿公開的模型代碼,這對于學習和交流來說是不可多得的優質資源。
此外,Kaggle還推出了課程子平臺Kaggle Learn,雖然目前在討論度上不及數據集、Kernel和競賽,但這些課程主要面向初學者。未來,隨著課程內容的豐富和新手人數的增加,這個板塊的流行指日可待。
-
神經網絡
+關注
關注
42文章
4771瀏覽量
100720 -
機器學習
+關注
關注
66文章
8408瀏覽量
132574 -
大數據
+關注
關注
64文章
8884瀏覽量
137408
原文標題:Kaggle CTO力薦:從Kaggle歷史數據看機器學習競賽趨勢
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論