在我們之前的分享中我們大多以具體的學術活動案例,如某個學術活動的Top解決方案來講解具體的比賽。那么是不是有更好的學習方法呢?答案是肯定有,大部分Kaggle賽題都是相通或者類似的,還有一些通用的問題。今天就來聊聊關于Kaggle學術活動入門到進階的10個問題!
問題1:賽題是哪一種類型?
首先參加Kaggle學術活動,你需要知道有哪些具體的比賽類型。具體分類如下圖所示,當然有多種分類方法。

最為主要的類型區別有:
賽題的提交方式(提交結果、Kernel)
賽題問題類型(CV、NLP或結構化)
問題2:賽題問題是什么?
在確定好賽題類型后,你應該仔細閱讀賽題的Overview界面弄清楚的賽題的具體問題。當然賽題描述不會很明確的說出賽題具體問題,需要選手自行進行分辨。
在回答問題2時,需要弄清楚:
賽題是CV、NLP還是結構化中的哪一種?
賽題對應于學術問題的中哪一種?
賽題我之前見過嗎?有代碼或知識的積累?
Kaggle有類似賽題任務嗎,有選手分享嗎?
問題3:賽題數據如何建模?
在弄清楚賽題類型和具體的問題后,需要弄清楚賽題問題的建模方式,這一點就涉及到具體的建模的方法和模型了。
當然也并不是所有的賽題都是新任務,Kaggler只需要熟知歷史任務,并進行舉一反三就可以了。
在問題3你應該弄清楚:
問題有不同的建模方式,哪一種更加適合?
問題建模應該使用哪一個模型?
問題模型如何迭代,如何優化?

問題4:賽題數據的細節理解?
在了解了賽題的初步的任務和建模方法后,接下來就要深入到細節中了。你應該深入理解賽題數據的字段含義、字段產生方式和標簽的產生方式。
對于結構化數據的每個字段:
字段的類型、含義是什么
字段與標簽有什么關系?
在回答問題4時,可以從描述性數據分析和探索性數據分析兩個角度來完成。賽題的理解決定了賽題的具體建模方式,是尤為關鍵的一點。
問題5:賽題使用什么模型?
問題5與問題3有點類似,但在問題5你應該回答的更加具體:
賽題具體使用到的模型是什么?
模型有哪些超參數可供選擇?
有類似模型可以對比參考嗎?
在回答問題5時,需要根據問題4的答案來進行接解決。首先根據賽題具體的數據類型,可以將賽題分為結構化賽題和非機構化賽題。同時在回答問題5時,你應該跑通或者寫完baseline了。
問題6:模型處于那種階段?
機器學習模型根據狀態可以分為欠擬合和過擬合,當然你應該追求模型對測試集最好擬合的狀態。也就是說,你應該知道模型此時的狀態。如果模型是欠擬合你應該做什么?如果模型是過擬合你應該做什么?
問題7:賽題上分點是什么?
當你回答完前面6個問題后,基本上你已經提交過一次答案,已經成功上榜了。但是這些還不夠,與前排選手相比你的模型精度還有待優化。
因此你需要弄清楚:
前排選手與自己的精度差異在哪兒?
自己還能從哪些地方上分?
回答問題7最好的方法是閱讀比賽論壇和相關論文,當然這些問題的具體答案只能自己回答自己了。從問題7開始,你開始真正的學術活動探索過程。
問題8:本地CV與線上得分?
在模型訓練的過程中,本地驗證集CV的得分非常重要。同時本地CV與線上得分的差異性也至關重要,也就是CV vs 線上(PB)。在Kaggle每個比賽中,經常會有人對比自己CV與線上得分的差異性(gap)。
這樣對比的作用是:
尋找更好的本地CV得分;
尋找更加問題的gap;
通過問題8,你將會對賽題線上線下有初步的感知,這將會影響你的最終得分。當然分布需要細心觀察,反復試驗得到的。

問題9:賽題如何完成集成?
在不斷回答自己問題的同時,你還需要考慮模型最終的集成問題。模型集成在有些Kaggle學術活動中非常重要,會帶來精度增益。
但是模型集成是需要得分差異性,需要訓練多個模型的:
如何完成stacking和簡單的KFlod平均?
深度學習模型如何完成模型集成?
問題10:賽題如何完成總結?
最后的最后,在比賽完結后不管結果如何。希望你在閱讀和反思比賽的歷程后回答自己這些問題:
通過本次比賽我學習到什么?
我與前排選手差異在哪兒?
遇到下次類似比賽,我將如何行動?
參加比賽還是很耗費資源和時間,無論大家結果如何,希望大家都有所收獲。
賽事沖金系列爆款講座降重登場,陪你一路“升級打怪”爬藤申GS!
【掃碼免費】享各種賽事真題備賽大禮包等眾多福利!


? 2025. All Rights Reserved. 滬ICP備2023009024號-1