机器学习英雄访谈录之双料 Kaggle 大师:Dr. Jean-Francois Puget
正文
今天我要采访的是一位双料大师:Kaggle Discussion 大师(排名第 1)以及 Kaggle Competition 大师(排名第 27),同时也是一位 kernel 专家——Dr. Jean-Francois Puget(Kaggle ID 是 CPMP)。
Dr. Jean-Francois Puget: 感谢你的邀请。
Dr. Jean-Francois Puget: 我以获得机器学习领域的博士学位开始了我的职业生涯,下面只谈这个领域对我的重要性。然后我去了一家名为 ILOG 的创业公司,在另一个领域工作。很快,ILOG 被 IBM 收购,我又回到机器学习领域。自从我获得博士学位以来,ML 已经发展了很多,我意识到我需要复习。我在 Coursera 上学了一些诸如 Andrew Ng Stanford ML 课程在内的在线课程,阅读了不少,但这还不够。我需要了解最新的 ML 实践,并且 Kaggle 看起来就是我想要的地方。在浏览了 Kaggle 一段时间之后,我决定开始尝试,并于 2016 年 5 月开始参加比赛。我立刻迷上了!
Dr. Jean-Francois Puget: 我认为如果你不知道如何使用工具,你就不能构建工具。这就是为什么,如果你为机器学习从业者构建工具,实践机器学习和数据科学是非常重要的。因此,参加 Kaggle 比赛对我的工作非常有用。这也就是说我花费很多个人时间参加 Kaggle 比赛,无论晚上、周末或假期中。
Dr. Jean-Francois Puget: 事实证明,Kaggle 比我想象的更具竞争力。没有进入 Kaggle 比赛的人不知道获胜的解决方案是何等的精心设计和先进。
Dr. Jean-Francois Puget: 我当然喜欢那些我表现得很好的。我最自豪的是最近的 Talking 数据竞赛,我单独排名第 6,领先于许多大师队。在那场比赛中只有 3 人获得了金牌。但我最喜欢的是 2Sigma New York Apartment Rental,因为它有自然语言数据和结构化数据的混合,有很多特征工程的 room。我只做了 12 天,但都很激烈。我向那些想要锻炼他们的特征工程技能的人推荐这个比赛。
Dr. Jean-Francois Puget: 我现在正在选择比赛,主要是为了了解我尚未掌握的领域。例如,我正在进入 TGS 盐检测竞赛,以了解有关图像分割的更多信息。
Dr. Jean-Francois Puget: 第一步是快速获得基准和提交。这是为了清除任何错误或任何低级误解。
第二个也是最重要的一步是建立可靠的本地验证设置。目标是能够评估一个模型在训练数据上是否优于另一模型,而不是依赖于公共排行榜得分。如果你设法得到这个,那么你可以执行你想要的任意数量的实验,并且你不受每天 5 次提交的限制。提交仅用于检查你的本地验证是否可靠,即当你的本地分数提高时,你的 LB 分数也会提高。基本工具是交叉验证。掌握交叉验证以及如何定义折叠是一项关键技能。确保你了解何时可以使用随机折叠分割,或者何时必须使用某种分层或基于时间的折叠定义。
第三步是真正理解度量标准,以及如何通过损失函数对其进行近似。有时它很容易,例如,如果度量是平均平方误差(mse),则使用均方误差(rmse)。有时,当度量标准不可微分时,这是棘手的,例如,当度量标准是用于二元分类的 roc-auc,或者用于图像分割的交集。
然后是特征工程、NN 架构选择、超参数优化等,在上述准备步骤之前跳到此是在浪费时间。
Dr. Jean-Francois Puget: 在每场比赛结束后阅读顶级团队的文字。如果你参加比赛的话那更好,因为你会从写作中获得更多,但恕我直言阅读所有的文字是有用的。那是你在 Kaggle 上学到的最多的东西。
此外,通过内部部署机器或云服务获得一个不错的计算资源。随着时间的推移,Kaggle 比赛需要越来越多的计算资源。无论如何,这是 IT 行业的一般趋势。
最后,在查看共享材料之前,请努力尝试。如果不将它们用作黑盒,重用共享材料(尤其是 kernel)就可以了。使用你想要重复使用的内容,并对其进行修改以利用你的本地验证设置。例如,许多共享 kernel 没有交叉验证,你应该在那种情况下添加它。
Dr. Jean-Francois Puget: 当然有用。由于我是一名大师,我现在得到了感兴趣的工作机会。Kaggle 非常引人注目。但人们也不应高估它。你在 Kaggle 学到的技能非常有用,但在现实世界中也需要其他技能。能够与业务利益相关者打交道、收集相关数据的能力是未经过 Kaggle 测试的关键技能。事实上,Kaggle 比赛伴随着明确的业务问题和相关数据。
Dr. Jean-Francois Puget: 我在 Kaggle 上练习,也在 IBM 相关的 ML 项目上实践。我也读过科学论文。KaggleNoobs 的 Slack 团队是一个获取有趣材料消息的好地方。
Dr. Jean-Francois Puget: 我认为像 XGBost 或 LightGBM 这样的梯度增强机(GBM)是过去 5 年中最重要的发展。大多数人会说深度学习。我同意深度学习是非常重要和令人兴奋的,但 GBM 现在在行业中更具可操作性,因为它们可以用来取代迄今为止构建的大多数预测模型。
Dr. Jean-Francois Puget: 近年来,炒作已从 ML 转移到 DL,现在已经转移到 AI。当然这三个领域密切相关,但 ML 不再是什么头条新闻。这么说,我不认为 ML/DL/AI 会辜负当前的炒作。虽然有真正的进步,但它们是过誉的和过于笼统的。人工智能和深度学习很快就会出现戏剧性的回调,之后还有另一个 AI 冬天。
Dr. Jean-Francois Puget: 不要害羞,尽量尝试吧。使用假名而不是你的真实姓名,这样你就不必担心损害你的声誉。但是要准备让自己受到伤害,因为 Kaggle 很有竞争力;),并且利用任何挫折来学习下次如何做得更好。
对我的启发
- 如果你不知道如何使用工具,你就不能构建工具。
- 为了了解尚未掌握的领域而选择比赛。
- 最重要的一步是建立可靠的本地验证设置,为自己定一个基准。
- 能够与业务利益相关者打交道、收集相关数据是重要的能力。
- KaggleNoobs 的 Slack 团队是一个获取有趣材料消息的好地方。