【Designing ML Systems】第 1 章 :机器学习系统概述

随着其在行业中的迅速采用随着技术的发展,ML 已被证明是解决各种问题的强大工具。尽管该领域内外的人们产生了令人难以置信的兴奋和炒作,但 ML 并不是可以解决所有问题的神奇工具。即使对于 ML 可以解决的问题,ML 解决方案也可能不是最佳解决方案。在开始 ML 项目之前,您可能想询问 ML 是否必要或是否具有成本效益。

要了解 ML 可以做什么,让我们来看看 ML 解决方案通常可以做什么:

机器学习是一种方法,可以 (1)从 (3) 现有数据中 学习 (2) 复杂模式 ,并使用这些模式对 (5) 未见数据进行 (4) 预测 。

我们将查看上述框架中的每个斜体关键词,以了解其对 ML 可以解决的问题的影响:

1. 学习:系统具备学习能力

关系数据库不是机器学习系统因为它没有学习的能力。您可以在关系数据库中显式声明两列之间的关系,但它本身不太可能弄清楚这两列之间的关系。

要让机器学习系统学习,它必须有一些东西可以学习。在大多数情况下,机器学习系统从数据中学习。在监督学习中,基于示例输入和输出对,ML 系统学习如何为任意输入生成输出。例如,如果您想构建一个机器学习系统来学习预测 Airbnb 房源的租金,您需要提供一个数据集,其中每个输入都是具有相关特征(面积、房间数量、社区、便利设施、评级)的房源该列表等),相关的输出是该列表的租金价格。一旦学会,这个 ML 系统应该能够根据其特征预测新上市的价格。

2. 复杂模式:有模式要学习,而且很复杂

ML 解决方案仅在以下情况下才有用有模式要学习。理智的人不会投资构建机器学习系统来预测公平骰子的下一个结果,因为这些结果的生成方式没有规律可循。然而,股票的定价方式存在模式,因此公司已投资数十亿美元来构建 ML 系统来学习这些模式。

模式是否存在可能并不明显,或者如果模式存在,您的数据集或 ML 算法可能不足以捕获它们。例如,埃隆马斯克的推文如何影响加密货币价格可能存在某种模式。但是,除非您在他的推文上严格训练和评估您的 ML 模型,否则您不会知道。即使你所有的模型都无法对加密货币价格做出合理的预测,但这并不意味着没有模式。

考虑一个像 Airbnb 这样的网站,上面有很多房源;每个列表都带有一个邮政编码。如果您想将列表分类到它们所在的州,则不需要 ML 系统。由于模式很简单——每个邮政编码对应一个已知的州——你可以只使用一个查找表。

租金价格与其所有特征之间的关系遵循更复杂的模式,手动指定非常具有挑战性。ML 是一个很好的解决方案。您可以提供价格和特征,让您的机器学习系统找出模式,而不是告诉您的系统如何从特征列表中计算价格。ML解决方案与查找表解决方案以及一般传统软件解决方案的区别如图1-2所示。因此,ML 也被称为 Software 2.0。

ML 在具有复杂模式的任务(例如对象检测和语音识别)方面非常成功。对机器而言复杂的事物不同于对人类而言复杂的事物。许多人类难以完成的任务对机器来说很容易——例如,提高 10 的次方数。另一方面,许多人类容易完成的任务对机器来说却很难——例如,决定是否存在图片中的一只猫。

3. 现有数据:有数据,或有可能收集数据

因为 ML 从数据中学习,所以必须成为可供它学习的数据。考虑建立一个模型来预测一个人一年应该缴纳多少税是很有趣的,但除非您可以访问大量人口的税收和收入数据,否则这是不可能的。

零样本学习(有时称为零数据学习)环境中,ML 系统可以在没有针对该任务的数据进行训练的情况下对任务做出良好的预测。然而,这个 ML 系统之前接受过其他任务的数据训练,通常与所考虑的任务相关。因此,即使系统不需要数据来学习手头的任务,它仍然需要数据来学习。

