原标题|Advice for A Future Data Scientist
翻 译|子裕落遇春又发、陈华Mark、邺调
审 校|唐里、鸢尾
1
前言
对于数据科学家或从事数据工作的人来说,有很多很好的建议。但是我注意到一些对我来说最重要的东西都丢失了。那么为什么不写一个我自己的清单呢?这适用于计划在未来成为数据科学家的人。我认为其中大部分的建议可能也适用于程序员和大数据人员。
现在是成为数据科学家(或机器学习工程师或研究员)的好时代。您可以使用的资源非常庞大(所有课程,图书馆,书籍,视频,教程......)
但同时,世界变化如此之快,导致您今天使用的库/模型明天可能已经过时。在这样的环境里工作,你不会感到无聊。并且另一件好事是自己会有很长时间去了解你的基本面并拥有正确的心态。
本文主要是关于数据科学家的正确思维方式。
以下是开始之前的建议列表:
保持好奇心
不要忘记数据科学中的“科学”
注意别人如何看待你
清楚自己在做的事
警惕炒作
讲一个故事
获得T形精通
帕雷托有效
学会学习
有一个成长的心态
反对你自己的想法
注意不断变化的世界
2
技术相关准备
让我们把它们弄清楚。有可能有数百篇好文章可以为您提供有关数据科学和机器学习技术方面的建议(可能比现在告诉您的更好)。我将在文章末尾附上一些链接,你肯定可以谷歌到更多相关的文章。
但无论如何,这里有一个简短的总结:
1.我应该学习哪些技术?
- python生态系统目前是最好的IMO。知道如何使用像scikit-learn,pandas,numpy ,matplotlib,plotly,seaborn 这样的几个可视化库将有所帮助。
- 至少知道一个可以构建深度学习模型的框架,Tensorflow / keras,pytorch选一个。
2.我应该知道统计数据吗?
- 首先,不,机器学习不只是美化统计。
- 嗯,是的,因为你应该每天使用统计概念,
- 不,因为你不必知道统计学家所知道的一切,
- 是的,因为它使你的基础设施更强大。
- 我真正建议的是学习统计学习
- 确保你知道你的一般统计学术语,概率,分布 和假设检验。
3.我应该知道多少数学?
- 每个数据科学家或ML工程师都应该熟悉一些概念,如微积分,线性代数,三角学,系列,总和......
- 这实际上取决于你要做什么。有些人需要了解和使用某些方法,有些人需要研究和开发新方法。当你倾向于研究方面时,更多的数学知识将永远是有帮助的。
4.编程重要吗?
- 是的,非常重要。但是,重要性将取决于您的工作以及是否部署生产解决方案。
- 无论哪种方式都可以学习语言的基础知识,面向对象的编程,如何使用版本控制,如何测试代码以及构建简单的Web服务器。
3
面我应该怎么开始?
这又取决于你目前的程度和你想达到的程度,没有唯一又正确的道路可以选,但推动自己前进是很好的做法。
anyway,这里有一些提示:
学习编程
巩固基础
它可以是学校,在线课程,书籍甚至youtube的课程。有很多好资源。在进入最先进和闪亮的东西之前花些时间学习基础知识。对于在线课程,我推荐:fast.ai,Coursera,Udacity纳米度 。
动手实践
查找并关注一些教程,检查一些代码,尝试一场kaggle比赛,根据自己的想法尝试一个模型。学习的过程比读文章更有价值。
4
给未来的数据科学家实际的建议
最后,这里有一些没什么技术含量但是很有用的建议。我认为这些建议可以帮助到你,而且不需要考虑美术和热门技术方面。
1.保持好奇心
如果你不认为自己是个好奇宝宝的话, 数据科学家这份工作可能不适合你。数据的世界并不总是充满奇观。
我觉得在这里可以拿数据挖掘做一个类比。你不得不通过开采所有的泥土和沙子来得到矿石。而且曾经有一个睿智的男人这样说:并不是只有发光的才是金子,这就像是在大海上冒险一样。你知道大海主要由什么组成吗?水,很多水。
照片来自 Diogo Sousa 发表在 Unsplash
好奇心能陪你熬过在海上漂泊的无聊。保持好奇心!
世界是如何运转的?
这些新的科学技术是怎样工作的?
手头的数据传达了什么信息?
世界发展的方向在哪?
把好奇心当作指南针,你将最终遇见预言中的奇观和宝藏。就像睿智的人说的下半句一样:并不是所有流浪的人都迷了路。
2.不要忘记数据科学的“科学”
每天都有许多闪亮的,新的奇妙的技术出现。所有的这些注意模型,GANs,特征金字塔,记忆网络,近期决策优化等。他们确实可以帮助人们想要去使用他们解决手头的问题。
但是数据科学的科学部分有时却不被重视。有可能,采用科学方法的原理能帮你知道更多。
尽你所能地质疑你作为一个科学项目的工作,并且要记住:假设检验和科学怀疑论。有时候,你自己的偏见是你的模型成功最大的危险。他们甚至可以输入你的数据或模型。
或许,现在是讲述John Snow故事的最好时候。我并没有在谈论一个谁都不认识的人,没有。我在谈论世界上第一个数据科学家John Snow。
那是在1854年,没有下水道系统,霍乱在伦敦肆虐。这是细菌理论出现之前的时代,人们认为疾病是由不良空气引起的。所以他们尝试去用好的气味对抗疾病(这显然没有用),人们都快死了。这个男人John Snow抛弃了他那个时代的理论,听取了他的数据,他在地图上标出了霍乱病例。
红色的点标记霍乱病例,蓝色的水龙头表示水源。
他注意到病例根本不是随机出现的,他做了霍乱和水源有关的假设,一旦把和霍乱病例有关的井关闭,霍乱就控制住了。
故事讲述了这么一个道理,如果你对人们要说的话持怀疑态度,你愿意看数据,你有一个可以检验的假设,你可能会挽救很多生命。
3. 注意别人对你的看法
知道别人对你的看法可能是一件很强大的事情。你可以决定如何接近他们或者从他们那里期望什么。
对于同事(不是数据科学家),你通常是个巫师。你可以做他们觉得奇怪的事。仅仅因为你能做到这些,他们可能会期待你的奇迹。所以对大多数人来说,你做什么以及你如何做是一个谜。
人力资源方面,你是独角兽。有传言说独角兽存在。他们肯定想找一个,但有时他们看到你时会失望。因为你其实不是一个魔兽。
对于顾客来说,你是一个被宠坏的孩子,拿着激光枪。他们认为你能做的大多数事情都是因为你有一把强大的激光枪。如果他们碰巧有一个,他们可以很容易地做那些事情。但是他们太忙了,无论如何都不敢尝试。你会听到“这只是机器学习。”“这只是统计。”“我最近读了一篇文章,他们甚至可以做……”
当然,这些刻板印象并不总是正确的,或者它们可能有点混淆。但底线是,你应该在头脑中与“你如何被感知的想法”沟通。你可能想避免误会,可能会打破其中的一些。
4.清楚自己在做的事
知道你在做什么。知道你使用的技术是如何工作的。例如,花点时间了解TensorFlow是如何做某些事情的,或者CNN是如何在图像数据上表现得更好的。花点时间了解您正在使用的域,去分析,去了解他们是怎么工作的。
有必要从概念上理解您正在处理的工作,但如果你恰好对事物有数学上的了解,这可以说是超能力了。
5.警惕炒作
我不是说所有这些深入学习的东西都是炒作。但是当你看历史人工智能和神经网络研究时,内心可能会有些波动,有些不切实际的期望是不可能实现的。尽管深度学习很神奇,但它们可能不是解决所有问题的方法。
6.讲个故事
我们当人为我们的技术取得的成就感到骄傲。这里有几件比解决困难问题更好的事。但是不幸的是现实生活中有非技术的部分。
在处理数据时,我们有误差函数来衡量我们做得有多好。并且我们尝试去优化他们。但有一件事误差函数可能无法衡量,那就是你的模型的有用性,或者它的成功程度。准确预测结果可能不仅会降低预测的准确性。
大量的准确性,错误度量和混乱矩阵将说服一些人,但不是所有你需要说服他们。你根本不会说他们的语言。
故事是所有人的通用语言。把结果放入框架中。提供情景,讲故事,这样他们就能理解你所做的。使用伟大的视觉效果来获得加分。你的工作不仅仅是和数据一起。不可避免的你将和其他人一起。
7.做到T型精通
了解多种多样的事物,因为你可能不知道自己将会遭遇什么种类的问题。解决方案通常是不同事物的组合。
至少精通其中一个领域,它能让你有解决一些其他人不能解决的问题的能力,这对你的事业有很大帮助。它还有一个被忽视的副作用,知道一些事情就证明你有能力做到这一点,如果有必要的话它将再次证明你可以做到。
8.帕雷托有效原则
建立模型就像是在网上购物一样,你总是可以通过多花一点钱来找到更好的。随着多花一点,多花一点...你就超出了预算。我的意思是,你总是可以多花一点时间来让你的模型更好。
帕累托原则表示对你所做的大多数事情,你花费的时间有80%可以提供20%的结果,而你所做的20%的重要工作提供了80%的结果。
尽管大多数时候20%的结果部分是无法避免的,但是要注意你正在使用哪个部分总是有帮助的。始终考虑如何在花费的时间内获得更好的结果。
9.学会学习
给我六个小时砍一棵树,我会用前四个小时来磨锋利我的斧头。-Abraham Lincoln
你专门用于解决问题的每一分钟都将用于解决该问题。同样,你花在学习最新技术细节上的时间也会让你获益匪浅。并且试图在没有适当背景的情况下理解它们就像试图用钝斧砍伐一棵树一样。
你花费的时间用来提升你的基础和理论知识,将不会用来直接给你问题的解决方案。但是你的基础越强,你学习新东西的能力就越强,就像是磨锋利的斧子一样。
如果你可以学到如何学习,它将提升你获得知识和技能的速度。这就像是让你的磨刀石变得更好。这就减少了每次你磨斧头的时间。所以你应该怎么做?让你自己了解各种主题(不仅是技术性的东西),多阅读并且打开眼界来获得新的想法。
10.有一个成长的心态
在这个领域,你将和一些杰出的人一起工作,他们中有些人是天才,对你来说很困难的事对他们来说只是一件小事。你将会遇到一些不得不将自己与他们进行比较的情况,有时候你会感觉自己很愚蠢。但是你知道吗?我们大多数人都会这样,这甚至还有个名字:冒名顶替综合征。
好消息是,你不需要成为最好的那个。你只需要去变好。你需要变得有用并且解决问题。每个人都尝试去这么做在他们自己的世界里。
因此,如前所述,你将面对问题并感到愚蠢。但是作为学术和工作成功预测因素的一个显着特征是具有成长思维。
失败后,一些人认为自己达到心智能力的极限并去尝试其他事情。他们不仅就是为它而生或是为它而建。其他有成长的心态的人,会知道这不仅仅是能力。他们会知道他们的思想是灵活的。给他们足够的时间和系统,他们将能够学习以前似乎太混乱的东西。阅读学术论文时,你很可能会有这种感觉。开始,你将无法理解。但最重要的是,如果你花更多的时间,它会变得更容易你只需要知道你的思想灵活并且可以成长。
11.质疑自己的想法
这是关于批判性思维和科学怀疑论。在你自己的想法,或者是模型被数据或者是事实挑战之前,这可以帮助你更容易也更快的来挑战他们。
基于这些我将给你一些和Petyr Baelish大人给Sansa相似的建议:不要旨在南面或是北面战斗。在任何地方都要战斗的想法总是要在你的脑海中。你军队里的每一个人都是你的朋友。每一系列世界都可可能同时发生。这样生活将不会有任何让你感到意外的事发生。任何事发生都将会是你之前预见过的一些事。
12.注意不断变化的世界
随着蒸汽机的发明和工业革命,人力不在具有价值。机器比人更加强大并且永远都不会累,我们唯一有价值的就是我们的思想。我们能够学习,思考计算并且解决问题。现在比之前更甚,我们的存在受到了挑战。
更有趣的是,作为机器学习从业者,我们参与其中。我有的时候会将它比做建造蒸汽机的工人。他们正在建造一些可以让他们自己价值减少的东西然而他们也在建造一种能让全体人类从中获利的东西。
我对认知科学很有兴趣并且曾学过一点心理学和神经科学,我认为我们离做出能够做所有人类可以做的事的机器并没有那么近。他们擅于找到我们难以找到的东西,但是他们很难做到一些我们能够轻易做到的事。(想想人类在电脑游戏方面表现的更好,然而AI战胜了大部人人造游戏。)
所以要能够很好的理解电脑擅长什么和人类擅长什么。不要把太多时间花在电脑可能更容易做到的事情上。(像是成为加数字的专家)。不要成为新时代的劳动力。
5
更多参考
Part 17 of The series where I interview my heroes.
Start your self-learning journey into the world of data right now.
11 Deep Learning Articles, Tutorials and Resources - Data Science Central
Curated list of Resources for Getting Started in Data Science and Deep Learning in 2019
领取专属 10元无门槛券
私享最新 技术干货