长文慎点! Kaggle 比赛的 top2%和金牌到底差距有多大?

2020-06-24 12:02:05 +08:00
 longSwordMan

入了 kaggle 这个坑三年,成绩还凑合,目前拿到一金二银二铜,也和综合排名 top10 的种子选手组过队。

欢迎在讨论区交流,也欢迎添加微信 longswordMAN 进群+听直播分享,加的时候注明 V2EX 的 id 就行。

我会尽量保持周更的频率,每条评论也会看,比较走心的高质量评论必回,看反馈情况决定是否改变更新频率。

帖子主要谈三个主题:

1.kaggle 的比赛冲分技巧。在具备 top10%乃至 top2%的实力的情况下,如何百尺竿头更进一步,冲击奖牌, 以及如何选择适合自己的项目。

2.在简历里怎么包装项目,面试的时候怎么展示,

3.怎么通过 kaggle 来 networking,以文会友,建立人脉网络。

废话不多说,正题开始。

想要在 kaggle 平台制霸,我们首先要了解 kaggle 的前世今生,了解他比赛的风格和最近几年的变化方向。

Kaggle 是一个对给定数据集的的数据建模平台,以分类、回归问题为主(也有少许聚类,我个人估计应该是因为聚类模型的表现衡量起来相对麻烦,以后如果有时间,可以开一个专题讲聚类,现在因为和主线有点偏离,先按下不表)。

Kaggle 竞赛的合作方,早期可以认为是悬赏方,提供数据和任务,往往是公司内部数据(当然作了一些去敏),进而提出公司一个实际需要解决的问题。这个模式有一些类似赏金猎人,尤其是在 2010 年前后,kaggle 还比较小众的时候,参赛人数不多,如果不是金额特别爆炸的悬赏,不是精心雕琢的模型往往也能瞎打乱撞拿到奖金。

虽然一开始 kaggle 的初衷有一些类似于赏金猎人,但是随着平台的壮大,单纯的去冲击奖金的期望收益已经大大降低,所以 kaggle 平台慢慢就演变成了现在类似竞赛平台的形式。尤其是在被 Google 收购之后,kaggle 上的题目风格发生了不小的变化,概括起来就是两多两少。

两多:

参赛队伍变多

深度学习模型变多

两少:

数据量变小

比赛数量变少

3125 次点击
所在节点    LeetCode
7 条回复
longSwordMan
2020-06-24 12:02:22 +08:00
解释一下:kaggle 在朝着竞赛平台的路上狂奔,原来的外包悬赏属性越来越少,所以导致了比赛数量变少,队伍变多;谷歌向来注重深度学习(面向 VC 的开发,大家懂的),所以 kaggle 一定程度上也在 NLP,CV 等深度学习细分领域狂奔,原来重特征工程的打法已经式微。为了让大家的机器跑得动大模型,所以数据量就小了,没有以前那种操作大数据的快感了。
longSwordMan
2020-06-24 12:02:33 +08:00
从 kaggle 和深度学习结合越来越多这个趋势,其实可以窥见一整个行业的趋势,由于多媒体信息越来越多,图像,声音,文字,都是信息的载体,而深度学习模型有能力从这些信息载体中提取出高浓度,可操作的信息(说人话,可以把信息变成向量,方便处理操作)。那么在将来的新潮岗位,一定是需求能够把深度学习和 BI 结合,而且还有一定 coding 能力的大佬。
longSwordMan
2020-06-24 12:02:42 +08:00
上回我们说到 kaggle 被谷歌收购的故事,受到 google 的影响,kaggle 的竞赛逐渐加深了和深度学习模型的结合。之前有一个经典的手写数字竞赛,属于上古时代的项目,叫做 MNIST,kaggle 上可以搜到。当时深度模型在 kaggle 还没有流行,所以不少选手仍然选择了传统的分类模型来解,大家可以翻看链接里的陈年 kernel,甚至可以看到 heretical softmax 来解这道题的奇观。
longSwordMan
2020-06-24 12:02:52 +08:00
相对比较靠谱的传统解法,比如说一些人对图片做了特征工程(如果不做特征工程的话,会次拟合得非常厉害,毕竟是一个 28*28 维的特征),特征工程的的手法,比如:图像的对称性,白色 pixel 的数量等等。对称性就包括上下对称,左右对称,旋转对称。比如“0,1,8”就同时满足三种对称性,“3”满足上下;对于白色 pixel 来说,自然比划多的数字,比如“8”就数量大。还有其他蛇皮走位的特征工程的手段,比如算一些关键点的曲率啦,在某个神奇的坐标上是否是白色等等。
longSwordMan
2020-06-24 12:03:00 +08:00
我看了一圈,传统方法里,相对比较靠谱的做法就是把图片切成 4-9 片,对每一片再做一次特征工程,然后把特征工程的结果再过一次 softmax 。这个其实有一点 CNN (卷积神经网络,不是那个电视台),并且这位大仙还用了 sampling 。这个算法我记得勉强突破了 90%准确率,在传统做法里已经爆炸。
longSwordMan
2020-06-24 12:03:09 +08:00
当然说了这么多,都是为了引出我们的主角 CNN 。CNN 号称宇宙第一图像分类算法,随着深度学习的发展,又逐渐出现了 resnet,VGG24,VGG48,VGG128,VGG10086,VGG 小目标,总之往复杂化方向一路狂飙(最后两条是玩笑,不要当真),但是这些模型都是 CNN 的衍生,对于简单的,28*28,我们直接调用 CNN 已经可以取得 95+%的准确率,不过,该做的预处理还是要做,比如 padding 这些工作。
longSwordMan
2020-06-24 12:07:28 +08:00
当然早些时候直接套 CNN 可以解决,现在的题目的画风已经变成这样:(因为无法粘链接,大家如果想了解的可以私信我)所以大家这个肉眼看得出什么区别吗?反正我不是学医的我看不出,所以特征工程这套已经可以说式微了,某种意义上是鼓励,或者说驱赶参赛者去用深度模型解题,当然 kaggle 除了计算机视觉方向的深度模型,还有自然语言处理,图论,凸优化等领域,我们接下去会慢慢谈。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/684406

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX