数据科学家与机器学习工程师

数据挖掘 机器学习
2021-10-06 19:48:35

“数据科学家”和“机器学习工程师”之间有什么区别(如果有的话)?

在过去一年左右的时间里,“机器学习工程师”开始大量出现在招聘信息中。这在旧金山尤其明显,可以说是“数据科学家”一词的起源地。在某一时刻,“数据科学家”超过了“统计学家”,我想知道现在“数据科学家”是否正在慢慢开始发生同样的事情。

职业建议在本网站上被列为题外话,但我认为我的问题高度相关,因为我在询问定义;鉴于我自己的职业轨迹或个人情况,我不会像其他离题问题那样询问建议。

这个问题很热门,因为有一天它可能会对本网站的许多用户产生重大影响。事实上,如果没有发生“统计学家”与“数据科学家”的演变,这个堆栈交换站点可能就不存在了。从这个意义上说,这是一个相当相关的、潜在的存在问题。

4个回答

好问题。实际上在这个问题上有很多困惑,主要是因为两者都是相当新的工作。但是如果我们专注于语义,工作的真正含义就会变得清晰。

事先最好将苹果与苹果进行比较,谈论一个主题,即数据。机器学习及其子类型(深度学习等)只是数据世界的一个方面,以及统计理论、数据采集(DAQ)、处理(可以是非机器学习驱动的)、结果解释等

因此,为了我的解释,我将把机器学习工程师的角色扩大到数据工程师的角色。

科学是关于实验、试验和失败、理论构建和现象学理解的。工程是关于科学已经知道的工作,完善它并带到“现实世界”。

考虑一个代理:核科学家和核工程师之间有什么区别?

核科学家是了解原子背后的科学、它们之间的相互作用的人,是编写从原子中获取能量的配方的人。

核工程师是负责获取科学家的配方并将其带到现实世界的人。因此,他对原子物理学的了解非常有限,但他也了解材料、建筑、经济学以及其他任何对建造合适的核电站有用的知识。

回到数据世界,这里有另一个例子:开发卷积神经网络 (Yann LeCun) 的人是数据科学家,部署模型来识别图片中人脸的人是机器学习工程师。负责整个过程的人,从数据采集到.JPG图像的注册,是一名数据工程师。

所以,基本上,今天 90% 的数据科学家实际上是数据工程师或机器学习工程师,而 90% 的数据科学家职位实际上需要工程师。一个简单的检查:在面试中,你会被问到你在生产中部署了多少机器学习模型,而不是你发表了多少关于新方法的论文。

相反,当您看到有关“机器学习工程师”的公告时,这意味着招聘人员很清楚其中的区别,他们确实需要能够将某些模型投入生产的人。

这些术语含糊不清,因为它们是新的

在“数据科学”领域求职的过程中,我认为这里发生了两件事。首先,工作是新的,各种术语没有固定的定义,所以术语与职位描述的匹配没有普遍共识。将此与“网络开发人员”或“后端开发人员”进行比较。这是两个相似的工作,有相当好的共识和不同的描述。

其次,很多发布职位和初次面试的人并不十分清楚他们在招聘什么。对于雇用招聘人员为他们寻找申请人的中小型公司来说尤其如此。正是这些中介在 CareerBuilder 或任何论坛上发布了职位描述。这并不是说他们中的许多人不了解他们的东西,他们中的许多人对他们所代表的公司和工作场所的要求非常了解。但是,如果没有明确定义的术语来描述不同的具体工作,结果往往是模糊的职称。

该领域分为三个一般部门

根据我的经验,数据科学的“工作空间”分为三个一般部门。

首先是使数据科学成为可能的数学和计算技术的发展。这包括对新机器学习方法的统计研究、这些方法的实施以及构建计算基础设施以在现实世界中使用这些方法。这是离客户最远的部门,也是最小的部门。大部分工作是由大公司(谷歌、Facebook 等)的学者或研究人员完成的。这适用于开发 Google 的 TensorFlow、IBM 的 SPSS 神经网络或任何下一个大型图形数据库。

