

数据竞赛,是业内工作者和数据爱好者证明、磨练自己实力的一种有效方式。
作为全世界最知名的数据挖掘以及机器学习竞赛平台,Kaggle早已成为数据玩家一试身手的练兵场。
它成立于2010年,于2017年被谷歌收购,目前拥有注册用户过百万,其中Grandmaster级别95人,Master级别890人。
如何能够在比赛中脱颖而出、拿到金牌、迅速晋级Master甚至Grandmaster?大神们究竟有哪些独门秘籍?这是许多刚入门的新手的困惑。
今天图灵君采访到两位Master级别的大牛,为您揭秘Kaggle及数据竞赛中的那些事儿!
嘉宾介绍
包梦蛟,北京航空航天大学,硕士,kaggle最高排名215,3金6银,国内数据科学竞赛top 3 若干。
蔡恒兴,中山大学硕士,曾任香港理工大学助理研究员。kaggle最高排名206,2金7银,国际顶级数据挖掘赛事KDD CUP 2017季军,2018亚军。现就任于滴滴出行。
以下是采访全文:
1、您是什么时候开始参赛的,有什么契机?
包:我是在硕士一年级的时候开始接触竞赛的。因为当时正好保研,刚到实验室里面活不是特别多,自己的研究方向也跟这个比较相关,就开始看这些比赛。
选择Kaggle是因为它本身是一个比较国际知名的竞赛平台,影响力够大。而且有意思的是,在这个平台上可以找到很多以前之前的一些大神的账号,就比如深度学习的鼻祖Hinton,还有Tianqi Chen等,早期就在上面,只不过现在不活跃了。
中国也有很多自己的一些平台。比方天池、DF之类的,Kaggle与国内的平台相比会有一个明显的特点,就是它的UGC特别强,有很多用户在上面分享自己的一些心得,国内的平台这块相对弱些。 DF平台有一个面向数据科学的社区,也挺不错的,比较垂直。
蔡:我也是从研一开始参赛的,因为当时时间比较充裕。我研究生的专业是智能交通工程,会在学校里面学到一些算法相关的内容,学了之后能就想去尝试一下。
第一个比赛比较初级,后来有个10万美金的比赛当时挺火的,我也参加了,那次开始就始喜欢上了打比赛,再后来就认识了很多志同道合的小伙伴,一直坚持到了现在。
2、对准备参加kaggle竞赛的同学有什么建议?
包:第一,如果想参加这方面比赛的话,从Kaggle入手是一个很明智的选择,它给新人的资源非常多,所以你可以学到很多大牛选手的经验等等;其次是要多跟经验丰富的人交流,如果自己搞,提升会比较慢,所以最好能多跟别人交流,加一些社群。
蔡:多利用网站上的资源,具体的技巧我会在沙龙中分享。
3、第一次比赛的情景记得吗?是什么主题?
包:第一次比赛是自然语言方面一个处理文本相似性的题目。出题方是国外的一个类似知乎的网站叫Quora,核心就是给到两个问题文本,然后判断文本之间是否具有相似性。
因为是第一次参加比赛,所以当时还是从做研究的思路着手,先是查阅各种论文,然后再看一些开源的代码来参考大家是怎么做的。
后面参赛就会发现,其实涉及的东西相对单一,不需要绕那么大的弯子。因为在社区里面其他选手会提供一些很好的思路,然后你从这些思路多研究研究,就能在这个的基础上获得一个较好的结果的提高。
不过之前的论文也不算白看,肯定会有收获,但是如果单纯为了竞赛提高分数的话是可以走一点“捷径“的。
所以做研究的思路和打比赛的思路,其实还是有区别的?
对,一开始的研究思路相当于没有经验的广撒网,后来的比赛思路就是可以通过大家的分享去找寻快速的突破点,然后在这个突破点上尽量提高。
组队或者前期准备有遇到过那些坑或者有趣的事儿?
包:我是跟几个本科的学弟组队的,所以还好,他们当时时间也比较充裕,没遇到特别的坑。
刚开始参赛,找熟人组队比较靠谱也比较容易,因为你一开始可能也比较菜,也没有排名,找陌生人组队会涉及信任的问题;后面你打出成绩了,再找一些大牛组队,才会相对容易一些。
蔡:之前会遇到组队人数较多的,就会有组员不出力的情况。我现在有一些固定的组队成员,刚开始是从网上认识的,然后国内的比赛会有线下答辩,答辩之后就熟悉了,因为见过面之后,会更有信任感。我觉得如果要组队的话,最好控制在3个人以内。
4、您个人的研究方向或者平时工作的主要方向是?
包:我的工作方向主要包括两个方面:一是神经架构搜索(NAS);二是表数据的自动机器学习(tabular AutoML),都属于自动机器学习的大类。可以理解为只需要提供数据,一键出结果,不需要设计网络结构,不需要做FE,筛选等。
蔡:我的工作方向主要还是预测-回归相关的,与打比赛不一样的是工作会涉及整个流程,包括数据处理,比赛中的数据一般是处理好的。还有一个不同就是工作中对单项精度的要求不会那么高,你首先要跑通流程,然后再考虑优化的问题,会更多地考虑线程和代码扩展性。
5、从第一次参赛到master您用了多长时间?大概参加了多少场比赛?
包:我大概用了四场比赛,前三场银牌,第四场金牌。到目前为止参加了10多场Kaggle比赛+10多场国内的比赛。
蔡:我是用了差不多一年多,大概参加了10场。
6、这些比赛主要集中在哪些技术方向?有什么共性吗?
包:我个人参赛主要集中在三个方向:图像、自然语言和结构化数据(表数据)
比方说在图像里面分类检测的问题是最常见的;在自然语言里面除了分类,再就是匹配,阅读理解的问题,可能是最常见的;然后在表数据里面就跟业务比较相关,比如说一些点击率预估、反欺诈、推荐等等,基本都是分类和回归的预测性任务。
蔡:偏向结构化设计的题目多一些,因冲击Master的时候做类似的题目较多,拿金牌把握大一些。
7、其中印象最深的是哪次比赛,可以简单描述一下吗?
包:印象最深的是第一次比赛,学到的东西最多,因为你对之前对这个流程完全不了解,完全是一张白纸,会通过论坛或者是博客学习,就感觉提升非常的大。然后因为第一次在看了很多论文,所以也是另外一个收获,后面的比赛就不再有这种感觉了。
蔡:我印象表深的是一个叫圣诞老人的比赛,是在圣诞节前后发布出来的,题目是一个最优化问题,印象比较深。 是因为那个是我的第一个金牌,大年三十的时候还在做相关的工作。
8、您觉得参赛对找工作或者职场晋升有帮助吗?
包:我觉得现在对应届生来说,参赛是一个必要条件而非充分条件。在最早2015年左右,做这方面的人很少,基本拿一个比赛就可以拿一个offer,但是现在人越来越多,几乎每个应届生都会有一两个比赛,这就类似高考,可以证明你的学习能力比较强,但不可以证明你各方面都很优秀。
所以对应届生除了比赛之外,还是要刷好题,准备好简历。对于工作的大佬来说作用就微乎其微了,不如当成一种爱好。对应届生和转行的同学,还是有一定好处的。
蔡:我觉得对于非计算机专业的学生是一个加分项的,尤其是影响力比较大的比赛,如果你想转行的话,可以当成敲门砖。
9、对于刚入门的同学或者想快速进阶的同学,您有什么建议?
包:第一:刚开始要抱着学习的心态,不要特别功利。兴趣是最好的老师,能够帮你坚持下来;如果太功利,会让你特别累而且结果可能也不是特别好。第二:如果你专攻一个方向的比赛,比如说图像相关的,可能半年时间就差不多能达到TOP1%的水平;如果追求广度的话,耗费的精力会比较多,也有难度。第三:要多看别人的东西,从中吸取经验。
蔡:对于刚入门的同学可以多参加新手赛,教程入门友好,内容非常详尽。
10、您还会继续参赛吗,大赛选择上以后会有一些偏好吗?
包:会继续参赛。参赛是让我保持不断学习的一个途径,可以在一些真实的数据上面检验自己的一些新想法。
大赛选择上没有特别的偏好,每个方向基本上都会做,但是更擅长NLP和表数据。会重点关注一些学术会议配套的竞赛,因为问题新颖,趣味性比较强。
蔡:会参赛。会选择像KDD CUP等认可度比较高的比赛。然后我也比较注重题目的趣味性以及是否跟自己的研究方向相符。
11、您觉得kaggle带给您哪些心态上的变化?
包:心态上就是两方面,第一是刚开始可能对那些排名高的人特别崇拜,后来当你慢慢的从没有排名到一万名,然后再打到一千名、一百名,就会从仰望区到达了舒适区,但是对排名前十名的话还是特别敬畏,大佬们都是很厉害。
第二就是功利心没那么强了,因为你有五个金牌,或者跟你有十个金牌,其实区别不是特别大。一开始是抱着学习的心态,后面就会想刷分陷入一种比较焦虑的状态,但是当得到了之后又会回到学习的心态。
蔡:学习的越多,见的越多,就会越发现自己的不足。
12、您有没有特别崇拜的大神,国内或国外的都行,他们身上哪些点最吸引你?
包:我比较崇拜的是美团的燕鹏老师还有就是目前排名第一的Kaggle ID:Bestfitting,也是一名中国人,战绩都非常辉煌。
蔡:我比较崇拜的是陈天奇,他在算法和工程方面能力都很强,天才级选手。
13、您平时有什么爱好?打比赛会大幅度挤压生活时间吗?
包:比较喜欢运动,之前坚持了很久的健身。后来上班忙了就有点断断续续,打比赛说实话会挤压生活时间,基本上是打游戏不太可能了。
蔡:读书和桌游,最近在读的是《刻意学习》和《金字塔原理》。打比赛会非常挤压生活时间,我一般会全身心投入,一天之中除了比赛做其他事情的时间不会超过2个小时。
14、国内目前也有一些数据竞赛平台,像我们图灵联邦就是,您在选择参赛平台的时候,主要的考虑因素有哪些?
包:主要会考虑题目是否是自己感兴趣的方向;其次也会看奖金的多少。
蔡:同上。
15、您平时工作或生活中有没有觉得哪些工具或者APP特别好用(时间规划或其他种类的)?
包:画图的工具 PressOn,适合文字工作者的Markdown工具 typora,时间管理的话基本都是ios自带的工具,还有就是Overleaf一个latex云平台。
蔡:Xmind,画思维导图用到的比较多。
16、平时您获取最新行业资讯的渠道有哪些?你如何跟上这个领域的最新研究?
包:Quora,Reddit,arxiv
蔡:Youtube和B站
17、在传统程序员转型到从事于人工智能,机器学习等相关领域的过程中有什么好的建议?我们了解到像CDA数据分析师这样的培训班现在很火,您觉得有必要吗?
包:其实现在整体供大于求,不是太建议轻易转行,当然,对高端人才还是没有影响的。
关于培训班这块,要看自己的实际情况,报培训机构,可以帮助减少自己的筛选时间,当然如果底子还行,可以自己去看一些比较有名的公开课。
最后提一点,参加竞赛对转行来说也是很有必要的,因为转行之前你可能接触不到接真实数据,可以把竞赛作为一个切入点、一个项目来做,以梳理自己的知识,积累经验。
蔡:只要有决心就可以转。我有个同事之前做后端开发,他花了半年-1年转过来的,建议就是把基础打牢,把基本的算法推导清楚,就能打败很多人。
18、在kaggle比赛中遇到了哪些困难?最后是怎么解决的?
包:入门会稍微有点困难,但可以投入时间精力解决。
蔡:还是那句话,只要有决心,所有的困难都不是困难。
19、Kaggle让您觉得好的地方在哪里,还有什么可改进的?
优势:1、反作弊强 2、分享的内容丰富,可借鉴的思路较多 3、计算资源相对充裕。
改进的地方:望能对中国网络做一些优化。
20、你觉得数据科学/ML 中有趣的问题是什么?
包:AutoML比较有趣,在这里推荐一个自动机器学习工具
https://github.com/microsoft/nni,大家有兴趣可以试一下。
蔡:强化学习方面的,比如让AI自己去玩游戏这种的就很有意思!
(完)
以上,有没有让你对Kaggle以及数据竞赛有了进一步了解呢?
如果您还有其他问题、想近距离与两位Master交流,机会来了!
敲黑板,往下看~
由图灵联邦与CDA数据分析师联合主办的《Kaggle大神手把手,教你玩转数据分析》线下沙龙将于6月29日(周六)在北京举办,活动免费!
届时除了两位Kaggle大牛,还会有神秘嘉宾为您带来数据分析超级干货。
扫描下面图片二维码或者猛戳文末阅读原文,赶紧报名吧!


