财新传媒 财新传媒

阅读:0
听报道

 

作者:曹培信
 
对于机器学习爱好者来说,在一个大型比赛中摘金夺银或许是证明自己实力的好方法。每一年,国内外各种竞赛云集,参与者也涵盖了高校学霸、行业大佬等各路精英,竞赛平台已然成为了数据高手云集的“战场”。
 
这全球众多比赛中,Kaggle可以说是全球认可度最高的数据科学竞赛平台了。目前Kaggle已经举办了356场比赛,有些竞赛的奖金甚至高达百万美元。各路英豪在这个平台上实战练习、膜拜大神、打怪升级,简而言之,Kaggle 是玩数据、机器学习的开发者们展示功力、扬名立万的江湖。
 
而最近,Kaggle成绩在业内的认可度正在被质疑。
 
一个关于“简历中附上Kaggle成绩,对找工作会有帮助吗?”的帖子登上了Reddit热搜;同时在知乎上,“Kaggle竞赛私下有偿分享代码”、“买‘大腿’打比赛”、“奖牌明码标价”的话题也引发了国内竞赛圈的热议。
 
的确,国内竞赛圈在付费社群(微信、QQ、知识星球等)小范围讨论代码和“带人上比赛”的现象在已经持续了一段时间,并被不少竞赛选手认为是“约定俗成”的现象。但是,这种行为真的符合Kaggle的规则吗?更进一步,这样的行为会否被Kaggle发现并且影响最终成绩呢?
 
就此,我们也联系到了Kaggle合规委员会,就相关问题跟他们聊了聊。
 
含金量与含“金”量,参赛选手看中什么?
 
无论是参加国内的比赛还是参加Kaggle比赛和国际选手同场PK,不同的参赛选手参加比赛的目的有这样两类:
 
一种是以奖金和排名为目的,包括靠奖金为生的职业选手。这些人是有着丰富的数据分析、机器学习工作经验的业内人士或者学术大佬。
 
另一种是以提升相关技能和背景为目的业余爱好者。一般是在校学生或者刚入职场的新“码农”,他们有一定技术能力,但项目经验欠缺,想在比赛中提升自己的能力和经验。
 
对于第一种选手来说,自己在机器学习领域的实力已经不需要证明了,进入比赛就是为了摘金夺银,赢取大额奖金,更重视的是比赛的含“金”量;而对于第二类选手来说,成败不重要,重要的是在比赛中获得了什么,更注重的是比赛本身的含金量。
 
但是,相比稳定的奖金,Kaggle奖牌自身的价值正在受到越来越多的争议。
 
根据知乎用户@幻云羽音的数据,2015年以来参加Kaggle比赛的人数暴增,去年已经达到了68010人次,手握Kaggle奖牌的人数也越来越多了。
 
据统计,在参加了比赛的30多万人次中,共计有 148284 位不同的用户。获得过奖牌的用户有 27226 位(占总人数的 18.36%),其中:
 
获得过金牌的用户有3681位 (占总人数的 2.48%)
 
获得过银牌的用户有13450位 (占总人数的 9.07%)
 
获得过铜牌的用户有16475位 (占总人数的 11.11%)
 
统计数据来源:
 
https://zhuanlan.zhihu.com/p/29421791
 
之前也有网友表示自己在招聘时将Kaggle获奖作为一个标准,但是这三年该标准已经连调两级了。
 
链接:
 
https://www.zhihu.com/question/32032932/answer/58810196
 
培训还是带打?被明码标价的奖牌
 
近几年,中国人参加Kaggle比赛的热情日益高涨,今年也诞生了中国首个高中生Master。
 
然而并不是所有人像这位同学一样可以通过看书、看网课自学就能打到Kaggle Master。于是,针对Kaggle比赛的培训班开始出现。这也印证了一句话:只要有比赛,在中国就能找到相应的培训班。
 
其实在Kaggle奖牌成为一个提升自身背景的有力条件后,就有许多从事数据科学的求职者和准备出国留学需要加强自身简历的学生都将目光投向了Kaggle比赛,然而自身的能力又不足以独自参赛取得成绩。
 
这些培训班针对的就是这类人群。我们在百度上搜索“Kaggle 培训班”,可以看到排在搜索第一位的搜索结果就是一家培训机构。
 
在网页的介绍中,我们可以看到,该机构宣称在比赛中可以接受大咖的指导,并承诺获得奖牌。
 
而相比于培训,更让人诧异的是Kaggle奖牌被明码标价挂在网上卖。
 
我们也向参加过Kaggle比赛的一位大佬进行了求证,这位受访人明确表示,目前市面上Kaggle奖牌确实可以通过组队带打的方式获得,自己也曾经收到过“有偿代打比赛”的邀请,市价在“银牌8000左右,金牌20000左右”,但是金牌不能保证肯定拿到。
 
针对这个问题,我们也向Kaggle官方进行了咨询,Kaggle明确回复不支持这样的行为,但是这种情况是存在的。
 
我们不支持买卖Kaggle奖牌,但是可以认为这种情况是可能的。
 
Kaggle困境:难以制定的规则
 
2010年,安东尼·高德布卢姆(Anthony Goldbloom)在墨尔本创立Kaggle时,也不会想到短短9年,Kaggle的注册用户就超过了250万。
 
有人的地方就有江湖,更何况一个聚集了如此多人的大社区。
 
Kaggle本身是鼓励分享和开源的,Kaggle官网上也有一个讨论的社区,但是为了保证比赛的公平性,Kaggle又不得不制定很严格的规则。
 
比如为了防止刷榜,Kaggle限制了每个队伍每天允许的最大提交次数,一般是5次,假如一个比赛持续时间是三个月,那么总提交次数差不多就是 5×90=450次。
 
