会议之眼竞赛篇-Kaggle平台
会议之眼开启竞赛系列新征程,每周将不定期为您更新平台、赛事、大牛经验等干货信息。左手顶会,右手竞赛,成为您驰骋CS赛道的加速引擎!
本期为您介绍的是数据科学领域的学习、竞赛、交流以及找工作等一站式服务平台-kaggle。源自知乎知名博主,留学届最会规划的数学女博士,a2Mia姐的系列文章!
带100多名学生打了2年Kaggle比赛,资深教练告诉你Kaggle的最新变化和比赛指南。
2020年了,Kaggle比赛的这些变化你知道吗?
入门Kaggle,这些变化你必须知道。
自2017年被Google收购后
Kaggle比赛有哪些变化?
Kaggle自2010年诞生以来,吸引了越来越多的数据科学爱好者,截止到2019年,Kaggle网站的注册者已经超过250万人。
如果你对Kaggle还不是很了解,我之前@a2Mia姐的专栏《Kaggle入门,看这一篇就够了》详细地介绍了Kaggle相关的基础知识,非常适合想入门Kaggle的同学。
在这篇干货满满的文章中,你能够了解到:
Ÿ Kaggle是什么
Ÿ Kaggle的竞赛模式
Ÿ Kaggle参赛者的背景
Ÿ Kaggle比赛的含金量和拿奖牌的难度
Ÿ 参加Kaggle的意义
Ÿ 0基础的人如何入门Kaggle比赛
Ÿ Kaggle比赛相关的学习资源和资料推广
Kaggle哪里变了?
《Kaggle入门,看这一篇就够了》,这篇文章,写于2017年。
2年过去了,这期间,Google收购了Kaggle,数据科学领域和机器学习、深度学习结合得更加紧密,各种模型和算法层出不穷,争奇斗艳。
Kaggle比赛也随之出现了新的趋势,主要体现在以下几个方面:
01
比赛的数目变少
公司提供真实案例的商业比赛数目变少。前几年Kaggle的Featured类型的比赛几乎每个月都会出一个新的比赛,现在变成了差不多每3个月才会有一个新的比赛。
02
参加比赛的队伍变多了
随着Kaggle知名度和整体水平的提高,越来越多的数据科学爱好者加入了Kaggle比赛,伴随着比赛数目的变少,每个比赛的参赛队伍相比于以前变得更多,参赛队伍超过3000支的比赛已经很常见了。
03
数据集变小了
在被Google收购之前,出题者分享给Kaggle的数据集都比较大。被收购后,人们越来越注重数据的保密性,比赛的数据集渐渐地没有了大数据的性质。另外经常出现训练集和测试集相差很大的情况。这对选手的数据处理能力提出了更高的要求。
04
赛题类型的变化
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优化圣诞老人的行径路径
05
拿奖牌更难了
综合以上的变化,Kaggle参赛人数越来越多,商业型比赛变少,题目类型变难,想混个奖牌并不容易。
Kaggle比赛的奖牌获得机制如下图所示,可以看出,想在1000+支参赛队伍里拿个铜牌,也得是前10%的水平,不费一些功夫是不可能的。
Kaggle的这些变化趋势从一定程度上反映出当前工业界和学术界所关注的问题的变化。
工业界所关注的问题与各位参赛者的就业前景相关,学术界所关注的问题与相关专业海外硕博申请者的求学相关。
所以不论你是求职者还是学生,如果对数据科学感兴趣,都可以利用Kaggle来锻炼自己的技能,提升自己的背景,一次Kaggle比赛的经历会让你收获远超学校学习多得多的东西。
再谈Kaggle比赛的意义
Kaggle比赛的意义,《Kaggle入门,看这一篇就够了》已经有所解释。
但两年过去了,参加比赛的人越来越多,Kaggle比赛的经历还像以前那样有用吗?答案是肯定的。
这两年数据科学和机器学习的快速发展,让我们看到了更多的机遇。数据科学本身是一门学术研究和行业实践高度交融的学科,从目前的研究状况来看,数据科学可以分为(1)专业数据科学和(2)专业中的数据科学。另外,随着科学技术的发展,人类产生的数据量也在飞速增长,最近几年产生的数据比过去人类历史上产生的所有数据还多。毫无疑问,数据科学会渗入到各行各业,成为一个宽口径的新兴职业方向,充满了工作机会。
此外,这几年随Data Science和Big Data的兴起,看到市场对数据人才的追求日益激烈,很多大学开始专门开设数据科学类相关的专业。截止到2018年,35所高校获批开设人工智能(AI)专业,203所获批数据科学专业名单参见:
https://cloud.tencent.com/developer/article/1418297);
美国很多知名大学也都相继开设了analytics、Data Science类的研究生项目,知乎用户@邹昕整理了美国较好的Data Science研究生项目。
因此不论是对于求职者,还是想转专业或是申请出国留学的学生,Kaggle都是极具含金量非常值得一试的项目经历。
在过去两年多时间里,我们带了超过100名同学打Kaggle比赛,这些同学的案例都在告诉我们:如果你在数据科学或相关领域基础较为薄弱甚至是0基础,Kaggle项目的经历都能够很好地弥补你的不足;
如果你本身在数据科学领域已经有一定的经验,Kaggle比赛经历会为你的简历不仅是锦上添花,多数时候甚至是雪中送炭的效果,使你在竞争者中脱颖而出。
教练,我想打Kaggle比赛!
如果你对Kaggle比赛感兴趣,但苦于技能或背景不足够强,是否还有立竿见影能帮助自己在Kaggle比赛中取得好名次呢?
以下锦囊请收好!
01
学习合适的编程语言
工欲善其事,必先利其器。Kaggle比赛最流行的编程语言是Python,很多案例以及kernel上的baseline都是用python写的;其次是R语言或其他。所以我们更推荐学Python。关于入门Python的教程,《Kaggle入门,看这一篇就够了》里已经列出了很多学习资源。
02
掌握至少一种机器学习框架
常用的机器学习或深度学习框架包括Tensorflow,Pytorch,scikit-learn,Theano,Caffe,Keras等等,只要对其中1个有比较深入的了解,打Kaggle比赛基本没有任何问题。掌握一种机器学习框架最有效的学习方式就是参照它的技术文档,亲手把上面的例子过一次。案例看得再多,都不如自己亲自动手做一次。
相关教程可以参考知乎话题或专栏:
《Keras,Theano,pytorch,caffe2 哪个更好一些,应该怎么尝试学习?》《TensorFlow 如何入门,如何快速学习?》;
《Caffe系列教程》;
《新手如何入门pytorch?》
03
选择合适的比赛类型
目前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比赛不光培养一个人的科研审美,还能够帮助参赛者深刻理解数据科学的内涵,例如什么是过拟合,什么是泛化能力,你的模型能否经受得住别的数据集的考验。
说到底,想斩获更亮眼的名次,提高自己的技能包和实践力才是终极解决方案!