a2 Mia姐
首发于a2 Mia姐
带100多名学生打了2年Kaggle比赛,资深教练告诉你Kaggle的最新变化和比赛指南

带100多名学生打了2年Kaggle比赛,资深教练告诉你Kaggle的最新变化和比赛指南

Kaggle自2010年诞生以来,吸引了越来越多的数据科学爱好者,截止到2019年,Kaggle网站的注册者已经超过250万人。如果你对Kaggle还不是很了解,我之前@a2Mia姐的专栏《Kaggle入门,看这一篇就够了》详细地介绍了Kaggle相关的基础知识,非常适合想入门Kaggle的同学。在这篇干货满满的文章中,你能够了解到:

▲ Kaggle是什么

▲Kaggle的竞赛模式

▲ Kaggle参赛者的背景

▲ Kaggle比赛的含金量和拿奖牌的难度

▲ 参加Kaggle的意义

▲0基础的人如何入门Kaggle比赛

▲Kaggle比赛相关的学习资源和资料推荐

另外申请方推出的Kaggle背景提升项目10月就要开始新的一期啦!!感兴趣的同学开始占位吧!!感兴趣的可以点这里咨询报名Kaggle小组或者加小助手微信:a2liuxuejiangzuo。


Kaggle哪里变了?

《Kaggle入门,看这一篇就够了》,这篇文章,写于2017年。2年过去了,这期间,Google收购了Kaggle,数据科学领域和机器学习、深度学习结合得更加紧密,各种模型和算法层出不穷,争奇斗艳。Kaggle比赛也随之出现了新的趋势,主要体现在以下几个方面:

比赛的数目变少

公司提供真实案例的商业比赛数目变少。前几年Kaggle的Featured类型的比赛几乎每个月都会出一个新的比赛,现在变成了差不多每3个月才会有一个新的比赛。

参加比赛的队伍变多了

随着Kaggle知名度和整体水平的提高,越来越多的数据科学爱好者加入了Kaggle比赛,伴随着比赛数目的变少,每个比赛的参赛队伍相比于以前变得更多,参赛队伍超过3000支的比赛已经很常见了。

数据集变小了

在被Google收购之前,出题者分享给Kaggle的数据集都比较大。被收购后,人们越来越注重数据的保密性,比赛的数据集渐渐地没有了大数据的性质。另外经常出现训练集和测试集相差很大的情况。这对选手的数据处理能力提出了更高的要求。

赛题类型的变化

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优化圣诞老人的行径路径

拿奖牌更难了。综合以上的变化,Kaggle参赛人数越来越多,商业型比赛变少,题目类型变难,想混个奖牌并不容易。Kaggle比赛的奖牌获得机制如下图所示,可以看出,想在1000+支参赛队伍里拿个铜牌,也得是前10%的水平,不费一些功夫是不可能的。

Kaggle的这些变化趋势从一定程度上反映出当前工业界和学术界所关注的问题的变化。工业界所关注的问题与各位参赛者的就业前景相关,学术界所关注的问题与相关专业海外硕博申请者的求学相关。所以不论你是求职者还是学生,如果对数据科学感兴趣,都可以利用Kaggle来锻炼自己的技能,提升自己的背景,一次Kaggle比赛的经历会让你收获远超学校学习多得多的东西。


再谈Kaggle比赛的意义

Kaggle比赛的意义,《Kaggle入门,看这一篇就够了》已经有所解释。但两年过去了,参加比赛的人越来越多,Kaggle比赛的经历还像以前那样有用吗?答案是肯定的,这两年数据科学和机器学习的快速发展,让我们看到了更多的机遇。

数据科学本身是一门学术研究和行业实践高度交融的学科,从目前的研究状况来看,数据科学可以分为(1)专业数据科学和(2)专业中的数据科学。另外,随着科学技术的发展,人类产生的数据量也在飞速增长,最近几年产生的数据比过去人类历史上产生的所有数据还多。毫无疑问,数据科学会渗入到各行各业,成为一个宽口径的新兴职业方向,充满了工作机会。

此外,这几年随Data Science和Big Data的兴起,看到市场对数据人才的追求日益激烈,很多大学开始专门开设数据科学类相关的专业。截止到2018年,35所高校获批开设人工智能(AI)专业,203所获批数据科学专业(名单参见cloud.tencent.com/devel);美国很多知名大学也都相继开设了analytics、Data Science类的研究生项目,知乎用户@邹昕整理了美国较好的Data Science研究生项目

因此不论是对于求职者,还是想转专业或是申请出国留学的学生,Kaggle都是极具含金量非常值得一试的项目经历。在过去两年多时间里,我们带了超过100名同学打Kaggle比赛,这些同学的案例都在告诉我们:如果你在数据科学或相关领域基础较为薄弱甚至是0基础,Kaggle项目的经历都能够很好地弥补你的不足;如果你本身在数据科学领域已经有一定的经验,Kaggle比赛经历会为你的简历不仅是锦上添花,多数时候甚至是雪中送炭的效果,使你在竞争者中脱颖而出。

教练,我想打Kaggle比赛!

如果你对Kaggle比赛感兴趣,但苦于技能或背景不足够强,是否还有立竿见影能帮助自己在Kaggle比赛中取得好名次呢?以下锦囊请收好!

学习合适的编程语言

工欲善其事,必先利其器。Kaggle比赛最流行的编程语言是Python,很多案例以及kernel上的baseline都是用python写的;其次是R语言或其他。所以我们更推荐学Python。关于入门Python的教程,《Kaggle入门,看这一篇就够了》里已经列出了很多学习资源。

掌握至少一种机器学习框架

