机器学习英雄访谈录之双料 Kaggle 大师:Dr. Jean-Francois Puget

Sanyam Bhutani 是 Medium 上一位专注 ML 和 CV 的博主,本系列翻译自他进行的系列采访——《机器学习英雄访谈录》。

学习从模仿开始,要模仿就要模仿那些最棒的人,这是我开始本系列的初衷。


正文

今天我要采访的是一位双料大师:Kaggle Discussion 大师(排名第 1)以及 Kaggle Competition 大师(排名第 27),同时也是一位 kernel 专家——Dr. Jean-Francois Puget(Kaggle ID 是 CPMP)。


Sanyam Bhutani: 你好,大师,非常感谢你抽时间接受采访。

Dr. Jean-Francois Puget: 感谢你的邀请。

Sanyam Bhutani: 你能向读者介绍你的 Kaggle 之旅吗?你是如何开始并沉迷于这种“合法的粉儿”?

Dr. Jean-Francois Puget: 我以获得机器学习领域的博士学位开始了我的职业生涯,下面只谈这个领域对我的重要性。然后我去了一家名为 ILOG 的创业公司,在另一个领域工作。很快,ILOG 被 IBM 收购,我又回到机器学习领域。自从我获得博士学位以来,ML 已经发展了很多,我意识到我需要复习。我在 Coursera 上学了一些诸如 Andrew Ng Stanford ML 课程在内的在线课程,阅读了不少,但这还不够。我需要了解最新的 ML 实践,并且 Kaggle 看起来就是我想要的地方。在浏览了 Kaggle 一段时间之后,我决定开始尝试,并于 2016 年 5 月开始参加比赛。我立刻迷上了!

Sanyam Bhutani: 你是 IBM 机器学习和优化产品线的技术领导。你怎么找时间去参加 Kaggle?这些比赛是否与 IBM 的项目有关?

Dr. Jean-Francois Puget: 我认为如果你不知道如何使用工具,你就不能构建工具。这就是为什么,如果你为机器学习从业者构建工具,实践机器学习和数据科学是非常重要的。因此,参加 Kaggle 比赛对我的工作非常有用。这也就是说我花费很多个人时间参加 Kaggle 比赛,无论晚上、周末或假期中。

Sanyam Bhutani: 当你在 2016 年开始参见 Kaggle 时,你已经是 ML 领域的专家。Kaggle 是否值得挑战?

Dr. Jean-Francois Puget: 事实证明,Kaggle 比我想象的更具竞争力。没有进入 Kaggle 比赛的人不知道获胜的解决方案是何等的精心设计和先进。

Sanyam Bhutani: 在过去的几年里,你在 Kaggle 取得了惊人的成绩。你最欣赏的一次挑战是什么?

Dr. Jean-Francois Puget: 我当然喜欢那些我表现得很好的。我最自豪的是最近的 Talking 数据竞赛,我单独排名第 6,领先于许多大师队。在那场比赛中只有 3 人获得了金牌。但我最喜欢的是 2Sigma New York Apartment Rental,因为它有自然语言数据和结构化数据的混合,有很多特征工程的 room。我只做了 12 天,但都很激烈。我向那些想要锻炼他们的特征工程技能的人推荐这个比赛。

Sanyam Bhutani: 你现在面临什么样的挑战?你如何决定比赛是否值得花时间?

Dr. Jean-Francois Puget: 我现在正在选择比赛,主要是为了了解我尚未掌握的领域。例如,我正在进入 TGS 盐检测竞赛,以了解有关图像分割的更多信息。

Sanyam Bhutani: 你如何应对新的竞赛?你有什么技巧?

Dr. Jean-Francois Puget: 第一步是快速获得基准和提交。这是为了清除任何错误或任何低级误解。

第二个也是最重要的一步是建立可靠的本地验证设置。目标是能够评估一个模型在训练数据上是否优于另一模型,而不是依赖于公共排行榜得分。如果你设法得到这个,那么你可以执行你想要的任意数量的实验,并且你不受每天 5 次提交的限制。提交仅用于检查你的本地验证是否可靠,即当你的本地分数提高时,你的 LB 分数也会提高。基本工具是交叉验证。掌握交叉验证以及如何定义折叠是一项关键技能。确保你了解何时可以使用随机折叠分割,或者何时必须使用某种分层或基于时间的折叠定义。

第三步是真正理解度量标准,以及如何通过损失函数对其进行近似。有时它很容易,例如,如果度量是平均平方误差(mse),则使用均方误差(rmse)。有时,当度量标准不可微分时,这是棘手的,例如,当度量标准是用于二元分类的 roc-auc,或者用于图像分割的交集。

