Kaggle知识点:入门到进阶的10个问题

Kaggle知识点

在我们之前的分享中我们大多以具体的竞赛案例,如某个竞赛的Top解决方案来讲解具体的比赛。那么是不是有更好的学习方法呢?答案是肯定有,大部分Kaggle赛题都是相通或者类似的,还有一些通用的问题。

问题1:赛题是哪一种类型?

首先参加Kaggle竞赛,你需要知道有哪些具体的比赛类型。具体分类如下图所示,当然有多种分类方法。

Kaggle知识点:入门到进阶的10个问题

最为主要的类型区别有:

赛题的提交方式(提交结果、Kernel

赛题问题类型(CV、NLP或结构化)

问题2:赛题问题是什么?

在确定好赛题类型后,你应该仔细阅读赛题的Overview界面弄清楚的赛题的具体问题。当然赛题描述不会很明确的说出赛题具体问题,需要选手自行进行分辨。

在回答问题2时,需要弄清楚:

赛题是CV、NLP还是结构化中的哪一种?

赛题对应于学术问题的中哪一种?

赛题我之前见过吗?有代码或知识的积累?

Kaggle有类似赛题任务吗,有选手分享吗?

问题3:赛题数据如何建模?

在弄清楚赛题类型和具体的问题后,需要弄清楚赛题问题的建模方式,这一点就涉及到具体的建模的方法和模型了。当然也并不是所有的赛题都是新任务,Kaggler只需要熟知历史任务,并进行举一反三就可以了。在问题3你应该弄清楚:

问题有不同的建模方式,哪一种更加适合?

问题建模应该使用哪一个模型?

问题模型如何迭代,如何优化?

Kaggle知识点:入门到进阶的10个问题

问题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,你将会对赛题线上线下有初步的感知,这将会影响你的最终得分。当然分布需要细心观察,反复试验得到的。

Kaggle知识点:入门到进阶的10个问题

问题9:赛题如何完成集成?

在不断回答自己问题的同时,你还需要考虑模型最终的集成问题。模型集成在有些Kaggle竞赛中非常重要,会带来精度增益。

但是模型集成是需要得分差异性,需要训练多个模型的:

如何完成stacking和简单的KFlod平均?

深度学习模型如何完成模型集成?

问题10:赛题如何完成总结?

最后的最后,在比赛完结后不管结果如何。希望你在阅读和反思比赛的历程后回答自己这些问题:

通过本次比赛我学习到什么?

我与前排选手差异在哪儿?

遇到下次类似比赛,我将如何行动?

参加比赛还是很耗费资源和时间,无论大家结果如何,希望大家都有所收获。希望大家都不要翻车~

【竞赛报名/项目咨询请加微信:mollywei007】

上一篇

小托福词汇量要求是多少?小托福考试内容考试难度分数要求分析

下一篇

高频复现雅思作文(1):将文化传统用于赚钱的利弊(双语)

你也可能喜欢

  • 暂无相关文章!

关注热点

返回顶部