常用的机器学习或深度学习框架包括Tensorflow,Pytorch,scikit-learn,Theano,Caffe,Keras等等,只要对其中1个有比较深入的了解,打Kaggle比赛基本没有任何问题。掌握一种机器学习框架最有效的学习方式就是参照它的技术文档,亲手把上面的例子过一次。案例看得再多,都不如自己亲自动手做一次。相关教程可以参考知乎话题或专栏:

《Keras,Theano,pytorch,caffe2 哪个更好一些,应该怎么尝试学习?》

《TensorFlow 如何入门,如何快速学习?》

《Caffe系列教程》

《新手如何入门pytorch?》

选择合适的比赛类型

目前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比赛不光培养一个人的科研审美,还能够帮助参赛者深刻理解数据科学的内涵,例如什么是过拟合,什么是泛化能力,你的模型能否经受得住别的数据集的考验。

说到底,想斩获更亮眼的名次,提高自己的技能包和实践力才是终极解决方案!


申请方Kaggle项目

项目介绍

项目导师背景:

▲数据科技公司Data Scientist(海外名校Ph.D.)

▲有资深数据科学行业经验的人士

▲ 有丰富的Kaggle项目指导经验的从业人员

项目进阶分级:

★.Kaggle Junior

△ 比赛项目:Playground

△适合群体:0基础起点、准备申请海外本科的高中生或者准备申请CS、DS、商科量化方向的本科生

△项目日程:7周线上授课+ 4周打比赛+2周写report,充实的13周时间

★.Kaggle Senior

△比赛项目:Featured

△适合群体:有一定的数学,统计或者计算机基础并且学习能力强,Data Science相关领域(DS\DA\Stat\CS\BA\MFE\IEOR\IS等)留学申请者

△项目日程:8周线上授课+6周打比赛+2周写report,充实的16周时间

预期成果:

依托于数据科学领域竞赛平台——Kaggle的实际案例,提升Data Analysis技能:

▲深入掌握各种数据操作技能

▲接触来自知名公司实际案例

▲熟悉数据科学家的工作内容

▲提升数据分析方向项目背景

▲获得国际化数据竞赛的经历

▲获得个性化产出成果,助力留学申请、求职跳槽:

1. 专业的数据分析可视化英文论文(可作为申请writing sample或interview辅助材料,也可以投稿发表)

2. 极具竞争力的Resume数据挖掘、分析、建模以等相关经历

3. 优秀者可以获得来自行业资深导师(海外data scientist)Recommendation Letter

4. 通过本项目的训练,你还有机会获得:

☆.数据科技公司Data Analyst实习职位

☆.Kaggle竞赛高段位排名(分为Playground和Featured两类)

特别说一下,10月就要开始新的一期啦!!感兴趣的同学开始占位吧!!感兴趣的可以点这里 咨询报名Kaggle小组 或者加小助手微信:a2liuxuejiangzuo。

案例分享

☆ ☆ ☆ ☆ ☆

Kaggler A, 英国G5本科学生,通过Kaggle项目增强自己的科研背景

我的本科专业是经济学,想要申请美国量化类项目:金融工程/金融数学,商业分析和数据科学混申。由于本科期间的经济学课程设置比较偏理论,背景中数据分析、编程这些技能比较匮乏,规划老师给我介绍了Kaggle项目,作为一个数据小白,在开始阶段会比较困难,但是逐渐适应了之后发现Kaggle真的是有很多乐趣,不仅仅是技能方面的提升,跟团队小伙伴们那段每天晚上加班到凌晨、一次次的修改方案的时间我可能一辈子不会忘记。得益于Kaggle的经历,在假期间,我后来又成功拿到了北京大学某研究所的Intern,现在回想起来,获得这个宝贵的科研机会是那么顺理成章~这一段段打怪升级的旅程,帮助我最终斩获了Dream School的offer:NYU、Columbia以及Duke University的data science offer!

☆ ☆ ☆ ☆ ☆

Kaggler B,国内C9大学本科生,美国Top学校Statistics博士,多次参加Kaggle比赛

Kaggle是一个能把在学校学到的知识应用于实战非常棒的平台。打Kaggle对于我来说甚至还有点上瘾,尤其在和大神级别的团队在竞争时。本来一直以为只是自己的业余兴趣,后来和博士导师闲聊时,导师竟然提到说,当初之所以在众多申请者中选择我,就是看中了我的Kaggle背景;包括已经博士毕业进入工业界的学长学姐也曾经和我讲一些顶级公司在招聘时,如果申请者有不错的Kaggle排名也能极大地助力成功拿到offer!

☆ ☆ ☆ ☆ ☆

Kaggler C,美本Top 60的Data Analytics本科生,美国Amazon Data Intern

虽然作为data analytics专业的本科生,但在国外课堂上学到的东西实用性并没有那么强,所以特地参加了Kaggle项目,包括data pre-processing,feature engineering,machine learning models optimization,ensemble and stacking stratigies等实际操作技能、以及优化Prediction的各种相关技巧都非常实用!项目结束后,我立刻将Kaggle Project的经历和高排名的成绩更新到了Resume上,这让我在申请Amazon Data Intern时从成千上万的竞争者中脱颖而出;其次是在面试过程中,我发现很多问题都是导师在课上提到过的;另外因为一次次修改完善项目report获得的清晰思路,让我在面试中可以有理有据地描述这段经历和回答面试者相应的高难度问题,正是得益于这段经历,让我最终拿下了亚马逊的实习offer!

-----广告时间------

想提升自己量化背景的同学们,10月份我们会再次推出Kaggle提升项目,因为老师能够带的学生数量有效,所以不得不限制名额,现在报名开启啦,欢迎大家关注!

感兴趣的可以点这里 咨询报名Kaggle小组 或者加小助手微信:a2liuxuejiangzuo。

编辑于 2019-10-16

文章被以下专栏收录