然后是特征工程、NN 架构选择、超参数优化等,在上述准备步骤之前跳到此是在浪费时间。

Sanyam Bhutani: 对于像我这样想要在 Kaggle 做的更好的读者和新手,你最好的建议是什么?

Dr. Jean-Francois Puget: 在每场比赛结束后阅读顶级团队的文字。如果你参加比赛的话那更好,因为你会从写作中获得更多,但恕我直言阅读所有的文字是有用的。那是你在 Kaggle 上学到的最多的东西。

此外,通过内部部署机器或云服务获得一个不错的计算资源。随着时间的推移,Kaggle 比赛需要越来越多的计算资源。无论如何,这是 IT 行业的一般趋势。

最后,在查看共享材料之前,请努力尝试。如果不将它们用作黑盒,重用共享材料(尤其是 kernel)就可以了。使用你想要重复使用的内容,并对其进行修改以利用你的本地验证设置。例如,许多共享 kernel 没有交叉验证,你应该在那种情况下添加它。

Sanyam Bhutani: 对于那些想要将机器学习作为职业道路的读者来说,你是否觉得一个好的 Kaggle profile 和(Kaggle)经历是有帮助的?

Dr. Jean-Francois Puget: 当然有用。由于我是一名大师,我现在得到了感兴趣的工作机会。Kaggle 非常引人注目。但人们也不应高估它。你在 Kaggle 学到的技能非常有用,但在现实世界中也需要其他技能。能够与业务利益相关者打交道、收集相关数据的能力是未经过 Kaggle 测试的关键技能。事实上,Kaggle 比赛伴随着明确的业务问题和相关数据。

Sanyam Bhutani: 鉴于 ML 爆炸性的增长率,你如何跟上最新技术的?

Dr. Jean-Francois Puget: 我在 Kaggle 上练习,也在 IBM 相关的 ML 项目上实践。我也读过科学论文。KaggleNoobs 的 Slack 团队是一个获取有趣材料消息的好地方。

Sanyam Bhutani: 你在机器学习中真正感到兴奋的是什么?

Dr. Jean-Francois Puget: 我认为像 XGBost 或 LightGBM 这样的梯度增强机(GBM)是过去 5 年中最重要的发展。大多数人会说深度学习。我同意深度学习是非常重要和令人兴奋的,但 GBM 现在在行业中更具可操作性,因为它们可以用来取代迄今为止构建的大多数预测模型。

Sanyam Bhutani: 你觉得 ML 作为一个领域炒作过头了吗?

Dr. Jean-Francois Puget: 近年来,炒作已从 ML 转移到 DL,现在已经转移到 AI。当然这三个领域密切相关,但 ML 不再是什么头条新闻。这么说,我不认为 ML/DL/AI 会辜负当前的炒作。虽然有真正的进步,但它们是过誉的和过于笼统的。人工智能和深度学习很快就会出现戏剧性的回调,之后还有另一个 AI 冬天。

Sanyam Bhutani: 在我们结束之前,对于那些开始竞赛感到不知所措的初学者给点提示可以吗?

Dr. Jean-Francois Puget: 不要害羞,尽量尝试吧。使用假名而不是你的真实姓名,这样你就不必担心损害你的声誉。但是要准备让自己受到伤害,因为 Kaggle 很有竞争力;),并且利用任何挫折来学习下次如何做得更好。

Sanyam Bhutani: 感谢你接受这次采访。


对我的启发

  • 如果你不知道如何使用工具,你就不能构建工具。
  • 为了了解尚未掌握的领域而选择比赛。
  • 最重要的一步是建立可靠的本地验证设置,为自己定一个基准。
  • 能够与业务利益相关者打交道、收集相关数据是重要的能力。
  • KaggleNoobs 的 Slack 团队是一个获取有趣材料消息的好地方。

