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