你以爲你瞭解Kaggle嗎?| 超級乾貨

會議之眼競賽篇-Kaggle平臺

會議之眼開啓競賽系列新徵程,每週將不定期爲您更新平臺、賽事、大牛經驗等乾貨信息。左手頂會,右手競賽,成爲您馳騁CS賽道的加速引擎!

本期爲您介紹的是數據科學領域的學習、競賽、交流以及找工作等一站式服務平臺-kaggle。源自知乎知名博主,留學屆最會規劃的數學女博士,a2Mia姐的系列文章!

帶100多名學生打了2年Kaggle比賽,資深教練告訴你Kaggle的最新變化和比賽指南。

 

 

 

2020年了,Kaggle比賽的這些變化你知道嗎?

入門Kaggle,這些變化你必須知道。

自2017年被Google收購後

Kaggle比賽有哪些變化?

Kaggle自2010年誕生以來,吸引了越來越多的數據科學愛好者,截止到2019年,Kaggle網站的註冊者已經超過250萬人。

如果你對Kaggle還不是很瞭解,我之前@a2Mia姐的專欄《Kaggle入門,看這一篇就夠了》詳細地介紹了Kaggle相關的基礎知識,非常適合想入門Kaggle的同學。

在這篇乾貨滿滿的文章中,你能夠了解到:

Ÿ Kaggle是什麼

Ÿ Kaggle的競賽模式

Ÿ Kaggle參賽者的背景

Ÿ Kaggle比賽的含金量和拿獎牌的難度

Ÿ 參加Kaggle的意義

Ÿ 0基礎的人如何入門Kaggle比賽

Ÿ Kaggle比賽相關的學習資源和資料推廣

 

Kaggle哪裏變了?

《Kaggle入門,看這一篇就夠了》,這篇文章,寫於2017年。

2年過去了,這期間,Google收購了Kaggle,數據科學領域和機器學習、深度學習結合得更加緊密,各種模型和算法層出不窮,爭奇鬥豔。

Kaggle比賽也隨之出現了新的趨勢,主要體現在以下幾個方面:

01

比賽的數目變少

公司提供真實案例的商業比賽數目變少。前幾年Kaggle的Featured類型的比賽幾乎每個月都會出一個新的比賽,現在變成了差不多每3個月纔會有一個新的比賽。

02

參加比賽的隊伍變多了

隨着Kaggle知名度和整體水平的提高,越來越多的數據科學愛好者加入了Kaggle比賽,伴隨着比賽數目的變少,每個比賽的參賽隊伍相比於以前變得更多,參賽隊伍超過3000支的比賽已經很常見了。

03

數據集變小了

在被Google收購之前,出題者分享給Kaggle的數據集都比較大。被收購後,人們越來越注重數據的保密性,比賽的數據集漸漸地沒有了大數據的性質。另外經常出現訓練集和測試集相差很大的情況。這對選手的數據處理能力提出了更高的要求。

 

04

賽題類型的變化

Tabular data佔比逐漸下降,image data和text data佔比逐漸上升。知乎話題參加Kaggle競賽是怎樣一種體驗下@包大人對此也感同身受,自2018年以來,Kaggle上data mining 的比重越來越少,CV(計算機視覺),NLP(自然語言處理),Optimization優化賽,承辦會議賽題越來越多,例如非常有意思的NIPS的對抗攻防。體驗就是拿獎牌越來越難,絕不是一個簡單的模型融合就能搞定。這一年內,Kaggle出現了很多比較有意思的題目,也有高手分享了他們的打法,例如:

 

關於CV(計算機視覺)的

Airbus Ship Detection 衛星圖像分割檢測

Kaggle Human Protein Atlas人類蛋白質圖譜

Humpback Whale Identification Challenge座頭鯨識別

 

關於NLP(自然語言處理)的

Jigsaw Unintended Bias in Toxicity Classification 惡意評論檢測

Quora Insincere Questions Classification Quara問題分類

 

關於Optimization(優化)的

