数据科学家应知道的数据科学项目的四个关键方面
作者|VK
编译|VK
来源|Analytics Vidhya
概述
-
数据科学家应知道的数据科学驱动产品的关键方面
-
机器学习算法是项目整体的一部分,我们需要考虑诸如可解释性,计算成本和准确性之间的权衡等问题
-
本文由一位在该领域具有十多年经验的数据科学负责人撰写
介绍
实用数据科学是一个多维领域。机器学习算法本质上是整个端对端数据科学驱动项目的一部分。我经常遇到一些年轻的数据科学爱好者,他们在刚开始的时候没有一个完整的计划。
在针对实际情况构建数据科学驱动产品的解决方案时,我们需要考虑多种实际情况,所以它不仅限于只考虑数据方面的事情!
在数据科学驱动的项目中,一些更关键的问题包括:
-
无缝的用户体验
-
计算成本与我们的机器学习模型的准确性之间的权衡
-
模型的解释性
因此,在本文中,我将根据自己的经验来讨论数据科学家如何考虑数据科学驱动的项目。找到数据驱动解决方案的道路并不是笔直的,解决方案也不是预先定义的。我们需要了解维护和部署我们的数据驱动解决方案的各个方面。
该文章着重于分享对成功实施数据科学项目所涉及的各个组件的见解。
目录
-
快速回顾一下本系列中的内容
-
数据科学是整体项目的一部分
-
与用户界面(UI)模块和整体用户体验(UX)的协同
-
计算成本与系统精度之间的权衡
-
模型可解释性
快速回顾一下本数据科学领导者系列中的内容
如果你还没有阅读它们,我就快速总结一下本系列的前两篇文章。
在第一篇文章中,为了成功开发和部署数据驱动产品,我们谈到了三个关键要素,这些要素是:
-
面向客户的团队
-
执行团队
-
数据科学团队
这些成员本质上是数据科学项目中的关键相关者。
在第二篇文章中,我们讨论了在定性业务需求和机器学习模型的定量输入之间连接起来的方法。特别是,我们讨论了如何定义数据驱动的产品的成功标准,以便能够以有形的定量方式度量进展。
第二篇文章还提供了一个框架,应该使用一致的人工标签来提供尽量准确的数据,来训练准确的机器学习模型。最后,第二篇文章讨论了正确的团队组成对端到端项目成功的重要性。
第一篇与第二篇文章的链接在文章末尾
现在进入本系列的第三篇文章!
数据科学是整体产品的一部分
花点时间想想你经常使用的一些数据驱动的产品。很有可能你已经想到了以下其中之一:
-
一个在线搜索引擎,为你的搜索词提供相关的响应,但也帮助你在输入查询时优化你的搜索
-
一个文字处理器,检查你的文本的拼写和语法结构,并自动更正或建议更正
-
一个社交媒体平台,根据你在平台上的互动的相关性,个性化你应该联系的内容或人
-
电子商务门户,根据你当前的购物篮或你的购物历史推荐你应该购买的商品
两个更专门的例子是:
-
一家金融贷款机构开发了一种数据驱动的解决方案,可以决定申请人是否值得贷款。如果是,最优贷款金额是多少?
-
一个巨大的数据中心与成千上万的计算机服务器处理数据的各种关键业务需求开发了一个数据驱动的解决方案,分析了日志服务器,数据库和网络流量然后预测哪些服务器应该打开或关闭,以及如何调节冷却单元
这些数据驱动产品的数据科学模块中的一个关键组件将能够执行内容组织和信息检索。
然而,信息检索(Information Retrieval IR)组件将需要根据最终使用情况进行大量的定制。同样,信息的流动也需要根据IR组件的功能进行修改。
让我们用上面提到的例子来理解这个问题:
-
让我们假设一个搜索引擎在用户输入的同时,为精炼搜索查询提供实时建议。如果不能在几秒钟内返回有意义的信息,那么IR组件就没有价值
-
对于数据中心管理解决方案,IR组件不必考虑速度,但必须根据其对所服务的客户的业务连续性的影响(考虑到服务器的开启与关闭或冷却单元可能影响客户业务)来权衡其输出
-
在上述贷款决策解决方案中,IR部分必须特别注意的并不是执行的速度,而是”模型是可解释的并且是公平的”。
作为数据科学交付所有者,你必须了解项目的用况,并且评估它可能对解决方案施加的各种约束,确定它可能给予你的各种自由度。我们将在下面讨论一些具体问题。
我喜欢将数据科学组件看作拼图中的一块:它本身很重要,但是需要与拼图的其他部分紧密配合!
与用户界面(UI)模块和整体用户体验(UX)的协同
在所有实际应用中,数据科学组件仅是一部分,而其本身并不是完整的解决方案。
用户通过用户界面(User Interface UI)与最终应用程序进行交互。在设计用户体验(User Experience UX)时,应与基础数据科学组件联系考虑界面上加强其优点,同时掩盖其缺点。
让我使用两个不同的示例来说明将UI/UX与数据科学的组件进行协作的最佳方法:
-
搜索引擎
-
文字处理器
搜索引擎
一个典型的Web搜索引擎使用繁重的数据科学机制对WebPage进行排名和分类。然后,它会响应用户的查询返回最相关的查询。
如果数据科学组件可以提供高置信度解释查询并提取确切的特定答案,则用户界面可以利用此置信度将答案仅显示为该结果。这将导致无缝的用户体验。
Google应用了这一点。对于”印度总理”之类的查询,它以”知识面板”的形式返回答案。另一方面,当数据科学对确切答案的置信度低于某个阈值时,可以安全地让用户通过再单击几下与系统进行交互以获得特定答案,而不用冒着糟糕的用户体验的风险。
当我们搜索”印度国会议员在哪里开会”时,Google的第一个链接具有正确答案,但是由于对确切答案片段的信心较低,因此不会显示”知识面板”。
还有另一种利用UI/UX与数据科学组件协同作用的方法。用户与系统的交互还可以用于生成间接的”标记数据”,也可以作为系统性能评估的代理。
例如,设想一个场景,其中Web搜索引擎返回给定查询的前10个结果,并且用户几乎总是单击第二个或第三个链接。这意味着基础数据科学组件需要更新其排名算法,以便第二个和第三个链接的排名高于第一个。
“wisdom-of-crowd”(人群的智慧)提供了一对带有标签的”搜索-相关页面”。但是,以这种方式推断的标签对将包括各种用户偏见。因此,如果要将这些标签用于训练数据科学组件,需要一个简单的标签标准化过程。
文字处理器
同样,考虑文字处理器中的典型拼写检查器。基本的数据科学机制的任务是识别何时键入的单词可能是拼写错误,如果是,则突出显示拼写错误的单词并建议可能的正确单词。
-
当数据科学机构仅发现一个可能的正确拼写并且也非常有把握时,它应该自动更正拼写以提供无缝的用户体验
-
另一方面,如果拼写错误的单词有多个可能正确的单词,每个单词的置信度都很高,则用户界面应将其全部显示,并让用户选择合适的单词
-
同样,如果多个可能的正确单词的置信度得分较低,则UI应通过突出显示拼写错误而不建议任何纠正措施来伪装此缺点。这再次为用户带来愉悦的体验
因此,数据科学团队必须理解数据科学驱动的输出在到达最终用户手中之前所经历的所有转换。UI设计人员和工程师应该了解数据科学组件可能出现的错误。
数据科学项目领导者必须推动跨团队的协作,以提供最佳的最终解决方案。另外,请注意我在上面提到了”高置信度”和”低置信度”,而机器需要的是”置信度高于83%”。这就是我们在本系列的前一篇文章中讨论的”定性到定量的差距”。
计算成本与系统精度之间的权衡
团队需要建立共识的下一个方面是关于用户与端到端系统交互的性质。
让我们以语音到文本系统为例。在这里,如果预期的设置是用户上传一组语音文件,并期望在语音到文本输出的结果是可用时自动提示用户。但是该数据科学系统可能需要相当长的时间来生成最佳质量的输出。
另一方面,如果用户交互是这样设计的,即用户说了一个单词或者短语,然后等待系统响应,那么系统应该是怎么样的?数据科学系统的体系结构应该是这样的:用更高的计算成本来换取生成更高精度的结果。
知道部署数据科学系统的完整环境也可以帮助在数据科学系统计算成本和总体准确性之间做出明智的权衡。
在上述语音到文本的示例中,我们知道端到端系统限制用户仅说出他的电话簿中的人名。因此,在这里,数据科学组件可以将其搜索空间限制为电话簿中的名称,而不是搜索成千上万人的姓名。
训练和执行机器学习组件所需的计算能力通常在精度较低的情况下呈线性增长,然后在精度较高的情况下呈指数增长。
运行和维护解决方案的成本应该远远低于机器学习解决方案的收入,这样机器学习才有经济效益。
这可以通过以下两种方式实现:
-
与产品团队,客户团队和工程团队进行讨论,以建立整个系统对数据科学解决方案准确性的敏感性。这可以帮助确定要达到的合理精度
-
减少最复杂的数据科学子组件被调用的次数。一旦确定了最复杂的数据科学子组件,我们就需要确定重复调用该数据科学子组件的数据样本。创建这些公共输入-输出对的查找表将提高系统的整体效率
-
例如,在我当前的设置中,为了优化金融事务引入这种优化,导致计算成本下降了大约70%,而查找表的RAM只增加了几GB
-
还有一个例子是,执行和维护成本超过了获得高准确性的成本,Netflix决定不使用曾获得百万美元奖金的解决方案,该方案可将其电影推荐的准确性增加约10%
模型可解释性
另一个实际考虑因素是”模型可解释性”。
通过能够解释为什么一个给定的数据科学模型以一种特定的方式运行,可以帮助对模型的更改、训练样本的更改和体系结构的更改进行优先级排序,从而提高整体性能。
在一些应用中,比如我们上面讨论的贷款资格预测,或者精准医疗,取证,根据规定,数据科学模型必须是可解释的,这样人类专家才能检查是否发生了偏见。
在解决业务问题的数据驱动项目中,可解释模型在构建信任方面也大有帮助。但是,不利的一面是,最精确的模型通常也是最抽象的模型,因此也难以解释。
因此,数据科学交付负责人必须解决的一个基本问题是准确性和可解释性之间的折衷。
基于深度学习的模型属于高抽象和低可解释性模型。深度学习模型可解释性方面有大量的积极研究(例如LIME和Layer wise Relevance Propagation)。
结尾
总之,一个高精度的数据科学组件本身可能没有什么意义,即使它解决了一个紧迫的业务需求。在一个极端情况下,可能是数据科学解决方案以高计算能力或高周转时间为代价来获得高准确性,而这两者都是业务所不能接受的。
在另一个极端,可能是终端用户交互的组件对数据科学组件的错误的敏感性比较小,因此一个相对简单的模型就可以满足业务需求。
对于数据科学组件如何适应整个端到端解决方案的良好理解无疑将有助于做出正确的设计和决策。这反过来又在合理的运营预算内增加了客户对解决方案的接受度。
本系列第一篇文章链接(https://www.analyticsvidhya.com/blog/2019/08/data-science-leader-guide-managing-stakeholders/)
本系列第二篇文章链接(https://www.analyticsvidhya.com/blog/2019/08/data-science-leader-how-effectively-transition-business-requirements-data-driven-solutions/)
你也许还想看:
欢迎扫码关注磐创AI
点击下方 | 阅读原文 | 了解更多
原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2019/11/09/4fbf93ddce/