第二个部门是使用底层工具来创建特定于应用程序的包,以执行需要完成的任何数据分析。人们被雇用使用 Python 或 R 或​​其他任何东西来在某些数据集上构建分析能力。根据我的经验,很多工作都涉及到“数据洗衣”,将任何形式的原始数据转化为可用的东西。这项工作的另一大块是数据库。弄清楚如何以可以在您需要的任何时间轴上访问数据的方式存储数据。这项工作与其说是使用工具,不如说是使用现有的数据库、统计数据和图形分析库来产生一些结果。

第三个部门是根据新组织的和可访问的数据进行分析。这是最面向客户的一面,具体取决于您的组织。您必须生成业务领导者可以用来做出决策的分析。这将是三个部门中技术最少的;在这一点上,许多工作是第二和第三部门的混合体,因为数据科学还处于起步阶段。但在未来,我强烈怀疑这两个工作之间的划分会更加清晰,人们赢得第二份工作需要技术、计算机科学或统计学基础教育,而第三份工作只需要通识教育。

一般来说,这三个人都可以将自己描述为“数据科学家”,但只有前两个可以合理地将自己描述为“机器学习工程师”。

结论

目前,您将不得不自己了解每项工作的内容。我目前的工作聘请我担任“分析师”,从事一些机器学习工作。但是当我们开始工作时,很明显公司的数据库是不够的,现在我大概 90% 的时间都花在了数据库上。我的机器学习领域现在只是通过似乎最合适的任何 scikit-learn 软件包快速运行东西,并将 csv 文件拍摄给第三部门的分析师,以便为客户制作 powerpoint 演示文稿。

该领域处于不断变化之中。许多组织正在尝试将数据科学决策添加到他们的流程中,但不清楚这意味着什么。这不是他们的错,很难预测未来,而且新技术的后果从来都不是很清楚。在该领域更加成熟之前,许多工作本身将与用于描述它们的术语一样模糊。

【纯属个人意见】

当“数据科学家”一词取代“统计学家”时,它更倾向于听起来很酷,而不是任何重大差异。同样,术语“深度学习”。它只是具有更多层的神经网络(这是另一种机器学习算法)。没有人可以解释什么时候可以将特定的神经网络称为 DL 而不是 ML,因为定义本身是模糊的。因此,“数据科学家”一词就是如此。

然而,随着公司将 DevOps 思维方式应用于数据科学,ML 工程师这一术语也在演变。

数据科学的 DevOps 思维方式是什么?

这是您构建模型、部署它并希望在生产中维护它的地方。这有助于避免软件团队中的很多摩擦。

[PS:DevOps 是一种做软件的方式,更像是一种哲学。因此,将其用作名称,再次使我感到困惑]。

因此,ML 工程师应该了解系统工程、ML 和统计数据的细微差别(显然)。

一个模糊的概括是数据工程师 + 数据科学家 = ML 工程师。

话虽如此,这个领域的名称日益模糊,“统计学家”一词变得越来越相关(具有讽刺意味!)。

它可能因公司而异,但数据科学家这一名称已经存在了一段时间,通常用于从数据中提取知识和见解

我见过数据科学家在做

  • 编写图像处理和图像识别算法,
  • 为业务用例设计和实施决策树,
  • 或者简单地设计和实现一些报告或编写用于数据转换的 ETL。

然而,数据科学机器学习的超级领域

它采用了来自数学、统计学、信息科学和计算机科学等广泛领域的许多领域的技术和理论,特别是来自机器学习、分类、聚类分析、不确定性量化、计算科学、数据挖掘、数据库、和可视化

机器学习工程师似乎是您的雇主已经缩小到

  • 方法,
  • 工具,
  • 和一个粗略的模型(交付什么)

使用机器学习从数据中提取知识或见解,您的工作将是设计和实施机器学习算法以提供相同的结果