Traveling Santa - Prime Paths優化聖誕老人的行徑路徑

 

05

拿獎牌更難了

綜合以上的變化,Kaggle參賽人數越來越多,商業型比賽變少,題目類型變難,想混個獎牌並不容易。

Kaggle比賽的獎牌獲得機制如下圖所示,可以看出,想在1000+支參賽隊伍裏拿個銅牌,也得是前10%的水平,不費一些功夫是不可能的。

Kaggle的這些變化趨勢從一定程度上反映出當前工業界和學術界所關注的問題的變化。

工業界所關注的問題與各位參賽者的就業前景相關,學術界所關注的問題與相關專業海外碩博申請者的求學相關。

所以不論你是求職者還是學生,如果對數據科學感興趣,都可以利用Kaggle來鍛鍊自己的技能,提升自己的背景,一次Kaggle比賽的經歷會讓你收穫遠超學校學習多得多的東西。

 

再談Kaggle比賽的意義

Kaggle比賽的意義,《Kaggle入門,看這一篇就夠了》已經有所解釋。

但兩年過去了,參加比賽的人越來越多,Kaggle比賽的經歷還像以前那樣有用嗎?答案是肯定的。

這兩年數據科學和機器學習的快速發展,讓我們看到了更多的機遇。數據科學本身是一門學術研究和行業實踐高度交融的學科,從目前的研究狀況來看,數據科學可以分爲(1)專業數據科學和(2)專業中的數據科學。另外,隨着科學技術的發展,人類產生的數據量也在飛速增長,最近幾年產生的數據比過去人類歷史上產生的所有數據還多。毫無疑問,數據科學會滲入到各行各業,成爲一個寬口徑的新興職業方向,充滿了工作機會。

此外,這幾年隨Data Science和Big Data的興起,看到市場對數據人才的追求日益激烈,很多大學開始專門開設數據科學類相關的專業。截止到2018年,35所高校獲批開設人工智能(AI)專業,203所獲批數據科學專業名單參見:

https://cloud.tencent.com/developer/article/1418297);

美國很多知名大學也都相繼開設了analytics、Data Science類的研究生項目,知乎用戶@鄒昕整理了美國較好的Data Science研究生項目。

因此不論是對於求職者,還是想轉專業或是申請出國留學的學生,Kaggle都是極具含金量非常值得一試的項目經歷。

在過去兩年多時間裏,我們帶了超過100名同學打Kaggle比賽,這些同學的案例都在告訴我們:如果你在數據科學或相關領域基礎較爲薄弱甚至是0基礎,Kaggle項目的經歷都能夠很好地彌補你的不足;

如果你本身在數據科學領域已經有一定的經驗,Kaggle比賽經歷會爲你的簡歷不僅是錦上添花,多數時候甚至是雪中送炭的效果,使你在競爭者中脫穎而出。

 

教練,我想打Kaggle比賽!

如果你對Kaggle比賽感興趣,但苦於技能或背景不足夠強,是否還有立竿見影能幫助自己在Kaggle比賽中取得好名次呢?

以下錦囊請收好!

01

學習合適的編程語言

工欲善其事,必先利其器。Kaggle比賽最流行的編程語言是Python,很多案例以及kernel上的baseline都是用python寫的;其次是R語言或其他。所以我們更推薦學Python。關於入門Python的教程,《Kaggle入門,看這一篇就夠了》裏已經列出了很多學習資源。

02

掌握至少一種機器學習框架

常用的機器學習或深度學習框架包括Tensorflow,Pytorch,scikit-learn,Theano,Caffe,Keras等等,只要對其中1個有比較深入的瞭解,打Kaggle比賽基本沒有任何問題。掌握一種機器學習框架最有效的學習方式就是參照它的技術文檔,親手把上面的例子過一次。案例看得再多,都不如自己親自動手做一次。

相關教程可以參考知乎話題或專欄:

《Keras,Theano,pytorch,caffe2 哪個更好一些,應該怎麼嘗試學習?》《TensorFlow 如何入門,如何快速學習?》

