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


66

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

在过去的一年左右的时间里,“机器学习工程师”已经开始出现在很多职位上。这在旧金山尤其明显,这可以说是“数据科学家”一词的起源。有一次,“数据科学家”超过了“统计学家”,我想知道“数据科学家”现在是否正在慢慢开始发生这种情况。

在此站点上,职业建议被列为题外话,但是由于我在询问定义,因此我认为我的问题非常相关。考虑到自己的职业发展轨迹或个人情况,我并不是在问建议,就像其他题外的问题一样。

这个问题是热门话题,因为有朝一日它可能对该网站的许多用户产生重大影响。实际上,如果没有发生“统计学家”与“数据科学家”的进化,那么这个堆叠交换站点可能不存在。从这个意义上讲,这是一个相当相关的,可能存在的问题。


2
Data scientist听起来像是一个名称,但对实际的工作却不太清楚,而machine learning engineer更具体。在第一种情况下,您的公司将为您提供目标,并且您需要确定您将使用哪种方法(机器学习,图像处理,神经网络,模糊逻辑等)。在第二种情况下,您的公司已经缩小到必须使用哪种方法。
gurvinder372 '18

相关:数据科学与运筹学。另外,科学家工程师是不同的。不幸的是,行业似乎对此并不关心。
离散蜥蜴

1
正如其他人指出的那样,ML工程师就是将ML模型投入生产的人。不应期望他深入了解实际的预测模型及其基础数学,但是需要他们掌握使这些模型可用的软件工具。期望数据科学家对统计/数学和ML / AI有深入的了解,并且通常是创建ML工程师使用的工具的人。因此,ML工程师基本上更接近于专业软件工程师,而DS则更接近于计算统计学家。
Digio

Answers:


55

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

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

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

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

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

核科学家是了解原子背后的科学,原子之间相互作用的人,是撰写允许从原子获取能量的方法的人。

核工程师是负责提取科学家配方并将其运用于现实世界的人。因此,关于原子物理学的知识非常有限,但他也了解材料,建筑物,经济学以及任何其他可用来建设适当的核电站的知识。

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

因此,基本上,当今90%的数据科学家实际上是数据工程师或机器学习工程师,而90%的职位由于数据科学家实际上需要工程师而开设。一个简单的检查:在面试中,您将被问到在生产中部署了多少个ML模型,而不是询问了多少篇有关新方法的论文。

取而代之的是,当您看到有关“机器学习工程师”的公告时,这意味着招聘人员会清楚地知道两者之间的区别,并且他们确实需要能够将某些模型投入生产的人员。


我从没想过核科学家与工程师的关系,我认为这是一个彻底的答案。根据我的经验,当我进行分析时,就像那件白色的实验室外套(jupyter和漂亮的图表),这很合适。当我在工程生产工作(etl和webapp容器)中“弄脏手”时,我不断发现奇怪的边缘情况,错误和不良的代码气味。
托尼

Yann LeCun不是计算机科学家吗?数据科学家会成为使用预制计算机算法和技术(由Yann LeCun等计算机科学家发明)进行数据科学分析的人吗?与其他科学家在工作中利用计算机的方式相同吗?因此,要获取数据,清理数据,将不同的分析技术(绘图,模式匹配,ML模型等)组合在一起,以便了解数据中的隐藏事实?
Didier A.

YLC确实是计算机科学家,但是他专门研究数据。CS已经成为一个广阔的领域,所有这些新定义(例如DS)都从中出现。因此,使用CS并不会成为真正的判别。就像几百年前的称呼“物理学家”一样:今天,这个词实际上并不能定义某人的工作,除非您更好地指定它(例如,粒子P,固态P等)。但是无论如何,科学家(CS,DS,任何-S)都不是限制自己使用他人发现的人。相反,他的工作是理解,并以此发现。
Vincenzo Lavorini

你能可否回答这个有关问题Data Engineer的职业指导。
stom

关于“现象学的理解”的科学如何?
ubadub

10

术语模糊不清,因为它们是新术语

在“数据科学”领域寻找工作的过程中,我认为这里发生了两件事。首先,职位是新的,并且没有各种术语的固定定义,因此在将术语与职位描述进行匹配时并没有达成共识。将此与“ Web开发人员”或“后端开发人员”进行比较。这是两个相似的工作,在合理的范围内达成了共识并做出了不同的描述。

其次,许多从事职位发布和初次面试的人并不十分了解他们的招聘目标。在雇用招聘者为他们寻找申请人的中小型公司的情况下尤其如此。正是这些中介在CareerBuilder或任何论坛上发布了职位描述。这并不是说他们中的许多人不了解自己的东西,其中许多人对他们所代表的公司和工作场所的要求非常了解。但是,如果没有定义明确的术语来描述不同的特定工作,通常会产生模糊的职位名称。

该领域共有三个部门

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

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

第二部分是使用基础工具来创建特定于应用程序的程序包,以执行需要进行的任何数据分析。人们被雇用使用Python或R或其他工具来对某些数据集进行分析。以我的经验,很多工作涉及“数据清洗”,将任何形式的原始数据转换成可用的东西。这项工作的另一个重要部分是数据库基础。弄清楚如何以可以在任何时间轴上访问数据的方式存储数据。这项工作不是花很多工具,而是使用现有的数据库,统计信息和图形分析库来产生一些结果。

