我坚信对于很多已经抛弃Kaggle之旅的人来说都有这样的经历,无法进入榜单前1%,并且认为练习也毫无意义。
Kaggle大佬系列带着一篇新的采访回归了,这次我们请来了Dan Becker。Becker可谓是Kaggle Notebooks大佬,目前排在该类别榜单的第二位。他编写的Notebooks不仅被数据科学初学者们广泛参考,也是Kaggle learn免费课程中的一部分。贝克尔还是Kaggle数据集与讨论组的专家。
Becker还是一家名为Decision.AI公司的创始人,该公司致力于帮助数据科学家们把他们的AI模型转化成理想的商业业绩。在此之前,他还在谷歌从事数据科学,很了不起对吗?
这篇采访包括了以下几大主题:Becker从经济学到数据科学的跨界,Becker从零开始成为大佬的Kaggle旅程,Becker给予数据科学初学者们的建议。让我们来读一下这篇采访,看看从中会有怎样的感悟吧!
贝克尔的学业和工作
Dan Becker (DB):我最开始转向数据科学,是在读到一篇新闻时。那篇新闻报道称有一个Kaggle竞赛设置300万美元的巨额奖金。当时我使用经济学中的传统技术做了一次提交,结果我排在了排行榜的倒数10%。我至今仍记得自己在看到那一结果时的感觉。我本以为自己在建模方面很擅长,所以很难接受自己排名垫底。但这个结果激励了我进一步学习和进步。
第二年,每天夜里,我都在努力优化自己的结果,或者是学习更多关于机器学习的知识。我的排名每次都能前进几名,在这项赛事中排在了1353个队伍中的第二名。最终,我完成了自己成为数据科学家的转变。
AV:您曾在世界上最好的公司之一——谷歌任职数据科学岗位,在这样的大公司担任数据科学家角色需要运用到什么技能或知识呢?
DB:根据具体的角色,在谷歌的每个人都会有所不同。加入谷歌时,我已经做了差不多有七八年的数据科学家。就我的性格来说,我总会担心自己落后,所以一直在不断学习。也因此,我在数据科学领域的知识面比较广。从应聘面试角度来看,谷歌喜欢问算法问题。《程序员面试金典(Cracking the Coding Interview)》是很多大型科技公司的最佳面试准备材料。
AV:除Kaggle外,您创办了Decision.ai,一个可以帮助数据科学家把AI模型转化成商业业绩的工具。您能解释说明下是如何把AI模型转化成商业模型的吗?
DB:对于分析师和数据科学家来说,Decision AI是一个从他们所构建的机器学习模型中获得更多商业价值的工具。监督学习模型能够做出预测,但是对于如何去使用这些预测结果有些僵化。
我来给你举一个例子:一个数据科学家构建了一个预测诈骗金融交易的模型。对于一笔交易,模型表示有5%的可能是欺诈。现在问题来了,你对此做怎样的反应呢?有些人会用一个简单的阈值,比如说驳回所有超过10%可能性是欺诈的交易。你将预测结果转化成真实世界行为的方式被称为‘决策函数’。现在问题就变成了‘什么是最佳的决策函数’。对于每一次交易,你可能要考虑客户的价值,因为这代表了如果拒绝这笔交易会带来怎样的后果。
你要与接受欺诈交易的成本做比较,而这个成本可能取决于交易金额。所以这笔交易所有的信息都需要在决策函数中有所考虑。我们不可能自动发现准确的决策函数。但是我们可以提供一个工具,让数据科学家们严格优化做决策的过程。这种情况并非金融诈骗所独有。我们可以将其运用到供应链管理、预测性维护、产品定价、医疗卫生等其他一些领域。在很多实际案例中,人们都会惊讶于他们能在做决策方面变得更好。
在很多案例中,他们最开始认为这不是数据科学家该做的工作,应该由其他人来做。但当使用了我们的工具后,他们意识到通过严格的决策优化可以增加多少利润,即使免不了要与其他利益相关者合作。
贝克尔从零开始成为Kaggle大师的旅程
AV:你现在是Kaggle Notebooks大师,目前排名第二,首先为此向你致敬,这真的是太了不起了!有一个很多人都想问你的问题:‘你对于创造一个专业级的Notebook,会使用什么框架和策略?有一份清单吗?’
DB:我并没有列一份清单。我的很多Notebook都是在Kaggle Learn课程上精选的,这也是能够吸引大家的一大原因。
一般情况下,我会把Notebook分为两类:第一类Notebook是关于教育的,这种都涉及某个特定的技术。举例说,你可以做一个关于如何使用Seaborn进行数据可视化的Notebook。在这里面,我不会加入太多关于pandas或者scikit-learn的东西,因为这些会分散注意力。最理想的情况下,这篇Notebook可以解释你自己对于seaborn的心智模型,而不只是列一堆示例。
这样的话,在读完你的Notebook后我就能知道自己如何去做一些事情。第二类Notebook是受好奇心驱使的。这些可能获得较少的点赞,但我个人还是很喜欢。比如说,我可能会好奇森林大火随着时间推移的趋势是怎样的。我找到一个数据集,接着绘制了几副图表,开始尝试去回答这一问题。通常,在第一个图表中,我会提出新问题,然后在用几副图表来回答它们。
AV:这真的是太棒了。请问您在最初开启Kaggle生涯时遇到的挑战是什么,又是怎样克服的呢?
DB:最开始,我遇到的挑战就是自己还不够出色。我没想过自己能够进入前1%,但是我很享受进步的过程。这让我每天都坚持努力。如果我总是期待自己进入前1%,我可能在完成目标前就放弃了。这实在是一个在我完成前就会考虑放弃的目标。Kaggle现在有很多顶级选手,我在10年前就开始参与。对于大多数来说,我不认为这是迈向专业道路的绝佳途径,对我来说,找到一个可以从中学到东西的社区更有希望。
AV:您现在有超过180篇Notebook被数据科学初学者广泛引用。您是否考虑过专注于Notebook呢?还有您选择Notebook的主题标准是什么?
DB:我为Kaggle Learn上的免费课程编写了一些Notebook,很多我的Notebook都是来自于那里。目前我没有继续做这块,我所做的Notebook基本上都是受好奇心驱使,对真实世界某个问题的好奇。
AV:180+是一个不小的数字,您有哪5篇是自己最想推荐给我们社区的呢?
DB:我创办了一个可解释性机器学习课程,地址是 https://www.kaggle.com/learn/machine-learning-explainability。这些无疑都是我最喜欢的Notebook。
AV:考虑到您见证了Kaggle从最初到现在的成长,您能告诉我们在这一旅程中有没有一两个里程碑让你觉得很关键?
DB:我在遗传健康比赛中最终拿到了第二名的成绩,毫无疑问那是我个人最大的里程碑。我还首次利用深度学习技巧完成了比赛。这是在Keras,PyTorch或者TensorFlow这样的工具出现之前。当时我用了一个名为PyLearn2的库。在参加那次比赛时,我还为PyLearn2的开源做了一些贡献。
对数据科学初学者的建议
AV:作为数据科学和机器学习的行业领导者,您能给予初学者们一些让他们在这个行业立足的经验吗?
DB:我认为先去学习大量的理论然后再去动手实践是错误的。我看到有些人花了几年的时间成为数据科学家,结果他们对实际工作中如何运用这些理论却不太了解。相反,我更喜欢先学一些最基础的,能够用来参加一个像Kaggle竞赛这样的项目。然后等你获得足够的经验时,再去学习更多的理论,以便你能理解这些理论在哪里被运用。
还有,你需要学习如何使用Git,如何和其他人合作。最后,要学会很好地使用Pandas。大多数数据科学家花费在处理和清洗数据上的时间要比使用高级算法的时间多10倍。或许深度学习很有意思,但是Pandas才是更实用的。我认识很多想雇数据科学家的人,他们都抱怨熟练使用Pandas的数据科学家怎么如此短缺。
AV:Kaggle对于成为成功的数据科学家来说经常是敲门砖。您能够给予初学者一些建议让他们在这一平台上产生影响力吗?
DB:有些人参与Kaggle为了拿到一定的排名来帮助他们找到工作。这样的方式是错误的。排名并不会帮助你找到工作,除非你赢下了一项竞赛或者接近赢下竞赛,可99.9%的参赛者无法完成这一目标。幸运的是,Kaggle是一个对于学习很有帮助的地方。我非常看重从其他人身上学到东西。
与比赛中的人一同合作,或者分享你的Notebook来获得其他人的反馈或建议。找到你觉得有趣的数据集,创造你自己的项目来分享。Kaggle可能是通过实践来学习的最佳地点。如果你觉得自己还没做好上述准备,那么就从Kaggle Learn开始吧。
AV:经常见到有人参加黑客马拉松甚至取得理想的结果,但当把结果转化成商业或工业成果时,总是会遇到麻烦。基于您的经验,你会给出他们怎样的建议来跨越这两者之间鸿沟?
DB:这很难,但这确实是一个很重要的问题。在解决商业问题时,有很多是你在黑客马拉松或者业余爱好项目中是不需要面对的。如果你能做到,找一个数据科学或数据分析的工作会对你发现这些问题很有帮助。我觉得这应该是你的首要目标。
除了这一点以外,对于每一个项目,你都需要花一点时间来明白今天要做出这些决定的方式,以及你可以在哪些方面提供帮助。如果这个决定是人为的,那你可能要开始绘制一些图表来让他们觉得有所帮助。然后看一下你是否可以发送这些图表,然后和他们开启一段对话。这个过程可能不如建立机器学习模型有趣。但是你要知道,没有人会因为你发送给他们一个模型而启动一个会谈。所以我都是尽可能地涉及一个真实的决策过程。现在这些依旧很难。
AV:您是那种每个人都想成为的人。您能列举出五位激励您前进的数据科学专家吗?
DB:我期待强化学习在未来能够起到深远的影响(即便现在还没达到),所以我特别喜欢阅读Sergey Levine的研究。这些内容有点更偏重于研究,但BAIR blog是我最喜欢的内容之一。我非常尊重Thomas Wiecki以及其他让贝叶斯相关方法的应用变得更加广泛的人。
我和Tim Salimans在Kaggle竞赛中有过合作,他非常的聪明。我们没有经常联系,但在我读到他的研究时还是很兴奋。Susan Athey以一种我非常欣赏的方式将经济学和机器学习结合起来。Andrew Gelman在对数据集的使用上有独到的见解,他称自己为统计学家,但是我认为区分统计学和数据科学不是很重要。
结语
这是一篇相对严肃且鼓舞人心的采访。我们希望你能从采访里所谈论的内容中有所吸收,帮助你在数据科学旅程中向前迈进。