也可以在没有数据的情况下启动 ML 系统。例如,在持续学习的背景下,无需对任何数据进行培训即可部署 ML 模型,但它们将从生产中的传入数据中学习。然而,向用户提供训练不足的模型会带来一定的风险,例如糟糕的客户体验。

在没有数据且没有持续学习的情况下,许多公司遵循”假造直到你做到”的方法:推出一种服务于人类预测的产品,而不是 ML 模型,希望使用生成的数据来训练 ML以后的模型。

4. 预测:这是一个预测问题

ML 模型进行预测,因此它们只能解决需要预测性答案的问题。当您可以从大量廉价但近似的预测中受益时,ML 会特别有吸引力。在英语中,”predict”的意思是”估计未来的值”。例如,明天天气如何?谁将赢得今年的超级碗?用户接下来想看什么电影?

随着预测机器(例如,ML 模型)变得越来越有效,越来越多的问题被重新定义为预测问题。无论您有什么问题,您都可以将其框定为:”这个问题的答案是什么?” 不管这个问题是关于未来、现在,甚至是过去的事情。

计算密集型问题是一类已经非常成功地重构为预测性的问题。您可以将问题描述为:”这个过程的结果会是什么样子?”而不是计算一个过程的确切结果,这可能比 ML 在计算上更加昂贵和耗时。并使用 ML 模型对其进行近似。输出将是精确输出的近似值,但通常情况下,它已经足够好了。您可以在图形渲染中看到很多它,例如图像去噪和屏幕空间着色。

5. 看不见的数据:看不见的数据与训练数据共享模式

您的模型从中学习的模式只有当看不见的数据也共享这些模式时,现有数据才有用。如果一个预测应用程序是否会在 2020 年圣诞节被下载的模型基于 2008 年的数据进行训练,那么它的性能将不会很好,当时 App Store 上最受欢迎的应用程序是 Koi Pond。什么是锦鲤池?确切地。

用技术术语来说,这意味着你看不见的数据和训练数据应该来自类似的分布。你可能会问:”如果数据是看不见的,我们怎么知道它来自什么分布?” 我们没有,但我们可以做出假设——比如我们可以假设用户明天的行为与今天的用户行为不会有太大的不同——并希望我们的假设成立。如果他们不这样做,我们将得到一个性能很差的模型,我们可以通过监控来发现它,如第 8 章所述,并在生产中进行测试,如第 9 章所述。

由于当今大多数 ML 算法的学习方式,如果您的问题具有以下额外特征,则 ML 解决方案将特别出色:

6.重复

人类非常擅长少量学习:你可以给孩子看几张猫的照片,他们中的大多数人下次看到猫时就会认出猫。尽管少样本学习研究取得了令人兴奋的进展,但大多数 ML 算法仍然需要许多示例来学习模式。当一项任务重复时,每个模式都会重复多次,这使得机器更容易学习它。

  1. 错误预测的成本很低

除非你的机器学习模型的性能一直是 100%,这对于任何有意义的任务来说都是极不可能的,否则你的模型会出错。当错误预测的成本很低时,ML 特别适用。例如,当今 ML 最大的用例之一是推荐系统,因为在推荐系统中,糟糕的推荐通常是可以原谅的——用户只是不会点击推荐。

如果一个预测错误会产生灾难性的后果,如果平均而言,正确预测的好处超过错误预测的成本,ML 可能仍然是一个合适的解决方案。开发自动驾驶汽车具有挑战性,因为算法错误可能导致死亡。然而,许多公司仍然希望开发自动驾驶汽车,因为一旦自动驾驶汽车在统计上比人类司机更安全,它们就有可能挽救许多生命。

  1. 规模化

ML 解决方案通常需要非常重要的前期工作对数据、计算、基础设施和人才的投资,所以如果我们可以大量使用这些解决方案,那将是有意义的。

“在规模上”对不同的任务意味着不同的事情,但总的来说,它意味着做出很多预测。示例包括每年对数百万封电子邮件进行分类或预测每天应将数千张支持票发送到哪些部门。

一个问题可能看起来是一个单一的预测,但它实际上是一系列预测。例如,一个预测谁将赢得美国总统大选的模型看起来似乎每四年才做出一次预测,但实际上它可能每小时甚至更频繁地做出一次预测,因为该预测必须不断更新以纳入新的信息。

大规模出现问题也意味着有大量数据需要收集,这对于训练 ML 模型很有用。

9.模式不断变化

如果您的问题涉及一种或多种不断变化的模式,那么手写规则等硬编码解决方案可能很快就会过时。弄清楚你的问题是如何改变的,以便你可以相应地更新你的手写规则可能太昂贵或不可能。因为 ML 从数据中学习,您可以使用新数据更新您的 ML 模型,而无需弄清楚数据是如何变化的。也可以设置您的系统以适应不断变化的数据分布,我们将在“持续学习”一节中讨论这种方法。

用例列表可以不断增加,随着 ML 采用在行业中的成熟,它会变得更长。尽管 ML 可以很好地解决一部分问题,但它不能解决和/或不应该用于解决很多问题。当今的大多数 ML 算法都不应该在以下任何情况下使用:

  • 这是不道德的。我们将在“案例研究 I:自动评分者的偏见”一节中讨论一个案例研究,其中使用 ML 算法可能被认为是不道德的。
  • 更简单的解决方案可以解决问题。在第 6 章中,我们将介绍 ML 模型开发的四个阶段,其中第一阶段应该是非 ML 解决方案。
  • 这不划算。

但是,即使 ML 无法解决您的问题,也有可能将您的问题分解为更小的组件,并使用 ML 来解决其中的一些问题。例如,如果您无法构建聊天机器人来回答所有客户的查询,则可以构建 ML 模型来预测查询是否与常见问题之一匹配。如果是,请引导客户回答。如果没有,请将他们引导至客户服务。

我还想提醒大家不要放弃一项新技术,因为它目前不如现有技术具有成本效益。大多数技术进步都是渐进的。一种技术现在可能效率不高,但随着时间的推移,可能会有更多的投资。如果您等待该技术向其他行业证明其价值,然后再加入,您可能最终会落后于竞争对手数年或数十年。

机器学习用例

ML 在这两个领域的使用率都在增加企业和消费者应用程序。自 2010 年代中期以来,利用 ML 向消费者提供卓越或以前不可能的服务的应用程序激增。

随着信息和服务的爆炸式增长,如果没有 ML 的帮助,我们很难找到我们想要的东西,无论是 搜索引擎_还是 _推荐系统。当您访问亚马逊或 Netflix 等网站时,系统会向您推荐预计最符合您口味的商品。如果您不喜欢任何推荐,您可能想要搜索特定项目,并且您的搜索结果可能由 ML 提供支持。

如果您有智能手机,ML 可能已经在您的许多日常活动中为您提供帮助。在你的打字 _预测打字_让电话变得更容易,这是一个 ML 系统,可以为您提供下一步可能想说的建议。ML 系统可能会在您的照片编辑应用程序中运行,以建议如何最好地增强您的照片。您可能会使用您的指纹或面部来验证您的手机,这需要机器学习系统来预测指纹或面部是否与您的相匹配。

将我吸引到该领域的 ML 用例是 机器翻译,自动从一种语言翻译成另一种语言。它有可能让来自不同文化背景的人们相互交流,消除语言障碍。我的父母不会说英语,但多亏了谷歌翻译,他们现在可以阅读我的作品并与不会说越南语的朋友交谈。

ML 越来越多地出现在我们的家中,并带有 Alexa 和 Google Assistant 等智能个人助理。智能安全摄像头可以让您知道您的宠物何时离开家,或者您是否有不速之客。我的一个朋友担心他年迈的母亲独自生活——如果她跌倒了,没有人可以帮助她站起来——所以他依靠一个家庭健康监测系统来预测家里是否有人跌倒。

尽管消费者 ML 应用市场正在蓬勃发展,但大多数 ML 用例仍然在企业世界中。企业 ML 应用程序的要求和考虑因素往往与消费者应用程序大不相同。有很多例外,但在大多数情况下,企业应用程序可能有更严格的准确性要求,但对延迟要求更宽容。例如,将语音识别系统的准确率从 95% 提高到 95.5% 对大多数消费者来说可能并不明显,但将资源分配系统的效率提高 0.1% 就可以帮助像谷歌或通用汽车这样的公司节省数百万美元。同时,一秒钟的延迟可能会让消费者分心并打开其他东西,但企业用户可能更能容忍高延迟。对于有兴趣从 ML 应用程序构建公司的人来说,消费者应用程序可能更容易分发,但更难货币化。但是,除非您自己遇到过,否则大多数企业用例并不明显。

