Kaggle 的比賽在 Machine Learning 領域中屬於什麼地位?
本題已加入知乎圓桌 ?「機器學習 · 學以致用」,更多「機器學習」相關話題討論歡迎關注。
一般能在kaggle上獲獎的都是什麼樣的人?能學到東西嗎?在kaggle上獲過獎在求職或申請研究生方面算是一個亮點嗎?
在主流科研界可能影響已經不大了,但是在工業界中依然很受用。如果你有一些特別亮點的成績,還是很有說服力的。也正如 @lau phunter中提到的答案一樣。
如果要在Kaggle比賽裡面獲得一個好的成績,免不了要做大量的實驗:關於參數選擇,模型選擇,以及特徵工程等等。而為了高效地完成這些實驗,即要有良好的實驗思想,又要有紮實的代碼功底來完成Pipeline設計與架構。這都非常考驗人的綜合能力,是工業界需要的人才。
當然即便如此,Kaggle的比賽已經比真實世界中的機器學習要做的事情簡化太多了。我們平時時間都花在哪了?
* 確定要解決的問題到底是什麼
* 明確優化指標
* 收集合適的數據
* 數據清洗
* 做各種實驗
* 要求其他組的人協同做A/B Test
* 把機器學習的Pipeline整合到其他產品的Pipeline中
* 在各個場合推銷我們的模型真的有用……
2017-8-22更新:兩年過去了大家參加Kaggle熱情高漲標準也水漲船高,以下標準請浮動一級。
原答案:
獲獎的都是有真本事的人,在上面練幾個題目得個好名次,十分能證明你對數據科學這個領域的實踐和理解。我現在招人的時候幾乎是這個標準:
- 寫上參加過Kaggle比賽,我會看簡歷。
- 得過一次10%,我會給電話面試。
- 得過2次或者以上10%,我會給on site面試。
- 得過一次前10,我們會談笑風生。
樓主加油。
就我剛剛找工作期間的情況,Kaggle絕對是簡歷上的大殺器.對於我這樣沒有任何工作實習背景的情況,兩次前5%,其中一次前20, 一次3000+隊伍比賽中的前2%的成績帶來的結果就是,申請的德國,瑞士,英國的公司的職位,邀請面試占投簡歷概率能超過50%,在面試過程中,基本不考察機器學習,深度學習基礎知識的,就是把比賽的項目講解一下.當然最後很順利的得到特別中意的一個"Data Scientist"的職位.可以說,我能找到現在的工作,幾乎可以完全歸功於之前的Kaggle比賽經歷.對於其他有志於進入工業界的人來說,多參加Kaggle的比賽,絕對是很有意義的一件事兒!對於想出國工作的人來說,這也是一個絕佳的方式,就我面試英國的公司的情況,對方很樂意幫助解決工作簽證的問題.
從Netflix Prize之後的一兩年,這種類型的比賽開始盛行。最開始參與的能取得好成績的都是一些大牛,比如大家都熟知的項亮當時是Netflix Prize第二名的成員。
這幾年隨著比賽越來越多,winner solution也到處都是,套路大家也越來越熟。不管什麼比賽, LR+GDBT+FM+NN上去一搞,再ensemble一下,總能得到一個不錯的結果。
在kaggle上獲得什麼名次不能說明什麼。如果能在比賽過程中體現出分析問題解決問題的能力,特別是能針對性的提出結果方案,才能體現真實水平。舉一個例子,上海交大APEX實驗室的團隊參加KDD Cup 11之後開發了SVD Feature;參加KDD Cup 12獲得第一名中的一些tree相關的技術是Tianqi的ICML 13 paper以及XGBoost的基礎。相反,如果你翻開最近參加kaggle比賽的一些solution分享,大多都是follow一些特定的流程走了一遍,並沒有什麼新東西。
另外,現在大家都是組隊參加,真正能起決定作用的是其中少數幾個人,另外還有幾個打醬油的喜歡拿著成績自己出去吹,對這些人大家還是多加小心。
參加比賽和做research是不一樣的。很多人可以不必了解model和algorithm的細節,拿幾個開源的包跑跑就可以得到不錯的成績。而做*好的*research需要對模型和應用較深的理解。所以,對求職來說是一個亮點,但是對申請研究生來說,不一定。Kaggle是現在世界上最大的數據科學家、機器學習開發者的社區,用戶量達到幾十萬,其行業地位是毋庸置疑的。Stanford人工智慧實驗室主任兼谷歌雲首席科學家李飛飛,前幾天剛主導了Google收購Kaggle的案子,她大約在一年前就說過,「Kaggle是搜尋、分析公共數據集,開發機器學習模型,和提高數據科學專業水平的最佳場所。」這是對Kaggle在機器學習、人工智慧領域的地位的高度認可,也為今年的收購行為做出了一個合理的解釋。對於Kaggle而言,在加持了Google Cloud服務後,社區將擁有更好的獲取、儲存大型數據集的能力;而社區成員將能夠享用最先進的雲機器學習開發環境。無疑這一合作將會對Kaggle社區的發展起到很大的推動作用,因此未來Kaggle在ML和AI領域的地位只會更加穩固。
近期我也專門寫了一篇專欄(「Kaggle入門,看這一篇就夠了 - 知乎專欄」)為大家介紹了如何參與Kaggle競賽以及利用平台資源提高自己,感興趣的同學可以戳進去了解更多~
申請研究生應該沒卵用,沒拿過這個東西申請工作,也不知道。至於能不能學到東西,看什麼樣的比賽,以及是否用心。
有些比賽數據太簡單,下載下來跑個Xgboost,就10%了。不過如果自己去嘗試新的東西,也是能有收穫的。
有一些數據比較麻煩,處理數據就費時間,feature engineering的餘地也比較豐富,有時候要自己寫一些規則或者寫loss function,這些比賽可以學到不少。
獲獎不容易。簡單的比賽由於參加人數太多,方法又太同質化,時間都花在tuning parameter和ensemble上,獲獎需要很好的運氣。複雜的比賽,方法千差萬別,還搞tuning parameter那套就不靈了,top隊伍時間都花在抓問題關鍵上,誰抓到的關鍵更多,誰分數就更高,這個要花很多時間和思考,比較刺激。什麼樣的人都有。獎金高的比賽有不少大公司的"專業選手",獎金低的比賽入門級選手居多。到缺少專業機器學習人才的公司求職會有幫助。申請研究生不如發表頂會文章有用。
寫了個爬蟲爬下了 Kaggle 的幾乎所有比賽的排行榜數據,做了些簡單的分析:
關於Kaggle的一些數據分析
(不斷填坑中)
在Kaggle里能學到東西是肯定的。
我是計算機視覺方向碩士畢業的。按我個人的理解的話:
①Kaggle是非常好的實驗場,可以用於檢驗新出來的 paper 在別的數據集上是 work 還是不 work。
舉個例子就是,在 Carvana Image Masking Challenge 在這場 17年9月底截止的圖像分割的比賽里,以14年的 UNet 為 baseline,很多參賽選手嘗試了17年在 arXiv 上發布的圖像分割的新方法,如 Tiramisu, PSPNet, RefineNet, Large kernel matters 等等,但幾乎所有人都在論壇里稱沒能通過這些新的網路結構超越 UNet 的精度 。
--- 20171002更
Carvana Image Masking Challenge 已結束。排名靠前的選手分享的solution都是基於UNet的。另外他們毫無例外都使用了高解析度的圖片作為輸入。
這場比賽里如果用 resize 過的圖像進行訓練(say, 1920*1080 -&> 1024*1024),會在 public LB 里獲得過擬合的分數,導致比賽結束時在 private LB 里排名大降。
原因是 segmentation 和 classification 不同,segmentation 是像素級別的分類,resize 會損失掉很多的邊緣信息,導致精度明顯下降。而分類任務則不會太在意圖片的細節。比賽期間之所以沒注意到這一點,大概是因為 public LB 計算分數所用的那一部分測試圖片的邊緣都比較「柔和」,即使 resize 了也不會降低精度。以上就是我在這次比賽里學到的最重要的一課。
---
這可能是因為,做圖像分割的研究員只能通過有限的幾個公開數據集來驗證他們的網路結構。後人發現前人的網路結構在這些數據集上表現出了問題,會再通過同樣的數據集去嘗試優化這些地方。
因此就可能出現這樣的情況:paper 中的網路結構在這些公開數據集上表現得越來越好,但是應用在工業界上卻未必比得上幾年前的老結構。——他們的網路結構針對公開數據集過優化了!
像XGBoost這樣能在工業界也大獲成功的演算法是畢竟是極少數。
另外,機器學習工程師在工作中可能幹3年都只能對著同一系列的數據集。花3年時間對自家數據集過優化,公司自然是很高興的,但是反過來說,對於提高工程師水平這方面卻讓大家高興不起來。因為很多 trick 真的是換了數據集就無效了。
②Kaggle可以讓工程師接觸各種各樣的數據集。
某種 trick 在自家公司數據集上獲得了提高,那麼這種 trick 是通用的呢?還是不通用的呢?拉出來在Kaggle上類似的數據集上跑一跑就知道了。
③Kaggler的分享精神是非常不錯的。沒有競爭就沒有傷害。真正在Kaggle上做過比賽的人都知道沖排行是很困難的事情(尤其是從15年開始,詳情見:關於Kaggle的一些數據分析)。同樣的數據集,為什麼TA的精度就比自己好?TA到底是怎麼做到的?每次看排行榜就讓人撓頭不已……好在不少高手願意在賽後分享經驗讓大家學習。真正在某個比賽里參與進去,發現自己的極限,然後再學習高手的經驗,這麼一來自己的極限就得到了提高。
以上。
如果有人告訴我他在kaggle好幾個比賽里都拿到top,我會很崇拜他的。
這種實戰性的比賽挺好的,我們模仿kaggle辦了一個大數據的比賽,歡迎來玩。
獎金1w,時間黑客:尋找創造時間的程序大師 隨身雲日曆產品大數據挖掘在線編程大賽
感覺沒什麼地位,屬於轉專業到data scientist利器。
想參加啊
實際上在公司的用處似乎不是特別大,特別是當數據特別大特別雜,大部分時間要花在整理數據和收集簡單的feature上。當然,做得牛逼的人自然是更厲害了,做不了前幾也不用灰心。
對於初學者(不僅是DS領域整體初學者,也包括topic初學者,比如文字分析,圖像分析的初學者)是一個很好的實戰平台。分享機制提供學習資源,排名機制提供學習動力。
不過取決於DS的具體領域,kaggle上做得好也不意味著DS做得好。許多data science的business problem實際上就是要考慮data的意義,模型的意義。這些東西都是存在於kaggle比賽內容之上的。怎麼回答呢。我還沒有參加過…………不過看了一些裡面的項目感覺不用搞懂機器學習理論具體推倒。直接調用函數庫就可以了,偏實踐吧。感覺挺有意思的,打算參加一下。
參加kaggle的比賽對於迅速了解data scientist 工作領域的應用實踐還是很有意義的,提現實操能力,不會紙上談兵。 對於入門者非常推薦參加。
進榜不難,排前面較易,排前幾很難。都是套路,熟練+簡單思考就好。
推薦閱讀: