45

我要这金牌有何用:Kaggle 竞赛成绩真能「保送」谷歌、FB 吗?

 4 years ago
source link: https://www.tuicool.com/articles/QfIZNra
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

对于初入机器学习领域的人来说,你肯定已经从学长口中、博客文章中、社区帖子里听说过 Kaggle 的大名。除了大量竞赛以外,Kaggle 上也有很多公开的数据集。

有很多 Kaggle 入门教程都会提到:这是一个在业内拥有很高认可度的竞赛平台,在你的简历中附上 Kaggle 成绩,会对找工作很有帮助。

最近,这一问题在 Reddit 机器学习板块上引发了热烈讨论。

Nne26je.jpg!web

发帖者「u / AlexSnakeKing」辗转反侧:在大家眼中,Kaggle 奖项的重量足以让你「走上人生巅峰」。我们经常可以看到各路 Kaggle 大神的传奇经历,他们有的非常年轻,有的身经百战。而故事的结局通常会是:他们获得了谷歌、Facebook 这样科技巨头的青睐。

但他也观察了自己在博客上关注的很多 Kaggle 获奖者,还有一些经常在 LinkedIn 上联系的获奖者。获奖的几个月后,「朝为田舍郎,暮登天子堂」的故事没有发生,这些获奖者并未出现在 谷歌、FaceBook 的办公室里,甚至还有一部分人始终处于自由职业者的状态……

这正是令「u / AlexSnakeKing」迷惑的地方,Kaggle 上的好成绩真的会对求职有帮助吗?

直白点说,在 Kaggle 上得奖能不能帮我们拿到 Google、FB、Open AI 这些大厂的 offer?

机器学习界的「耶路撒冷」

作为最著名的数据科学竞赛平台,Kaggle 成立于 2010 年,并于 2017 年被谷歌收入旗下。迄今为止,这一平台上已经举行了 356 场各种类型的数据竞赛。

很多公司、政府研究机构都会把自己的数据放上来,开放给全球范围内的参赛者,让他们帮助自己建模型。为了提高参赛积极性,他们也会设置一定的奖金,用来奖励模型精度最高的几个队伍,有些竞赛的奖金甚至可以高达百万美元。

于是乎,Kaggle 源源不断地吸引了成千上万的开发者来参加竞赛,许多数据科学家在 Kaggle 上投入了大量的时间和精力。在诸如机场安全、卫星数据分析这类的任务上,不乏数十年经验的优秀团队加入比赛。

在机器学习爱好者们心中,Kaggle 是一个灯塔般的存在。

ZZ36zqm.jpg!web

Kaggle 的总榜单上现在已经出现了 162 名大师级(Grandmaster)选手。而在所有比赛中,获得金牌的人数大约占总人数的 2.5%。然而,数量多并不意味着拿奖牌的几率很高:从趋势上看,随着参与人数的逐渐增多,获取 Kaggle 奖牌的难度正在逐年提升。

Kaggle 奖牌能让你成为 offer 收割机吗?

「赢得 Kaggle 不代表就是一名好的 ML 工程师」

两枚银牌得主「cpury」表示:

我不是金牌获得者,但是在自身领域也得过两枚银牌。其实得 Kaggle 的奖还是有用的,很多 Kaggler 在 Linkedin 上加我,面试的时候这段经历也经常会被提到。就算搞自由职业时,这也是你谈价格的筹码。

你可以说,我值这么多钱,因为我在 Kaggle 上解决过一个类似的问题,并且排在前 100 位。

我也赞同,在 Kaggle 上做得好不代表就是一名好的 ML 工程师,Kaggle 太过关注纯数据科学,寻找创意集合体,然后花费大量时间(或者你还要花很多钱)进行实验,同时尽可能减少过拟合。对于竞赛而言,最好的模型就是能够供整个社区使用,你的主要任务也是做到这点。

「Kaggle 不会主动带来大厂 offer,但非常有用」

在 kaggle 比赛中得过两次前三的网友「juliandewit」说:

我现在就是一名自由职业者,职业方面还不错。Kaggle 确实给我带来了一些不错的资源和回报,我也经常收到创业公司的邀请,这还是在我没有推销自己的前提下。

不过没有 Google/OpenAI/Facebook 的邀请,也没有天价薪酬。

我个人觉得你应该在 Kaggle 上多努力,如果说是为了找工作,Kaggle 是不会为你自动带来 offer 的,但是一个好的 Kaggle 成绩当然非常有用。

「想成为优秀的工程师,重在实践」

还有一位网友建议发帖者更关注实践经验:

首先我觉得这个取决于你参加比赛的类型。

在我(有限)的 Kaggle 经历中,我发现那些获奖者很少拥有最佳模型。如果模型要通过准确性得分/ AUC 进行评估,可以说前 10 名团队的得分都会大于 99.5%。你知道,这些模型大部分都被遗忘了。

所以我觉得赢得 Kaggle 比赛不一定会让你成为优秀的 ML 从业者。不错,接近完美的准确性是很好,但如果暴露在真实数据中时完全瘫痪,那就不是一个成功的模型。

网友「Nitro_V」也赞同这一观点,同时补充了自己的观点:

而且,通常在一些数据竞赛的最终排名中,前几名之间的区别只是算力的区别,有时甚至前 20 名之间的分数差距都不是特别明显。我见过在一些竞赛上,排名榜单从头到尾使用的模型都几乎相同。我个人认为,使用可行的,耗费算力更小的模型,要比一个过拟合的巨型网络要好得多。」

跟帖的网友「omniron」说:

以我有限的经验看来,赢得 Kaggle 比赛最重要的问题在于赛会设置的评估标准——而它们并非总是有意义的。我们必须选择一些标准来评估每个人的水平,而这个标准并不总是适合他们要解决的实际任务。

Kaggle 竞赛往往关乎如何按照最佳规格进行工程设计,而不是如何构建最好的模型,来解决数据科学的具体问题,前者意味着更多的竞争意味。

「我也见过代码能力很差的 Kaggle 获奖者」

网友「ivalm」讲了自己的亲身经历:

Kaggle 可能不像大多数人印象中的那样,是表现人们擅长机器学习、数据科学的最好指标。在工作中,我面试过一位全球总榜排名约 100 位(Kaggle competition master)的求职者,以及一名在某项竞赛中排名第二的求职者。

当我问机器学习理论细节时,回答的很好,但在架构设计问题上就显得一般了,抛出代码挑战问题之后,他们都惨遭失败。我很确定他在 Kaggle 竞赛上所做的一切只是学习公共内核(Kernel)、调好超参数、几何模型,然后花大量时间测试。我怀疑他每一步都使用了别人的代码,耗费了大量的时间和精力。虽然我们知道他的 Kaggle 成绩没有造假,但是他的代码能力太差,让人不由感到怀疑。

综合看来,在机器学习热度不断提高的情形下,Kaggle 比赛成绩在用人单位眼中的重要程度也在逐渐变化。

在 Reddit 的讨论中,一位「阅人无数」的网友也给出了非常直接的结论:

QRjINbZ.png!web

「作为阅读了大量简历的人来说,这个问题的答案很简单:No.」

MzYJbmQ.jpg!web

Anyway,对于大多数网友来说,Kaggle 获奖到底有没有用,是不是就相当于小时候「上清华还是上北大」的问题?

参考链接:

https://www.reddit.com/r/MachineLearning/comments/dge24v/d_does_winning_a_kaggle_competition_really_help/


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK