AI 科技评论按:本文为雷锋字幕组编译的技术博客,原标题 16 Useful Advice for Aspiring Data Scientists,作者为 James Le。
翻译 | 杨丽 noodleslee Ray Eldath 整理 | 凡江
最近,我在读 Sebastian Gutierrez’s 「Data Scientists at Work」这本书,他采访 16 个不同行业的 16 位数据科学家了解他们如何从理论思考问题和如何解决实际问题,数据是怎样发挥作用,并且是如此成功。
16 位受访者在如何理解和从大量公共和私人企业类型的公司提取数据价值都处在前列位置,公司类型横跨刚刚起步的初创公司,到主要的研究机构和人道主义非盈利组织,包含大量行业:广告,电子商务,电子邮件营销,企业云计算,时尚业,工业互联网,互联网电视和娱乐,音乐,非营利组织,神经生物学,报纸和媒体,专业的社交网络,零售业,智能销售和风险投资。
尤其是,Sebastia 提出了开放式的问题,以便每位受访者的个性和自发的思考过程能够清楚和准确的分享。书中涉及的从业者分享数据科学对他们的意义,及他们怎么理解它的,他们的建议关于怎样加入这个领域,和他们在领域内获得数据科学家必须深刻理解才能成功的经验的智慧。
在这一篇文章,我想去分享这些数据科学家如下问题的最佳答案:
你对开始学习数据科学的人有什么建议?
/1 Chirs Wiggins
纽约时报首席数据科学家,哥伦比亚应用数学专业副教授
创造力和有心。你必须真正喜欢一些事你才原意长时间的思考它。当然,某种程度地质疑。因此这就是我喜欢博士生的一个原因-五年时间足够培养探索能力,然后你能意识到你用某些方法做某件事情的是有问题的。反复经历「冰火两重天」的感觉,犯一系列的错误并且修复它们是很棒的事情。我想博士生经历的这个过程对于培养对看似正确的事情仍然抱有怀疑是非常有帮助的,特别是研究领域。我认为这是有帮助的,你可能快速地且轻易地走上错误的路径,仅仅是因为第一个这条路上的相遇者看起来是言之凿凿的。
尽管这是一个令人生厌的答案,事实是你必须具备技术深度。数据科学不仅仅包括一个领域,因此目前还没有认证。机器学习方面,获得维基百科水平理解很容易。为了真正做到这一点,你需要了解针对现在的工作,什么才是合适的工具,而且你需要深刻理解每种工具的局限性。获得上述的经验是没用捷径的。你肯定会犯很多错误。你可能会强行把分类问题塞进聚类问题,或者是把聚类问题转换假设检验问题。
一旦自己尝试一些方法,对自己的方法无比自信,但最后你意识到自己完全不对,经历过很多次上述的过程-你发现这需要经验的积累,但不幸的是并没有捷径。你仅需要不断地实践,不断犯错,这是我喜欢在这个领域有若干年工作经验人的另一个原因。某些领域里要成为一名专家需要很长时间。犯错误会持续很多年的时间。几个世纪以来都是这样。著名物理学家Niels Bohr(尼尔斯.玻尔)有句名言是这样说的,他断定成为领域内专家的方式就是犯过这个领域的每一个可能的错误。
/2 Caitlin Smallwood
Netfilx 的科学和算法部门的副总裁
我想说做任何事情之前,硬着头皮了解数据的基础素质,尽管这不迷人也不有趣。换句话说,要努力理解是怎样捕捉数据,准确搞懂数据是怎样定义,并且搞懂什么时候会造成数据缺失。如果数据缺失,这是不是意谓有些东西发生变化?数据仅仅是在这种特定情况下缺失吗?这些细小的,微妙数据陷阱真的会影响你。他们真的会。
你可以用现存的最复杂算法,但它是古老的,垃圾的东西。你不能对原始数据视而不见,不管你进入到建模的步骤有多兴奋。你需要对细节一丝不苟,在模型研发之前,你要检查基础数据的每一个细节。
随着时间的推移,我所学到的另一件事情在一个系统环境中,混合算法总是比单一算法的表现要好,因为不同技术探索科研数据模式不同方面,尤其针对是复杂的大数据集。因尽管你可以单一的特殊的算法,通过迭代达到更好的效果,我几乎总是注意到:混合算法组合往往比单一算法的表现更好。
/3 Yann LeCun
Facebook人工智能研究总监,纽约大学数据科学/计算机科学/神经科学教授
我经常被问到这个问题,往往我给相同的建议。我的建议是:如果你是本科生,学习一门尽可能多修数学和物理课程的专业。不幸的是,并且必须是有用的课程。我接下来要说的听起来是自相矛盾的,但是攻读工程学或物理学专业可能比数学、计算机科学或者是经济学专业更合适。当然,你需要学习编程,因此你需要学习大量的计算机科学课程去学习编程机制。随后,完成数据科学的毕业项目。学习本科阶段的机器学习,人工智能或者是计算机视觉课相关技术,因为你需要初步探索这些技术。接下来,尽可能学习接触到的数学和物理课程。尤其是会持续应用的数学课程:优化,因为你是为将来遇到的挑战做着准备。
数据科学或 AI 领域有大量不同类型的工作,做什么样的准备取决于你想到达什么样的高度。人们应该思考什么是他们真正想做的,然后再学习相关课程。目前热门话题是深度学习,意谓着要用神经网络学习和了解的经典问题,学习优化,线性代数和相似的课程。这会帮你学习每天都会遇到的基础的数据知识和基础概念。
/4 Erin Shellman
Zymergen 的数据科学主管,Nordstrom 数据实验室 和 AWS S3 的前数据科学家
对于一直坚持要去学习的人,我必须说科学(Science)、技术(Technology)、工程(Engineering)及数学(Mathematics)领域是不假思索就能想到的主意,特别是技术(Technology)、工程(Engineering)及数学(Mathematics)学科。学习上述课程将会给你提供检验和了解世界的工具。那就是我怎样看待数学,统计学和机器学习。对于数学本身,我不是特别感兴趣,我感兴趣的是如何应用数学来描绘事物。毕竟有现成的工具包,如果你对数学和统计不是很热衷,学习这两个学科并且思考如何在你热衷的事情应用它们也是非常值得的。
对于像我一样立志转型的人,我会说它会很难。意识到改变行业是很困难的和你需要非常努力。改变是很难的并不仅限于数据科学领域--这就是生活。和数据科学领域没有任何联系是更加艰难的,但是你可以通过与乐于助人的人士见面或喝咖啡建立连接。我生活中首要准则就是‘跟随’。如果你和具备你关注的素质的人谈话,那就是在不断进步。
数据科学家的帖子是很吓人的,大多数的帖子读起来像是数据科学的词汇表。事实是技术改变非常快,以至于没有人具备一切并且把他们写到帖子中的经验。当你阅读的时候,它让人喘不过气来,并且你也许能感觉到:这不是我要找的。我没有任何技能并且我没有什么可贡献的。我将鼓励你们反对这种思维方式,只要你一直改变并且学习新的东西,你就是很不错的。
最重要的是,公司需要的是可以严格定义问题和设计解决方案的人。他们也需要善于学习的人。我认为这是核心技能。
/5 Daniel Tunkelang
Twiggle 首席搜索传播者,领英的前搜索质量负责人
针对来自数学和物理背景的同学,我则建议他们在学习软件技能方面投入-特别是 Hadoop 和 R,它们是目前最广泛使用的工具。软件工程背景的同学应该参与机器学习的相关课程,参与真实数据的工程项目,这些都有大量的免费资源。正如很多前人所说,成为数据科学家的最好方式就是从事数据科学的相关工作。数据就在那里,且科学是不难以学习的,特别是数学,科学或工程背景的同学。
阅读「The Unreasonable Effectiveness of Data」,一篇来自来自谷歌研究人员 : Alon Halevy, Peter Norvig 和 Fernando Pereir 的经典论文。论文总结到:大数据比算法更有效。全文是值得阅读的,文章提供最近使用网络整合规模的数据从而提高语音识别和机器翻译的成功的调查。然后是优秀的测度方法,听听 Monica Rogati 提到较高质量的数据大数据有效。理解和内在化这两个观点,你就会在成为数据科学家的路上更加顺畅。
/6 John Foreman
产品管理副总裁,MailChimp 前首席数据科学家
我发现找到和雇佣到合适的伙伴是困难的。这是一件特别难做的事情,因为当我们谈论大学系统时,不论是在校大学生还是毕业的大学生,你仅专注在一件事情-你的专业。但是数据科学家有点像文艺复兴从事人员,因为数据科学是内在的,多学科交叉的。
这就导致:数据科学家比计算机编程人员懂得更多的统计,且比统计学家善于编程的角色这样的大笑话。这个笑话说明什么?它说明数据科学家是两种知识都知道一点的人。但我要强调的是,他要比这两个事情知道的更多。他们同样知道怎样进行沟通。他们同样需要知道不仅仅是基础统计知识,他们需要了解概率论,离散数学,微积分等。可视化手段也不会起反作用。他们同样需要了解怎样摆弄数据,使用数据库,甚至是一点 OR。他们需要很多方面的知识。所以找到这样的人变得很难,因为他们需要接触过很多学科,且他们能够机智地表达他们的经验。这对任何申请人都是很高的要求。
雇人需要花费很长时间,这也是为什么我认为人们为什么会一直说现在聪明绝顶的天才数据科学家还未出世。我认为某种程度上来说这是真的。我认为一些现存的程序会开始发挥作用。但是尽管如此,这些程序的出现,但对 Wimbledon 来说:在数据科学领域如何应用多学科的经验表达和沟通是特别的一棵。我希望立志成为一位数据科学家的路上,程序员更注意工作中沟通和合作的能力。
/7 Roger Ehrenberg
IA风投合伙人
我认为充斥最多机会的领域同样伴随最多的挑战。在PII 和隐私方面,健康医疗数据显而易见存在最大的问题。不仅如此,还有僵硬的官僚体制,固化的基础设施和数据仓库,让需要很多数据集来解决苦难多问题变得困难。它将会发生的,我认为大量的,我们在这里谈到的科学技术将会直接作用于提高我们的健康管理,价格更加亲民,分配更加合理。我将之视为一代人的机会。
早些时候另一个巨大的领域是风险管理-不论是金融,交易或保险。当你谈到把这些新数据纳入到风险评估的时候,如果把新数据集纳入到风险评估时,这是一个很大的问题-特别是当把新技术应用于像保险,健康管理等存在隐私问题和官僚体制的数据受限的领域。同时,这些古老的僵化的公司刚刚开始开放,和刚刚开办如何在社区进行交互,来应用新技术。这是另一个让我难以置信的兴奋领域。
第三个让我热衷的领域是重塑手工业使之变得更加高效。一直存才让手工制造业回返回陆的趋势。一个强大的手工业部门是通向重新创造美国活跃的中产阶级的一道桥。我认为科技可以帮助加速这个惠益的趋势。
/8 Claudia Perlach
Dstillery 首席科学家
我认为本质上,学习数据科学好比学习滑雪。你必须实践。你可以仅仅听很多视频,观察其发生。在白天结束时,你必须拿上你糟糕的滑板冲下山头。你会在路上横冲直撞很多次,这没关系。这是学习的必经之路。实际上,我更偏好询问面试者他们不顺利的经历,而不是他们成功的工作经验,因为这告诉我他们在过程中学习到什么。
不论什么时候人们过来问我:「我应该做些什么?」我回答,「嗯,当然,可以参加机器学习技术的线上课程。」毫无疑问那是有帮助的。显而易见你需要会编程,至少是一点点。你不必成为一位 Java 编程人员,但不论怎样需要学些编程,我不在意以什么方式学习。
本质上,无论是在 DataKind 的 NGOS 项目贡献你的时间来帮助他们,或者是去 Kaggle 网站,参加他们的数据挖掘比赛-在实际中获得经验。特别是 Kaggle,阅读讨论区来看看其他参赛者关于问题的讨论,因为你可以学习到其他人的方法,什么方法对他们是有效的,什么是无效的。所以任何你在数据相关工作获得的经验,即使你没有从中获得报酬,都是超棒的事情。
记住,你必须从山上滑下来。没有其他办法。你不能学习除此之外的其它方法。所以贡献你的时间,在你思考的路上摸爬滚打,如果你能得到实习的机会就更完美啦。除此之外,有很多你可以开始的机会。所以开始吧!
/9 Jonathan Lenaghan
PlaceIQ 首席科学家和产品研发部门高级副总裁
首先且最重要的是:自我批评是非常重要。质疑你的假设,偏执地对待你的输出。这是容易的部分。谈到在数据科学领域成功的必备技能,优秀的的软件工程能力是必备的。所以尽管我们会雇佣几乎没有编程背景的人,我们做很多工作让他们迅速掌握工程中重要的实际能力,工程实践和很多灵活的编程训练。这对他们和我们都是有帮助的,现在这也在大多数一对一的数据科学场景中应用。
若你看看现今的开发运维,它们已有了像持续集成、持续构建、自动化测试和测试框架的玩意——所有的这些都能很好、很轻易地将开发运维映射到数据运维(一个我从 RedMonk 那偷来的词)。我认为这是一个非常强大的概念:持有测试所有数据的框架相当重要,这样如果你改动了代码,你可以返回并测试所有数据。拥有工程思维对在数据科学世界里高速进展至关重要。阅读 Code Complete 和 The Pragmatic Programmer 会让你比阅读机器学习书籍走得更远——尽管你也必须,当然,阅读机器学习书籍。
/10 Anna Smith
Spotify 高级数据工程师,Rent the Runway 前分析工程师
如果某人在数据科学领域只是刚刚起步,最重要的事情莫过于理解向人们提问是无伤大雅的,我同时认为谦逊也相当重要。你还要确保你没有被你正在做的事情束缚。你要总能做出改变并从头再来。我认为在刚开始时,报废代码会相当困难,但最重要的事就是去做些什么。
即使你在数据科学领域并无工作,你依然可以用电脑停机时间探索数据集并提出一些关于这些数据的问题。在我的私人时间里,我会玩玩 Reddit 的数据。我会问我自己:「我可以用我有或没有的工具探索 Reddit 的什么出什么结论呢?」这很棒,因为你一旦开始,你就能看到其他人如何处理相同的问题。只需用你的直觉开始阅读别人的文章,就像「我可以在我的方法里用到这种技术。」缓缓起步,缓缓进步。我曾尝试在起步时阅读很多文章,但我认为直到你已对代码和数据确实了解它如何工作、如何运转,阅读文章才是有帮助的。当人们把它搁在书里的时候,一切都很美好漂亮。但在现实生活中却并非如此。
另外,我认为尝试多种不同的事物也很重要。我以前也没有想过我会在这个位置。我也没法知道我五年后会在哪儿。但这或许正是我学习的方式:跨越不同的领域,尝试一切来理解什么最适合我。
/11 Andre Karpistsenko
Taxify 数据科学主管,PlanetOS 联合创始人兼研究主管
虽然这听起来有些泛泛,但我相信你应该相信自己并遵循你的热诚。我认为因媒体新闻和其中表露的期望而分心,选择了一个你并不想去的方向确实很容易。所以说到数据科学,你应该将它看作你事业的起点。拥有这个背景将对任何事情有益。拥有编写软件和与统计知识能力将会让你在你选择的任何领域中做出更明智的决定。例如,我们可以得知一位运动员的表现是如何通过数据提高的,比如有人因为优化和练习他们应该跳跃的角度成为跳远的金牌得主。这都应归功于体育中的数据驱动方法。
如果要我提出更具体的技术建议,那么这取决于接受建议的人的抱负。如果他想要创造新方法和工具,那么建议会非常不同。你需要坚持并在你的方向上继续进步,你终会成功。但若你的兴趣在很多情形下是多样且灵活的,那么你会需要一个含有不同方法的大工具箱。
我认为我得到的最好的建议是由一位斯坦福教授给出的,我不久前参加了他的课程。他建议我要有T形的竞争力但在核心竞争力旁要有个少许的第二竞争力,这样当你需要或想要时,你就有了生活的一条替代路线。另外,除了要有某一领域的垂直脉络之外,他建议我要有足够宽广的背景知识,这样你就能和很多不同的背景人在很多不同的情形下一起工作。因此,当你还在上大学时,建构T形竞争力附带有另一个背景的小竞争力可能是你最该做的事。
或许最重要的事是围在比你出色的人身边并向他们学习。这是最好的建议。如果你在上大学,那正是看看人的能力是如此多样的最好环境。如果你设法与最棒的人一起工作,那么你在任何事情上都会成功。
/12 Amy Heineike
PrimerAI 技术副总裁,Quid 数学系前主任
我认为也许他们需要从观察自己,搞清楚他们真正关心什么开始。他们想要做什么?如今,数据科学是一个有点热门的话题,因而我认为有很多人想着只要他们拥有「数据科学」的头衔,那么魔力、幸福和金钱就会流向他们。所以我真的建议搞清楚你真正关心的是数据科学的那块。这是你该问你自己的第一个问题。随后你应该搞明白如何精通这块。你还要开始考虑那些能够发挥你这方面兴趣的工作。
一个策略是深入到你需要知道的部分。我们的团队中有一些人是自然语言博士,还有一些人是物理学博士,他们会使用很多不同的分析方法。所以你可以深入一个领域然后找到那些你能使用相同思路解决的重要或相似的问题。这是一个方法。另一种方法是随便试些什么。现在有很多数据集。如若你现在工作并且尝试换工作,试着想一下在你当前的任务下这儿是否有些能用的数据,从而能巧妙的解决问题。或者在家里你也能获得开放的数据集。随便逛逛看看能发现些什么然后开始尝试玩玩。我认为这是个不错的开始。现在“数据科学”的旗号下有很多不同的角色,还有不少任务或许会让你想到数据科学但它们还没有头衔,因为人们并不必要使用它们。好好考虑你到底想要什么。
/13 Victor Hu
QBE Insurance数据科学主管,Next Big Sound前首席数据科学家
首要的肯定是要能讲好故事。在一天结束的时候,你要做的肯定是深入到一个系统、一个组织或一个产业如何工作的底层。但为了使它有用且能被人们所理解,你必须要讲个故事。
能够把你正在做的写下来,能够开口谈论你的工作是相当关键的。另外值得一提的是,少点担心你正在使用的算法。更多或更好的数据总能抵过一个更好的算法,所以若你能建立一种可得且可分析的大量优质,干净,有意义的数据的方法—那可真是再好不过了。
/14 Kira Radinsky
eBay 首席科学家兼数据科学主管,SalesPredict 前技术总监兼联合创始人
找到一个能对你感到兴奋的问题。对我来说,每次我要开始尝试些新东西,没有带着要解决的问题地学习真的很无聊。开始阅读材料,并尽快着手用它来解决你的问题。你会开始看清问题,这会将你引向其它学习材料,不论它们是书、论文,还是人。所以花点时间与问题和人呆在一块儿,你会感觉不错的。
要深入理解基础知识;要了解一些基本的数据结构和计算机科学;要了解你使用的工具的原理和它背后的数学知识,而不是仅仅会使用它们;要了解输入和输出在其中的实际情况,因为不这么干,你就不会知道什么时候去应用它。另外,这取决于你正在处理的问题。不同问题的要使用不同工具。你应要很好地知道每种工具适合做什么,从而知道(面对这个问题)你应使用怎样的工具和技术。
/15 Eric Jonas
UC Berkeley 电气工程和计算机科学博士后,Salesforce 前首席预测科学家
他们应该对概率论倒背如流。我现在正处于需要学习其它一切的阶段,随后我回头再看概率论,这很好,因为它提供的这种精妙、深刻、丰富的基础,可以投射出其它的一切。这儿有一本由 E.T. Jaynes 所著的书,叫 Probability Theory: The Logic of Science,是我们的圣经。我们确实在某种意义上获得了它。我喜欢概率生成方法的原因是你能有两个正交轴——建模轴和推理轴,这基本上转化为如何表述我的问题以及如何计算由根据已知数据假设的概率?从贝叶斯的角度看的好处是,你可以独立地沿着这些轴进行工程设计。当然,它们不是完全独立的,但它们近似独立足以保证你这么处理没有问题。
当我观察如今被视为机器学习的重要组成:深度学习或者基于 LASSO 算法的线性回归系统时,它们都沿着或这条或那条轴进行工程设计。它们都有点摇摇欲坠。作为一个工程师,使用这些基于 LASSO 算法的技术时,思考像“我稍稍改变这个参数,到底意味着什么?”的问题会很困难。作为一个模型,线性回归有着相当清晰的线性加权高斯模型架构。好吧,若我想让事情变得有些不同呢?瞬间正则化最小二乘之类的方法就全然崩溃。推理技术甚至不接受你想要做的事情。
/16 Jake Porwar
DataKind 创始人兼执行董事
我认为一个强健的统计学背景是个先决条件,因为你需要知道你正在干些什么,并理解你构建的模型的能力。另外,我的统计项目还教会了不少伦理道德,即我们在 DataKind 考虑颇多的东西。你要经常思索你的工作将会如何被应用。你可以把算法应用于任何人,你可以使用会被警察拦截盘查的数据训练出的模型应用于某人,但为何如此?这挺像构建任何新技术,你需要考虑风险和收益并仔细权衡,因为你要为你的创造负责。
不论你来自哪里,只要你理解用来下结论的工具,这是你能做的最棒的事。我们现在都是科学家,我不仅仅谈论产品设计。我们都在对我们生活的这个世界下结论。这就是统计学—收集数据来证明一个假设或对世界运行的方式建模。如果你只是盲目地相信模型输出的结果,那会是危险的,因为这是你对世界的解释,因而会像它一样,你的认识会是结果有缺陷的。
简而言之,学统计学,谨慎行事。
工作中的数据科学家展示了世界顶尖的数据科学家如何在纷繁缭乱的行业和应用中游刃有余地工作—每个人都应用自己的领域专业知识、统计学和计算机科学创造巨大的价值和影响力。
数据正以指数级暴增,那些能够理解数据并从中抽取价值的人会比此前任何时候都更需要。若您渴望成为下一代数据科学家,那么这些来自深思熟虑的从业者们的关于数据和模型的真知灼见和乐趣所在将会相当有用。