如何高效运作机器学习团队(机器学习入门第四篇)

本文是机器学习入门教程的第四篇,前三篇分别是:

1.机器学习能为你的业务做什么?有些事情你肯定猜不到
2.关于机器学习算法 你需要了解的东西
3.如何开发机器学习模型?

我们已经讨论了开发机器学习模型的整个过程,现在我们来谈谈谁来实现这个过程,以及团队是如何运作的。

一个欢乐的大家庭

一个“传统”的产品团队由设计师、工程师和产品经理组成,而数据分析师有时也会包含在其中,但大多数情况下是多个团队共享这个稀缺的资源。在数据科学成为公司DNA一部分的时候,数据科学家必须要成为产品团队的一个重要组成部分,而不是被视为一个单独的个体。开发具有业务影响力的模型需要设计师、项目经理、工程师与数据科学家一起通力协作。

模型开发中的角色和责任

我们以前讨论过机器学习的开发过程。在这里,我们将重点介绍团队的组成,以及在开发过程中不同人员角色的职责。

  • 构思阶段:在这个阶段,需要有对问题相关领域有深入研究的专家,他们知道哪些因素可能会影响选择或者结果。例如,如果你正在建立房屋估值模型,那么你需要一个真正的房地产专家,他们知道如何对房屋进行估价以及影响价格的因素。即使数据科学家碰巧在这个领域有一些经验,但是从其他组织或者团队的商业专家那引入新的想法来检查你自己的想法也不失为一个好的主意。
  • 数据准备:这通常由数据科学家主导,在工程师的帮助下收集数据、整合API等等。产品或业务人员必须重度参与进来,依靠现有的人际关系协助进行外部数据的采集。
  • 原型化与测试:这个主要是数据科学家的工作。产品或者商务人士必须非常紧密地伴随在一旁,查看结果并帮助确定结果是否具有商业意义或是否需要进一步的迭代。
  • 产品化:这需要数据科学与工程进行结合。支撑数据收集的任务在很大程度上依赖于数据需求和来源。如果使用外部数据,你可能需要通过构建刮板来收集数据,需要具备前端知识、调用各种AP​​I或从各种供应商和合作伙伴那里获取数据。另外,还需要对生产化数据和扩展数据进行清理和处理,这在很大程度上属于后端任务。工程师还要与数据科学家通力合作,确保模型的规模化,验证生产结果的质量是否符合要求。
  • 整体系统架构:要确保整体系统满足业务需求,需要有具备架构和扩展复杂分布式系统经验的工程师。系统的复杂程度取决于要完成的任务。

数据科学团队的组成

数据科学是一个相对较新的领域,它以一种新的方式将各种现有领域融合在一起。在大学里,直到现在还没有“数据科学”学位,所以人们倾向于将其看成是一个由各种相关学科和背景组成的领域。

数据科学的关键是统计学、计算机科学、经济学或计量经济学。

不同背景和技能的组合对于一个团队来说可能是非常重要的。团队中的每个人都会带来不同的东西。特别是在你处于一个新兴领域,并需要大量新思维的时候,结合不同的背景往往会给问题的解决带来多种不同的创新方案。

数据科学家对工程团队的依赖程度各不相同。模型工程师通常能够端到端地工作,在没有其他人帮助的情况下进行模型地原型设计和系统部署,而其他人则需要工程团队的更多帮助。根据工程团队的可用性和组成,你可能需要一个或多个独立的数据科学家。另一个需要考虑的,是问题所属的领域。例如,拥有计量经济学的背景对于选股应用程序比自主驾驶车辆更为重要。

一个有道理的数据科学组织结构

工程、产品和数据科学之间有着紧密的联系。从传统上来讲,人们倾向于将数据科学包含在工程中,然而,随着数据科学在组织中作用的不断变化,新的结构正在出现。我看过三个不错的结构,每一个都有自己的优缺点。

选项1. 将数据科学划归给工程部门

将数据科学划归给工程部门能够使学科之间保持完全一致,并且无需将数据科学和工程技能割裂开来。许多与数据科学家一起工作的工程师对这门学科都很好奇,期望能深入学习来充实自己的技能。我看到一些工程师们对机器学习就像对“填字游戏”一样的热衷,而其他一些人则选修了机器学习课程,希望有朝一日能成为一名数据科学家。团队之间的界限越小,就越能培养出具备端到端工作能力(包括构建模型并生成代码)的数据科学家和工程师。

这种组织结构还有助于简化整个系统,包括数据科学使用的用于原型设计的机器学习框架,以及工程团队支撑的产品化系统和架构。这还有助于确保机器学习的框架和架构能得到它们应有的重视。

选项2. 将数据科学划归给产品部门

由于产品需求是数据科学发展的外部驱动因素,因此将数据科学划归给产品部门可以保证原有目标和可交付成果之间的一致性。从本质上讲,产品负责人对所有数据科学项目和活动都有报告级别的可见性,这有助于让项目成员优先考虑数据科学,并确保数据科学推动业务的发展。这也有助于促进产品和数据科学之间的紧密合作,这是至关重要的。这个的先决条件是产品部门的人,他既要了解数据科学和产品是如何协同工作的,还要致力于产品开发和数据科学基础设施的开发。

选项3. 与产品和工程分离的数据科学

这有利于提高数据科学团队的知名度,使其对于整个组织的接触更加便捷。这种模式能让数据科学团队负责人更直接地了解高层战略决策,并通盘考虑所有业务利益相关者的意见和需求。

并不存在一个“正确的答案”,这一切都取决于组织、目标、团队和团队领导的力量。根据经验,联合组织结构通常能促进团队之间的一致性,因为在顶层只有一个决策者。考虑一下在组织中哪些领域更容易发生沟通和协作问题,并让这些团队向同一个主管汇报。

文章原标题《Roles, Skills and Org Structure for Machine Learning Product Teams》,作者:Yael Gavish,译者:夏天,审校:主题曲哥哥。

文章为简译,更为详细的你容,请查看原文

时间: 2024-11-15 10:31:46

如何高效运作机器学习团队(机器学习入门第四篇)的相关文章

ASP基础入门第四篇(脚本变量、函数、过程和条件语句)_应用技巧

       在上一篇小编向大家简要介绍了 ASP 脚本语言之一 VBScript 的一些基本常识,本期将继续给大家讲解 VBScript 的脚本编写方法,并通过展示 VBScript 在 ASP 程序编写过程中的一系列实例使大家对 VBScript 有更进一层的理解.   函数和过程一样都是命名了的代码块,但它们却有很大的区别,过程完成程序任务,函数则返回值.我们可以这样理解,过程象一个完整的句子,而函数则象一个单词.举个例子,当你想获取某个数的平方根,你只要将该数传给 VBScript 的

机器学习会产生哪些用户体验问题?(机器学习入门第五篇)

本文是机器学习入门教程的第五篇,前四篇分别是: 1.机器学习能为你的业务做什么?有些事情你肯定猜不到 2.关于机器学习算法 你需要了解的东西 3.如何开发机器学习模型? 4.机器学习团队中的角色.技能和组织结构技能详解 我们之前已经讨论过"如何使团队能够更加有效地运作"这个问题了.下面,我们来看看如何帮助用户从机器学习系统中获益吧. 机器学习模型和结果并不容易解释 许多机器学习算法都是黑匣子:输入大量的数据,然后获得一个以某种神秘方式工作的模型.这使得很难向用户解释机器学习的结果.在许

如何开发机器学习模型?(机器学习入门第三篇)