根据 Algorithmia 的 2020 年企业机器学习状况调查,企业中的 ML 应用程序多种多样,既服务于内部用例(降低成本、产生客户洞察和智能、内部处理自动化),也服务于外部用例(改善客户体验、留住客户、交互与客户)如图 1-3所示。8

【Designing ML Systems】第 1 章 :机器学习系统概述

图 1-3。2020 年企业机器学习现状。来源:改编自 Algorithmia 的图片

_欺诈检测_是其中之一;ML 在企业界最古老的应用。如果您的产品或服务涉及任何价值的交易,则很容易受到欺诈。通过利用机器学习解决方案进行异常检测,您可以拥有从历史欺诈交易中学习并预测未来交易是否存在欺诈的系统。

决定对您的产品或服务收取多少费用可能是最困难的商业决策之一;为什么不让 ML 为您做呢? _价格优化_是在特定时间段内估计价格以最大化定义的目标函数的过程,例如公司的利润、收入或增长率。基于机器学习的定价优化最适用于交易量大、需求波动大、消费者愿意支付动态价格的情况——例如互联网广告、机票、住宿预订、拼车和活动。

做生意,做人很重要能够预测客户需求,以便您准备预算、库存库存、分配资源和更新定价策略。例如,如果您经营一家杂货店,您希望有足够的库存,以便客户找到他们想要的东西,但您又不想库存过多,因为如果您这样做,您的杂货可能会变质并且您会赔钱。

获得新用户的成本很高。截至 2019 年,应用获取将进行应用内购买的用户的平均成本为 86.61 美元。9 Lyft 的购置成本估计为每名乘客 158 美元。10对于企业客户来说,这个成本要高得多。获客成本被投资者誉为创业杀手。11少量降低获客成本,可大幅增加利润。这可以通过更好地识别潜在客户、展示更有针对性的广告、在正确的时间提供折扣等来实现——所有这些都是 ML 的合适任务。

在你花了这么多钱获得客户之后,如果他们离开,那就太可惜了。获得新用户的成本大约是保留现有用户的 5 到 25 倍。12 _流失预测_是预测特定客户何时将停止使用您的产品或服务,以便您可以采取适当的行动来赢回他们。流失预测不仅可以用于客户,也可以用于员工。

为防止客户离开,重要的是要在他们出现问题时立即解决他们的问题,让他们感到高兴。自动支持票证分类可以帮助解决这个问题。以前,当客户打开支持票或发送电子邮件时,需要首先对其进行处理,然后将其传递给不同的部门,直到它到达可以解决问题的人的收件箱。机器学习系统可以分析票证内容并预测票证应该去哪里,这可以缩短响应时间并提高客户满意度。它还可用于对内部 IT 工单进行分类。

另一个在企业中流行的 ML 用例是品牌监控。品牌是企业的宝贵资产。13监控公众和您的客户如何看待您的品牌非常重要。您可能想知道何时/何地/如何提及它,无论是明确的(例如,当有人提到”Google”时)还是隐含的(例如,当有人说”搜索巨头”时),以及与之相关的情绪。如果您的品牌提及中突然出现负面情绪,您可能希望尽快解决。情感分析是典型的 ML 任务。

一组最近引起广泛关注的机器学习用例是在医疗保健领域。有可以检测皮肤癌和诊断糖尿病的机器学习系统。尽管许多医疗保健应用程序是面向消费者的,但由于它们对准确性和隐私的严格要求,它们通常是通过医疗保健提供者提供的,例如作为医院或用于协助医生提供诊断。

Original: https://blog.csdn.net/sikh_0529/article/details/127804024
Author: Sonhhxg_柒
Title: 【Designing ML Systems】第 1 章 :机器学习系统概述

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/658528/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球