《Caffe系列教程》

《新手如何入門pytorch?》

 

03

選擇合適的比賽類型

目前Kaggle上的比賽類型分爲以下幾種,對參賽選手的門檻有不同層級的要求:

 

1.面向初學者

Getting Started

項目難度低,非常適合入門級的參賽者用來練手,但沒有獎牌或獎金,只能看到自己的排名。常年進行中的比賽有3個:

(1) Titanic

(2) House prices

(3) Digits Recognizer

這三個比賽由於常年掛在Kaggle上,數據集也未做任何更新,已經有很多baseline可以借鑑,很多參賽隊伍拿到了滿分或接近滿分的成績。

Playground

項目難度比Getting Started稍難,主要是一些趣味性的比賽,看創意而不是解決具體的研究問題,獎勵可能是獎金、榮譽,不能獲得獎牌。

 

2. 面向競賽者

Featured

是Kaggle上主要的競賽類型,爲解決商業問題而設立的比賽,獎金高競爭激烈,有金銀銅牌獎勵,對參賽選手的能力有一定的要求。

Research

致力於解決科研界學術界的前沿問題,偏向於實驗性質,較難;競爭沒那麼激烈,通常也有獎金和金銀銅牌,但有的比賽只給榮譽獎勵,或者是提供參加頂會的機會。

 

3. 面向求職者

Recruitment

贊助商爲招聘數據科學家而設立的比賽,獎勵就是贊助商提供的工作機會。

 

4. 其他比較冷門的比賽類型

Annual

不是嚴格意義上的比賽,每年兩次,一次是美國大學籃球錦標賽期間的三月機器學習比賽,一次是聖誕節期間的聖誕主題優化比賽。

Limited participation

通常是私人賽或邀請賽,例如只有master級別及以上才能參加的Master's Competition。如果你是初學者,建議從入門級的Getting started或playground的比賽開始。能夠從中瞭解到打Kaggle比賽的一些基本思路/套路,也能獲得一個比較好的成績,給自己建立信心。有針對性地選擇比賽題目

Kaggle上的比賽題目主要有這幾種:

data mining(數據挖掘),

computer vision(計算機視覺),

natural language process(自然語言處理),optimization(優化)。

如果你對計算機視覺有興趣,並且以後想申請相關方向的研究生或是職位,最好就專注於計算機視覺的比賽題目。同一種類型的比賽題目大多有套路可循,打的比賽多了,摸清了套路,自然成績會越來越好。

 

此外還可以有針對性地選擇賽題細分領域,比如同樣是計算機視覺的題目,有的是和生物醫學相關(例如蛋白質圖譜分類),有的是和動物保護有關(例如座頭鯨的識別)。

 

如果你急於利用Kaggle比賽的經歷提升自己的背景,但自學起來比較困難,不知道該怎麼規劃打比賽的路徑,找一個經驗比較豐富的老司機帶一帶也是一種非常有效的方式。

 

但大牛也不是那麼好找的,即使找到了人家也不一定有充足的時間教你。現在市面上出現了很多針對Kaggle比賽的培訓班或訓練營,一般都是2-3個月的時間。

 

推薦選擇具有真實比賽實操的輔導項目,以便能更高效率和高性價比地獲得一手且真實的Kaggle比賽經歷與優秀的排名成績,更直接地幫助你在無數競爭者中差異化背景,實現留學求職目標。

 

總而言之,打Kaggle比賽需要“無所不用其極”,除了要熟悉解決相關問題的方法,還需要在實踐中不斷優化解題思路。

 

如果說科研考察的是一個人對問題的洞察力,那麼Kaggle比賽考察的就是一個人對數據的洞察力。

 

Kaggle比賽不光培養一個人的科研審美,還能夠幫助參賽者深刻理解數據科學的內涵,例如什麼是過擬合,什麼是泛化能力,你的模型能否經受得住別的數據集的考驗。

 

說到底,想斬獲更亮眼的名次,提高自己的技能包和實踐力纔是終極解決方案!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章