第三部门正在根据新组织和可访问的数据进行分析。这是面向客户最多的一面,具体取决于您的组织。您必须提供企业领导者可以用来做出决策的分析。这将是三个部门中技术最少的一个。由于数据科学还处于起步阶段,因此许多工作在第二和第三部门之间是混合的。但是在将来,我强烈怀疑这两个工作之间的划分会更加整洁,赢得第二个工作的人需要基于技术,计算机科学或统计学的教育,而获得第三个工作的人仅需要通识教育。

通常,所有三个人都可以称自己为“数据科学家”,但只有前两个人可以合理地称自己为“机器学习工程师”。

结论

就目前而言,您将不得不找出自己的工作内容。我目前的工作是聘请我担任“分析员”,从事一些机器学习工作。但是当我们开始工作时,很明显该公司的数据库基础不足,现在大概90%的时间都花在了数据库上。我的机器学习知识现在可以通过似乎最合适的scikit-learn软件包快速运行,然后将CSV文件拍摄给三级分析师以为客户做PowerPoint演示。

磁场在变化。许多组织都在尝试将数据科学决策添加到他们的流程中,但并不清楚其含义。这不是他们的错,很难预测未来,而且新技术的后果从来都不是很清楚。在此领域建立之前,许多工作本身将与描述这些工作的术语一样模糊。


9

[完全个人意见]

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

但是,随着公司在数据科学中采用DevOps思维方式,“机器语言工程师”一词也随之发展。

DevOps对数据科学的看法是什么?

在这里,您可以构建模型,进行部署并可以在生产中进行维护。这有助于避免软件团队中的许多摩擦。

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

因此,机器学习工程师应该了解系统工程,机器学习和统计信息的细微差别。

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

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


2
机器学习不仅仅是神经网络(仅作为示例,考虑各种基于树的分类器),所以不要看到“深度学习仅仅是具有两层以上的机器学习”。
斯蒂芬·科拉萨

@StephanKolassa是的。同意。不应该将其概括太多:)感谢您指出。
Dawny33

1
(+1),但我不认为“统计学家”变得更加相关是具有讽刺意味的,只是...预期的过渡?如今,“运营研究人员”在哪里?;)
usεr11852'18

7

各个公司的名称可能有所不同,但是数据科学家这个名称已经存在了一段时间,通常用于从数据中提取知识和见解

我已经看到数据科学家在做

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

数据科学但是,是一个超域的机器学习

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

机器学习工程师似乎是您的雇主的一个指定名称,

  • 方法
  • 工具,
  • 和(交付内容的)粗略模型

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


5

机器学习工程师和以工程学为主的数据科学家是相同的,但并非所有数据科学家都以工程学为中心。大约5年前,几乎所有数据科学家都集中在工程上,例如,他们必须编写生产代码。但是,现在有很多数据科学家的角色大部分是:扮演Jupyter笔记本,理解数据,制作漂亮的图形,向客户,经理,分析师解释……他们不做任何工程。我相信机器学习工程师一词的出现是为了强调这是一种工程学立场。


2

TL; DR:这取决于谁问。

这个问题的答案在很大程度上取决于询问者的期望,知识和经验。一个模糊的答案是一个类似的问题:

软件开发人员,软件工程师和计算机科学家之间有什么区别?

对于某些人,特别是学习或教授计算机科学与软件工程的人,这些领域之间存在巨大且明确的差异。但是对于普通的HR工人,技术招聘人员或经理来说,这些全都是“计算机人”。

我喜欢Vincent Granville的这句话,我的重点是:

在我职业生涯的较早时期(大约1990年),我从事图像遥感技术的研究,除其他工作外,它还用于识别卫星图像中的图案(或形状或特征,例如湖泊)并进行图像分割:当时,我的研究被标记为计算性的。统计数据,但是在我家大学隔壁的计算机科学系做同样事情的人们称他们的研究人工智能。今天,它被称为数据科学或人工智能,其子域是信号处理,计算机视觉或物联网。


1

机器学习更为具体,在该领域中,您需要掌握以下知识:

  • 功能与标签
  • 测试数据与培训数据
  • 特征归一化
  • 通用数据结构(数组的数组)
  • 功能选择

0

我不同意给出的任何答案。但是,我确实认为在几乎所有的答案中都掩盖了数据科学家的作用。这些答案中的大多数都说明了这样的效果:“好吧,工程师只是编写并部署模型……”。稍等片刻- 这两个步骤有很多工作要做

对数据科学家的核心定义是将科学方法应用于数据处理的人。因此,我一直在思考假设,设计测试,收集我的数据并执行那些测试,检查我的交叉验证结果,尝试新方法,转换我的数据等,这基本上就是“只是编写并部署模型”在专业环境中。

因此,对于您的回答,我认为“细节决定成败”是因为您不能仅仅掩盖其中的某些步骤/术语。另外,如果您正在寻找工作,则应格外小心,因为“数据工程师”和“数据科学家”的薪资范围可能会大不相同-您不希望成为数据工程师薪水方面的数据科学家!

我一直以数据科学家的身份出任我,我告诉公司我在预测模型上工作(不仅仅是分析模型),而且我不是Excel骑师-我用编程语言(R,Python等)编写。如果您能找到一个可以兼顾这两个职位的职位,那么您将成为一名数据科学家。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.