【竞赛相关】Kaggle知识点:入门到进阶的10个问题
Kaggle知識點(diǎn)
在我們之前的分享中我們大多以具體的競賽案例,如某個(gè)競賽的Top解決方案來講解具體的比賽。那么是不是有更好的學(xué)習(xí)方法呢?
答案是肯定有,大部分Kaggle賽題都是相通或者類似的,還有一些通用的問題。
問題1:賽題是哪一種類型?
首先參加Kaggle競賽,你需要知道有哪些具體的比賽類型。具體分類如下圖所示,當(dāng)然有多種分類方法。
最為主要的類型區(qū)別有:
賽題的提交方式(提交結(jié)果、Kernel)
賽題問題類型(CV、NLP或結(jié)構(gòu)化)
問題2:賽題問題是什么?
在確定好賽題類型后,你應(yīng)該仔細(xì)閱讀賽題的Overview界面弄清楚的賽題的具體問題。當(dāng)然賽題描述不會(huì)很明確的說出賽題具體問題,需要選手自行進(jìn)行分辨。
在回答問題2時(shí),需要弄清楚:
賽題是CV、NLP還是結(jié)構(gòu)化中的哪一種?
賽題對應(yīng)于學(xué)術(shù)問題的中哪一種?
賽題我之前見過嗎?有代碼或知識的積累?
Kaggle有類似賽題任務(wù)嗎,有選手分享嗎?
問題3:賽題數(shù)據(jù)如何建模?
在弄清楚賽題類型和具體的問題后,需要弄清楚賽題問題的建模方式,這一點(diǎn)就涉及到具體的建模的方法和模型了。
當(dāng)然也并不是所有的賽題都是新任務(wù),Kaggler只需要熟知?dú)v史任務(wù),并進(jìn)行舉一反三就可以了。在問題3你應(yīng)該弄清楚:
問題有不同的建模方式,哪一種更加適合?
問題建模應(yīng)該使用哪一個(gè)模型?
問題模型如何迭代,如何優(yōu)化?
問題4:賽題數(shù)據(jù)的細(xì)節(jié)理解?
在了解了賽題的初步的任務(wù)和建模方法后,接下來就要深入到細(xì)節(jié)中了。你應(yīng)該深入理解賽題數(shù)據(jù)的字段含義、字段產(chǎn)生方式和標(biāo)簽的產(chǎn)生方式。
對于結(jié)構(gòu)化數(shù)據(jù)的每個(gè)字段:
字段的類型、含義是什么
字段與標(biāo)簽有什么關(guān)系?
在回答問題4時(shí),可以從描述性數(shù)據(jù)分析和探索性數(shù)據(jù)分析兩個(gè)角度來完成。賽題的理解決定了賽題的具體建模方式,是尤為關(guān)鍵的一點(diǎn)。
問題5:賽題使用什么模型?
問題5與問題3有點(diǎn)類似,但在問題5你應(yīng)該回答的更加具體,
賽題具體使用到的模型是什么?
模型有哪些超參數(shù)可供選擇?
有類似模型可以對比參考嗎?
在回答問題5時(shí),需要根據(jù)問題4的答案來進(jìn)行接解決。首先根據(jù)賽題具體的數(shù)據(jù)類型,可以將賽題分為結(jié)構(gòu)化賽題和非機(jī)構(gòu)化賽題。同時(shí)在回答問題5時(shí),你應(yīng)該跑通或者寫完baseline了。
問題6:模型處于那種階段?
機(jī)器學(xué)習(xí)模型根據(jù)狀態(tài)可以分為欠擬合和過擬合,當(dāng)然你應(yīng)該追求模型對測試集最好擬合的狀態(tài)。
也就是說,你應(yīng)該知道模型此時(shí)的狀態(tài)。
如果模型是欠擬合你應(yīng)該做什么?
如果模型是過擬合你應(yīng)該做什么?
問題7:賽題上分點(diǎn)是什么?
當(dāng)你回答完前面6個(gè)問題后,基本上你已經(jīng)提交過一次答案,已經(jīng)成功上榜了。但是這些還不夠,與前排選手相比你的模型精度還有待優(yōu)化。
因此你需要弄清楚:
前排選手與自己的精度差異在哪兒?
自己還能從哪些地方上分?
回答問題7最好的方法是閱讀比賽論壇和相關(guān)論文,當(dāng)然這些問題的具體答案只能自己回答自己了。從問題7開始,你開始真正的競賽探索過程。
問題8:本地CV與線上得分?
在模型訓(xùn)練的過程中,本地驗(yàn)證集CV的得分非常重要。同時(shí)本地CV與線上得分的差異性也至關(guān)重要,也就是CV vs 線上(PB)。
在Kaggle每個(gè)比賽中,經(jīng)常會(huì)有人對比自己CV與線上得分的差異性(gap)。這樣對比的作用是:
尋找更好的本地CV得分;
尋找更加問題的gap;
通過問題8,你將會(huì)對賽題線上線下有初步的感知,這將會(huì)影響你的最終得分。當(dāng)然分布需要細(xì)心觀察,反復(fù)試驗(yàn)得到的。
問題9:賽題如何完成集成?
在不斷回答自己問題的同時(shí),你還需要考慮模型最終的集成問題。模型集成在有些Kaggle競賽中非常重要,會(huì)帶來精度增益。
但是模型集成是需要得分差異性,需要訓(xùn)練多個(gè)模型的:
如何完成stacking和簡單的KFlod平均?
深度學(xué)習(xí)模型如何完成模型集成?
問題10:賽題如何完成總結(jié)?
最后的最后,在比賽完結(jié)后不管結(jié)果如何。希望你在閱讀和反思比賽的歷程后回答自己這些問題:
通過本次比賽我學(xué)習(xí)到什么?
我與前排選手差異在哪兒?
遇到下次類似比賽,我將如何行動(dòng)?
參加比賽還是很耗費(fèi)資源和時(shí)間,無論大家結(jié)果如何,希望大家都有所收獲。希望大家都不要翻車~
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載中國大學(xué)慕課《機(jī)器學(xué)習(xí)》(黃海廣主講)機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊深度學(xué)習(xí)筆記專輯《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載本站qq群955171419,加入微信群請掃碼:總結(jié)
以上是生活随笔為你收集整理的【竞赛相关】Kaggle知识点:入门到进阶的10个问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 鼠标有拖尾怎么办
- 下一篇: 【时间序列】最完整的时间序列分析和预测(