然而,要限制这群“最聪明的脑袋”谈何容易。很多人为了躲过提交次数的限制或者“节省提交次数”,专门注册了小号,这被称为multiple accounts,是会被Kaggle的反作弊系统侦察出来的。
 
而很多人关心的private sharing,是指Kaggle禁止队伍之间私下分享代码,要分享只能通过公开的kernel或discussion区分享,保证每个参加比赛的队伍都看见。
 
Kaggle针对private sharing的明确条例
 
但是对Kaggle来说,判断谁私底下分享了代码依然是一个大难题。
 
我们也针对这个条款,向Kaggle征求了更详细的的解释。Kaggle表示,如果是一个已经完成的比赛,那么无论在付费加入或者免费进入的group,怎么讨论都可以,而如果是针对一个正在进行的比赛,那么分享的代码就要所有的参赛选手都可以看到,如果只在一个封闭的group中分享,就算private sharing。
 
(Kaggle)不允许在团队之外私下共享代码或数据。只要所讨论的信息不是关于一场正在进行的比赛,使用Kaggle进行小规模分享(无论付费还是免费)是可以的。如果信息是关于一个正在进行的比赛,那它必须通过相关论坛向所有Kaggle参与者公开。
 
这样部分回答了之前在竞赛圈引发了轩然大波的“IEEE-CIS Fraud Detection”比赛事件,名为YB(Orange)和AIR所在的队伍、以及宁缺(广工第一关羽)所在的队伍被取消成绩一事。事后,相关方也向我们说明了原因:两个队伍有队友互相认识,想对模型做个融合,但是提交了相同的Sub导致被Kaggle取消成绩。
 
在我们向Kaggle求证这两支队伍被取消的原因时,Kaggle表示不能向我们透露特定队伍被取消成绩的原因,但是可以肯定的是他们违反了规则,并且最常见的原因是使用了相同的账户或者private sharing。
 
我们不会公布特定竞赛参与者的信息,也不会公布他们被取消成绩的情况,也不会公布我们检查参赛者作弊的过程。然而,可以告知的是,我们只有在有充分的理由判定参赛者违反了竞争规则的情况下才会取消成绩,并且被取消成绩最常见原因是使用多个帐户或在Kaggle团队之外私下共享代码。
 
在和一位经常参加Kaggle比赛的同学讨论private sharing时,他表示这个现象在国内很常见,中国的Kaggle圈子集中在北上广等一线城市,许多人都相互认识,私底下也会对于某场比赛分享思路和模型。
 
而这一现象不止存在于国内竞赛圈,包括俄罗斯和日本也有公司组织几个队伍团体参赛,互相借鉴模型进行整体提升。
 
而这也正是Kaggle禁止private sharing的原因,因为这样不仅会影响比赛的公平性,还会形成使比赛失去悬念,毕竟团体的力量是大于个人的,尤其是一群“高手”组成的团体,这会让比赛变成不同组织之间的对抗,大大影响其他参赛选手的积极性。
 
参加Kaggle比赛正确态度?
 
最近Reddit也有人开始提出疑问:Kaggle上取得好成绩真的会对求职有帮助吗?
 
其中有个答案是这么说的:
 
“在 Kaggle 上做得好不代表就是一名好的 ML 工程师,Kaggle 太过关注纯数据科学,寻找创意集合体,然后花费大量时间(或者你还要花很多钱)进行实验,同时尽可能减少过拟合。对于竞赛而言,最好的模型就是能够供整个社区使用,你的主要任务也是做到这点。”
 
Pranay Dave也在Medium上写过一篇名为“为什么Kaggle不会让你成为一名出色的数据科学家”的文章,他指出了几点原因:
 
数据科学不仅仅是预测
 
无法提高图算法方面的技能
 
无法提高算法可解释性
 
缺少投资回报率的分析环节
 
不会涉及到模拟和优化问题
 
无法体验模型部署和操作
 
原文链接:
 
https://towardsdatascience.com/why-kaggle-will-not-make-you-a-great-data-scientist-a2c2f506a23f
 
所以说,Kaggle作为一场比赛,可以体现你在数据科学方面的实力,然而打赢Kaggle和成为一个好的数据科学家并不能划等号,对任何人来说,数据科学的这条路一定是越走越深入,Kaggle也许只是一个证明自己的过程。
 
而对于那些花钱“买大腿”混奖牌的人来说,背景的提升、简历的充实更是空中楼阁,除了把Kaggle圈子搞乱,于人于己都没有任何好处。
 
那么什么才是参加比赛的正确姿势呢?
 
我们不妨来看看在洛杉矶金融城(City of LA)与 Kaggle合作的那场比赛的优胜者Shivam Bansal,在Kaggle官网进行的优胜者访谈中描述自己选择这场比赛的原因。
 
文章链接:
 
http://blog.kaggle.com/2019/07/15/winner-interview-with-shivam-bansal-data-science-for-good-challenge-city-of-los-angeles/
 
Q: 是什么让你决定参加这个比赛?
 
A:这次比赛中提出的问题非常具有挑战性和趣味性。问题的更大部分是自然界中的非结构化知识,都需要创造性和创新性的方法。这个挑战要求在所有方面都有一个完整的解决方案——代码、文档、工作流、流水线、讲故事、模块化、可重用性、可视化和自然语言处理的使用。在阅读了更多关于这个问题的文章之后,我意识到这是一个很好的机会去尝试、实践和测试数据科学、工程和演示技能。
 
搞清楚为什么做一件事,比做这件事本身更重要。参加Kaggle比赛也是如此。
话题:



0

推荐

大数据文摘

大数据文摘

448篇文章 3年前更新

普及数据思维,传播数据文化

文章