机器学习英雄访谈录之双料 Kaggle 大师:Dr. Jean-Francois Puget的更多相关文章

  1. 机器学习英雄访谈录之 Kaggle Kernels 专家:Aakash Nain

    目录 机器学习英雄访谈录之 Kaggle Kernels 专家:Aakash Nain 正文 对我的启发 机器学习英雄访谈录之 Kaggle Kernels 专家:Aakash Nain Sanyam ...

  2. 机器学习英雄访谈录之 DL 自由职业者:Tuatini Godard

    目录 机器学习英雄访谈录之 DL 自由职业者:Tuatini Godard 正文 对我的启发 机器学习英雄访谈录之 DL 自由职业者:Tuatini Godard Sanyam Bhutani 是 M ...

  3. 机器学习英雄访谈录之 DL 实践家:Dominic Monn

    目录 机器学习英雄访谈录之 DL 实践家:Dominic Monn 正文 对我的启发 机器学习英雄访谈录之 DL 实践家:Dominic Monn Sanyam Bhutani 是 Medium 上一 ...

  4. 《机器学习及实践--从零开始通往Kaggle竞赛之路》

    <机器学习及实践--从零开始通往Kaggle竞赛之路> 在开始说之前一个很重要的Tip:电脑至少要求是64位的,这是我的痛. 断断续续花了个把月的时间把这本书过了一遍.这是一本非常适合基于 ...

  5. Python机器学习及实践+从零开始通往Kaggle竞赛之路

    内容简介 本书面向所有对机器学习与数据挖掘的实践及竞赛感兴趣的读者,从零开始,以Python编程语言为基础,在不涉及大量数学模型与复杂编程知识的前提下,逐步带领读者熟悉并且掌握当下最流行的机器学习.数 ...

  6. 《Python机器学习及实践:从零开始通往Kaggle竞赛之路》

    <Python 机器学习及实践–从零开始通往kaggle竞赛之路>很基础 主要介绍了Scikit-learn,顺带介绍了pandas.numpy.matplotlib.scipy. 本书代 ...

  7. python+sklearn+kaggle机器学习

    python+sklearn+kaggle机器学习 系列教程 0.kaggle 1. 初级线性回归模型机器学习过程 a. 提取数据 b.数据预处理 c.训练模型 d.根据数据预测 e.验证 今天是10 ...

  8. 【机器学习Machine Learning】资料大全

    昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...

  9. 【转】自学成才秘籍!机器学习&深度学习经典资料汇总

      小编都深深的震惊了,到底是谁那么好整理了那么多干货性的书籍.小编对此人表示崇高的敬意,小编不是文章的生产者,只是文章的搬运工. <Brief History of Machine Learn ...

随机推荐

  1. Year 2038 problem (2038年问题)

    From Wikipedia, the free encyclopedia       Animation showing how the date would reset, represented ...

  2. 'javac' 不是内部或外部命令,也不是可运行的程序

    今天在命令行中运行javac命令时发现 但是运行java命令却可以 查找jdk的安装路径发现,安装目录里面同时有jdk的文件夹和jre的文件夹 查看了jdk的目录发现jdk目录中也有一个jre文件夹 ...

  3. Spring 事务回滚代码

    在事务中实行的方法:org.springframework.transaction.interceptor.TransactionAspectSupport#invokeWithinTransacti ...

  4. PHP安全过滤函数

    在PHP中,有些很有用的函数开源非常方便的防止你的网站遭受各种攻击,例如SQL注入攻击,XSS(Cross Site Scripting:跨站脚本)攻击等.   1. mysql_real_escap ...

  5. 利用单例模式设计数据库连接Model类

    之前在<[php]利用php的构造函数与析构函数编写Mysql数据库查询类>(点击打开链接)写过的Mysql数据库查询类还不够完美,利用<[Java]单例模式>(点击打开链接) ...

  6. __init__函数

    初始化函数,类似于c++的构造函数 在创建一个对象时默认被调用,不需要手动调用.self后面接的形参,在类实例化的时候必须传递,__init__函数里的参数都属于成员变量

  7. SpringMVC原理&MVC设计思想

    什么是MVC? MVC是一种架构模式 --- 程序分层,分工合作,既相互独立,又协同工作 MVC是一种思考方式 --- 需要将什么信息展示给用户? 如何布局? 调用哪些业务逻辑? MVC流程图如下图所 ...

  8. table border

    table的CSS为{border-collapse:collapse;border:none;},再设置td的CSS为{border:solid#000 1px;}是一个非常不错的方法. 示例: & ...

  9. (转)公有云vr客户端tcp连接数太多造成 系统卡顿问题 [bittorrent tracker优化] -公有云常见网络问题及思路

    在公有云服务器 发现使用tcp(http)的tracker连接数太多 用户太多会造成windows系统卡顿 特此发表一下修改配置和路由器的方法 解决卡顿问题 解决方法1(参考内容): 修改 /etc/ ...

  10. svn up时提示跳过某节点

    # svn up    提示跳过某某节点 解决办法: # svn revert 文件path 提示下,自己改的文件确定不要被revert了,那样你就merge就好了. svn命令可参考这个文章:htt ...