如何成为一名数据科学家?(二)
联合编译:Blake、高斐
编者注:作者Alec Smith是数据科学领域中资深HR,之所以写这篇文章是因为经常被问到一个问题:“如何才能获得一份数据科学家的职位?” 不仅这个问题经常被问引起了注意,另外问这个问题的人不同的背景也非常很令人感兴趣。作者曾经和以下这些职业的人有过类似对话:软件工程师、数据库开发者、数据架构师、保险精算师、数学家、学术界人士(不同领域)、生物学家、天文学家、理论物理学家―我还能接着往下数。通过和他们的这些谈话,作者发现在这之中有很大的误解存在,很多人都非常困惑――为了闯入这个领域的话,他们需要做些什么?
本文是如何成为一名数据学家的第二部分。
第二章:自我剖析
我们正在取得进步!成功地消化了第一章的内容之后,你现在要做好准备开始制定个人目标。但是,我们首先要回顾一下――不妨来杯咖啡,寻一隅安静之所,深思下面的问题:
1.你为什么想要成为一名数据科学家?
2.对哪一类型的数据科学感兴趣?
3.你已经具备了哪些天赋或相关技能?
为什么认真思考这些问题是重要的?
简而言之:数据科学是一个专业的研究领域,因而,除非你已经掌握了我们在第一章中提到的知识与技能,否则从事该领域的研究并不是一种轻松的选择。讲到这里,有一点对合理解决前两个问题尤为重要:你需要为从事数据科学领域的研究找到合理的理由,否则,当遇到困难时,很容易半途而废。
为了详细阐释上面的观点,我们来听听Dylan Hogg的见地。Dylan之前是一名软件工程师,现在是数据科学研究协会的领导者,数据科学研究会为运用机器学习(NLP)为雇主和相关候选人员建立联系搭建了一个平台。Dylan是如何从软件工程师成功地转型为数据科学家的(他仍然处于转型期),下面我们将讨论转型过程中应当具备的条件,他讲到:
“不论学历高低,经历丰富与否,有一些内在的东西尤为重要,那就是一个人的求知欲、决心和毅力。你会遇到很多困难:也许是算法方面出错,也许是遇到技术瓶颈。不论遇到什么样的困难,你都能够找到最优的方法来研究机器学习算法或软件工程,但是,倘若你的信心不够坚定,你将会放弃或无法克服遇到的困难。”
这下你会懂了:在学习过程中,你不仅仅会遇到困难;在工作生活中,你会接二连三地遇到难题,因而,你最好能够保证有合理的理由来激励自己,而不仅仅因为你觉得拥有“科学家”这一头衔有多酷。
但是,我们应当如何应对第三个问题?为什么拥有相关技能是重要的?对,一个人的起点会对选择最适合自己的数据科学类型及你应当从自己感兴趣的领域学到的知识产生影响?为了能够恰当地回答这个问题,有必要探寻通往数据科学领域的典型途径,我们应当首先从更为广阔的科学领域开始。
注:在许多定量学科中有许多人具备向数据科学转型的素质。在这里我就不一一列举了,但是,需要强调的重点是:如果你花费时间来真正理解每种类型数据科学之间存在的细微差异,不论你的知识背景如何,你都将会意识到自己所具备的相关技能的重要性。
其他科学学科
这不是通往数据科学领域最平凡的道路;我们接下来将要讨论统计学与计算机科学在数据科学研究中的重要性。但是,许多领域的科学家都具有娴熟的相关技能(特别是物理学领域),许多人在这一方面已经跳过了。
为了对此进行解释,请允许我介绍Will Hanninger,澳洲联邦银行数据科学家。之前,Will是欧洲核子研究中心的粒子物理学家,发现了希格斯玻色子,下面是他的语录:
“在物理学界,你能够自然而然地学习到所需要的数据科学领域的知识:编程、操作数据,获取原始数据并根据实用性对数据进行转换。你能够学习到统计学知识,重要的是:你将学到解决问题的能力。这些是作为一名数据科学家应当具备的基本技能。”
因此,技能组合具有高度可转换性,最重要的是获取解决问题的能力。工具与技术两者之间将会产生差异,例如,尽管机器学习是数据科学的同义词,但是,就更为宽泛的科学而言,这种同义关系是不常见的。在上述讨论中,我们一直谈及的是高智商人才,他们具有在短时间内学会使用工具与技术的能力。
下面我们以Sean Farrell的科研经历为例。Sean所学专业是天体物理学,之后进入澳大利亚商业数据科学研究领域,在研究过程,他就“为什么科学家在数据科学领域的损失反而是收获”这一题目写了一篇著名的博文。下面这段话尤为中肯:
“至今为止,尚未发现一种能够培养出一位数据科学家的正式训练方法。多数数据科学家都来自统计学或计算机科学领域。然而,尽管其他研究领域也能够培养上述列举的技能,但是不能涵盖所有的相关技能。统计学家非常擅长数学和统计,通常在编程这一块儿的技能稍显欠缺。计算机科学家非常擅长编程,但是,在理解统计学知识方面存在难度。两个领域的科学家都具备高水平的(尽管不同的)数据分析技能,但是不擅长创新性地解决问题,这种技能也是难以教会的。”
为了避免误解,请记得我们今天讨论的上下文语境。Sean的一席话并不意味着来自统计学或计算机科学领域的所有数据科学家都缺乏创新性解决问题的能力;他的观点是:相比统计学和计算机科学,广泛意义上的科学对解决问题的技能要求很高。
统计学
谈及到科学,应当仔细研究统计学。近来,许多统计学中的分支学科被重新冠以数据科学之名,因此,在某种程度上,我们好像正在谈论语义学知识。但是,正如我先前谈到的,我认为科学方法应当被当作一门科学:难道提出假设,设计可行的实验方案等研究步骤不能称得上“方法论”吗?倘若不是的话,也许像“统计学家”或“模型分析师”这样的头衔更为贴切。
暂且将这一问题放一放,倘若你是产业界的一名统计员或者刚刚从统计学专业毕业,那么你可能已经拥有成为一名数据科学家应当具备的知识与素养。相关知识素养的形成主要依靠以下因素:
首先,你在机器学习技能方面有何经验?正如我们在第一章提到的,统计建模与机器学习是相互关联的,但是,在应用到大型数据集中,后者具有更多的优势。当机器学习在产业界的应用越来越受到关注,实际上,机器学习已经成为各种类型的数据科学。
其次,我们再重复一遍,你对数据科学的哪一领域感兴趣?很明显,拥有统计学背景更加有利于你胜任A类型职位,因而,如果你将目标设定为B类型职位,未来还需要学习很多知识。
最后,你是否拥有处理数据的实际经验?正如我们在第一章中提到的,手动转换数据是商业数据科学的重要组成部分,而来自统计学领域的科学家手动转换数据的能力相对薄弱。
计算机科学/软件工程
如果你在人工智能或计算机科学领域的学习已经达到前沿水平,你极有可能已经能够胜任B类型的数据科学研究工作。但是,我们这里将要考虑一条数据科学家常走的科研道路:一名经验丰富的软件工程师想要转型进入数据科学领域。
一名软件工程师在机器学习领域可能富有经验,也可能经验甚少。但是,B类型数据科学要求在软件工程原则方面拥有扎实的基础,因而,不论怎样,拥有软件工程方面的学术背景将使你更适合该领域的研究。我曾经与澳洲联邦银行高级数据科学家(先前是一名软件工程师)就此问题交流过,以下是他的观点:
“大量数据科学工作其实都涉及到软件工程方面的知识,不仅仅包括设计健全的系统,而且包括简单地编写软件。你可以通过自动化完成众多任务,如果想要开展实验,你需要编写代码,如果你能够快速编码,将对实验进展产生重大影响。在攻读博士学位过程中,我每天要做成千上万项实验,如此浩大的工程是不可能通过人工完成的。拥有软件工程专业的学术背景意味着我能够快速完成设定的实验任务,然而,许多其他学术背景的学生需要费力处理基本的软件问题:他们真的非常擅长数学,但是要切实证明他们的观点还需要耗费大量时间。”
Dylan对于该问题补充道:
“如果你想要在生产环境中高效运用机器学习算法,良好的软件工程实践能力是非常宝贵的。这其中涉及到各种各样的软件工程知识――如可维护的代码,可供分享的代码库,以便于更多的人能够投入到数据科学领域的研究中,如在计算机中记录信息,排除生产过程中的故障,算法扩展,你应当认识到:一旦这些知识得到加强,你便能够通过这样的方式构建数据科学领域的知识框架。因此,如果你正在寻找一份能够有效利用所掌握的知识的工作,这将使得软件工程学术背景变得更为重要。”
我认为,上述两名数据科学家已经对如何成功实现转型这一问题做出了详细阐释,下面由我来总结如下:如果你是一名软件工程师,而且很喜欢数学,这将有助于你成为一名(B类型)数据科学家,前提是你已经做好准备在工作中掌握统计学/机器学习领域的知识。
数学
很容易得出这样一个结论: 数学知识为数据科学的所有研究领域打下坚实的基础 。因而,期望许多数学家从事数据科学家的研究工作是合理的。但是,相对来讲,少之又少的数学家成功转型成为数据科学家,这一现象引发了我浓厚的兴趣。
针对这一现象,有一种解释:与其他研究领域相比,数学(纯理论数学与应用数学)领域有相对较少的毕业生。但是,这种解释未免显得牵强。为了深究导致这种现象的原因,我曾经同Building IQ(一家新成立的运用先进的算法优化商业建筑中能源应用的公司)首席数据科学家Boris Sackovic交谈过。Boris拥有电气工程与应用数学双重学术背景,与当时许多数学家合作过,以下是他对该现象的见解:
“许多数学家为理论层面的问题,美丽的方程着迷,能够洞察众多数学原理所蕴含的深层意义,当时商业数据科学研究讲求实证性,涉及到的多种多样的知识与能力。一些数学家喜欢这种实证性,而一些则表现出讨厌的态度。真实的情况更为复杂,你不能兼顾所有的情况,因而得具备能够灵活处理所遇到难题的能力。而这是商业数据科学的重点所在:找到更快更好、切实可行的挣钱方案。对于那些具有浓厚数学背景或理论背景的科学家而言,要理解商业数据科学领域的运行模式可能存在不少难题。我曾经遇到过很多数学专业的博士,他们在由学术界向商业数据科学领域过度期间可是吃了不少苦头。”
需要注意的是,Boris在这里谈及的是纯理论数学家,当然,他也补充说,在自己的职业生涯中也曾与许多优秀的应用数学家打过交道。这样一来上面的讨论便讲得通了,因为纯理论数学家可能会吸引那些热爱理论的人,而不会吸引那些热爱解决实际问题的人。理论研究工作并未涉及到太多数据处理问题,但是,我们都知道数据对于数据科学领域的研究极为重要。
就工作类型匹配度问题,多数数学家可能更适合学习A类型数据科学领域的工具和理论。但是,也有一些学习计算机科学的(实质上,理论计算机科学属于数学的一个分支)数学家,因此,具备这种学术背景的数学家可能更适合B类型数据科学领域的工作。
从上述讨论结果中可以得出一条非常重要的观点,即要理解商业数据科学真正要求数据科学家具备哪些知识和技能。倘若你能够真正清楚地认识到面临的挑战,所需要做的便是为了自己的目标努力前行。但是,倘若相比实际应用,你更热衷于理论研究,你可能要三思而后行。
一块空白的画布
如果你刚刚起步,也许你还是一名学生,喜欢数学、科学与计算,喜欢数据科学,这对你来讲不失为一则好消息:你可以不受先前学术背景的限制,选择属于自己的科研道路。
现在有许多与数据科学相关的专业课程,涵盖计算机科学和数学/统计学等。当然你不可能一夜之间成为一名数据科学家,现阶段你需要树立不断学习的理念,利用各种数据科学领域的学习资源, 累积数据处理方面的实际经验,具备与人交流沟通的能力,积极迎接商业数据科学领域未来的挑战!
相关阅读
如何成为一名数据科学家?
PS : 本文由雷锋网(搜索“雷锋网”公众号关注)独家编译,未经许可拒绝转载!
via Alec Smith