在之前的两篇文章里面,分别介绍了机器学习可以做哪些业务,以及学习机器学习所需要的了解的算法知识.本文将分享开发机器学习模型的全过程. 1.机器学习入门系列第一篇: 机器学习能为你的业务做什么?有些事情你肯定猜不到! 2.机器学习入门第二篇:关于机器学习算法 你需要了解的东西 你应该已经熟悉所有的技术概念了吧,现在,我们可以把某个想法变成一个可用于生产的实际模型了. 建模步骤一览 从较高的层次上来讲,创建一个优秀的机器学习模型跟创建其他任何产品是一样的:首先从构思开始,把要解决的问题和一些潜在的解

ASP基础入门第六篇(ASP内建对象Request)_应用技巧

在正式开始学习 ASP 的内建对象和组件之前,先让我们来认识一些基本概念,这将对各位今后的学习大有帮助.请看下表 : Active Server 随 Windows NT 交付的服务器方技术的集合.这些 技术为组件应用程序管理.数据库访问.事务和消息 提供一致的服务器方组件.脚本模型和一套集成的系 统服务. Active Server Pages (ASP) 在服务器上运行 ActiveX 脚本和 ActiveX 组件的服 务器方脚本环境.开发人员可以将脚本和组件结合在 一起创建基于 Web 的

ASP基础入门第六篇(ASP内建对象Request)

在正式开始学习 ASP 的内建对象和组件之前,先让我们来认识一些基本概念,这将对各位今后的学习大有帮助.请看下表 : Active Server 随 Windows NT 交付的服务器方技术的集合.这些 技术为组件应用程序管理.数据库访问.事务和消息 提供一致的服务器方组件.脚本模型和一套集成的系 统服务. Active Server Pages (ASP) 在服务器上运行 ActiveX 脚本和 ActiveX 组件的服 务器方脚本环境.开发人员可以将脚本和组件结合在 一起创建基于 Web 的

XSLT轻松入门第四章:XPath的语法

语法   4.4 功能函数(Functions) 在XPath里有很多功能函数可以帮助我们精确寻找需要的节点. count()功能作用:统计计数,返回符合条件的节点的个数.举例:<p><xsl:value-of select="count(PERSON[name=tom])"/></p>说明:代码的用途是显示PERSON元素中姓名属性值为tom有几个. number()功能作用:将属性的值中的文本转换为数值.举例:<p>The numbe

ASP基础入门第八篇(ASP内建对象Application和Session)

在上一篇中作者给大家详细介绍了 ASP 内建对象 Response 的使用方法,在这一篇中作者将继续给大家介绍另两个非常实用且重要的 ASP 的内建对象 Application 和 Session. 在 ASP 的内建对象中除了用于发送.接收和处理数据的对象外,还有一些非常实用的代表 Active Server 应用程序和单个用户信息的对象. 让我们先来看看 Application 对象.在同一虚拟目录及其子目录下的所有 .asp 文件构成了 ASP 应用程序.我们非但可以使用 Applicat

XSLT轻松入门第四章:XPath的语法_XML/RSS

4.XPath的语法 我们在前面已经提到过,XPath是用来帮助XSLT在XML源文档中查找定位信息的语言.在实际使用过程中,XPath和XSLT总是混在一起使用,在上面一章的语法例子中我们已经有使用到XPath的语法,只是没有明确点出.但W3C将它们分成两个标准,所以我们也将它们拆成两章来讲解. 4.XPath的语法 4.1 当前位置 4.2 寻址操作 4.3 运算符 4.4 功能函数 4.1 当前位置 当我们使用XSLT处理XML源文档是,我们用Context来表示当前正在被模板处理的节点位

ASP基础入门第七篇(ASP内建对象Response)_应用技巧

下面,我们开始学习 ASP 的另一个内建对象 Response. 与 Request 是获取客户端 HTTP 信息相反 ,Response 对象是用来控制发送给用户的信息,包括直接发送信息给浏览器.重定向浏览器到另一个 URL 或设置 cookie 的值. 语法:Response.collection|property|method 一.属性 1.Buffer Buffer 属性指示是否缓冲页输出.当缓冲页输出时,只有当前页的所有服务器脚本处理完毕或者调用了 Flush 或 End 方法后,服务