
构建机器学习驱动的应用程序
文章平均质量分 94
学习设计、构建和部署由机器学习 (ML) 提供支持的应用程序所需的技能。通过这本动手操作的书,您将构建一个示例 ML 驱动的应用程序,从最初的想法到部署的产品。将逐步学习构建真实世界 ML 应用程序所涉及的工具、最佳实践和挑战。
Sonhhxg_柒
Save your heart for someone who cares. #愿岁月清净 抬头遇见皆是柔情#
展开
-
【构建ML驱动的应用程序】第 11 章 :监控和更新模型
显示了我们在此介绍的三种方法中每一种的可视化,从最安全的评估测试集模式的方法到信息量最大但最危险的在生产环境中部署模型的方法。影子模式唯一没有提供的是观察用户对新模型的反应的能力。两组中的用户应尽可能相似,以便观察到的任何结果差异都可以归因于我们的模型,而不是同类群组的差异。训练一个新模型并测试它在保留数据上的表现是好的第一步,但最终,正如我们之前看到的,没有什么可以替代现场表现来判断模型的质量。测试的持续时间呈现出类似的权衡:太短,我们有没有足够信息的风险,太长,我们有失去用户的风险。原创 2022-11-25 16:27:00 · 583 阅读 · 6 评论 -
【构建ML驱动的应用程序】第 10 章 :为模型构建安全措施
文章目录什么时候在设计数据库或分布式系统时,软件工程师关注的是容错性,即系统在其某些组件发生故障时继续工作的能力。在软件中,问题不在于系统的给定部分是否会失败,而是何时会失败。相同的原则可以应用于 ML。无论模型有多好,它都会在某些示例上失败,因此您应该设计一个能够优雅地处理此类失败的系统。在本章中,我们将介绍帮助预防或减轻故障的不同方法。首先,我们将了解如何验证我们接收和生成的数据的质量,并使用此验证来决定如何向用户显示结果。然后,我们将研究如何使建模管道更加健壮,以便能够有效地为许多用户提供服务。之后,原创 2022-11-25 10:08:00 · 446 阅读 · 4 评论 -
【构建ML驱动的应用程序】第 9 章 :选择部署选项
如果模型所需的信息仅在预测时可用,并且立即需要模型的预测,则您将需要一种流式处理方法。对于其他应用程序,例如智能手机上的预测键盘,可以提供建议以帮助更快地打字,拥有不需要访问互联网的本地模型的价值超过了准确性损失。不能容忍模型性能下降的产品,例如依赖于过于复杂而无法在智能手机等设备上运行的尖端模型的产品,应该部署在服务器上。这些模型都可以共享相同的架构,但每个用户的模型将有不同的参数值来反映他们的个人数据。因为预测是在预定的时间完成的,并且预测的数量在批处理开始时已知,所以更容易分配和并行化资源。原创 2022-11-25 10:07:22 · 373 阅读 · 4 评论 -
【构建ML驱动的应用程序】第 8 章 :部署模型时的注意事项
即便如此,针对任何类型的参与度进行优化的推荐算法始终存在退化为反馈循环的风险,因为它们的唯一目标是最大化几乎无限的指标。如果您的模型产生了一个分数,找到将这个分数与您的建议的使用情况进行比较的方法可能是一个额外的信号。例如,如果我们训练一个模型来向用户推荐视频,而我们的第一个版本的模型更倾向于推荐猫的视频而不是狗的视频,那么平均而言,用户会观看更多的猫视频而不是狗视频。如果我们使用历史推荐和点击数据集训练模型的第二个版本,我们会将第一个模型的偏差纳入我们的数据集中,而我们的第二个模型将更加偏爱猫。原创 2022-11-24 08:35:02 · 533 阅读 · 5 评论 -
【构建ML驱动的应用程序】第 7 章 :使用分类器编写推荐
有趣的是,虽然模型总是可以迭代的,但我认为这个编辑器最有希望改进的方面是生成用户更清楚的新功能。本章通过首先展示使用经过训练的分类器向用户提供建议的方法,然后选择用于 ML 编辑器的模型,最后将两者结合起来构建一个工作的 ML 编辑器来结束循环的迭代。中,我们概述了我们对 ML Editor 的计划,其中包括训练一个模型,将问题分为高分和低分类别,并使用这个经过训练的模型来指导用户写出更好的问题。从它的签名开始,该函数将一个表示问题的输入字符串作为参数,以及一个可选参数,用于确定要推荐多少最重要的功能。原创 2022-11-24 08:34:47 · 416 阅读 · 4 评论 -
【构建ML驱动的应用程序】第 6 章 :调试 ML 问题
在在上一章中,我们训练并评估了我们的第一个模型。使管道达到令人满意的性能水平很困难,需要多次迭代。本章的目标是指导您完成一个这样的迭代周期。在本章中,我将介绍调试建模管道的工具以及编写测试以确保它们在我们开始更改后仍能正常工作的方法。软件最佳实践鼓励从业者定期测试、验证和检查他们的代码,尤其是安全或输入解析等敏感步骤。这对于 ML 应该没有什么不同,与传统软件相比,模型中的错误更难检测。我们将介绍一些技巧,帮助您确保您的管道稳健,并且您可以尝试它而不会导致整个系统出现故障,但首先让我们深入了解软件最佳实践!原创 2022-11-23 09:22:10 · 315 阅读 · 3 评论 -
【构建ML驱动的应用程序】第 5 章 :训练和评估模型
在训练了一个初始模型后,我们深入研究了通过寻找不同的方法来比较和对比其预测与数据来判断其表现如何的方法。最后,我们继续检查模型本身,方法是显示特征重要性并使用黑盒解释器来直观地了解它用于进行预测的特征。原创 2022-11-23 09:21:54 · 476 阅读 · 2 评论 -
【构建ML驱动的应用程序】第 4 章 :获取初始数据集
一次如果您有解决产品需求的计划并且已经构建了初始原型来验证您提出的工作流程和模型是否合理,那么是时候更深入地研究您的数据集了。我们将使用我们的发现来为我们的建模决策提供信息。通常,充分了解您的数据会带来最大的性能改进。在本章中,我们将从研究有效判断数据集质量的方法开始。然后,我们将介绍对数据进行矢量化的方法,以及如何使用所述矢量化表示更有效地标记和检查数据集。最后,我们将介绍这种检查将如何指导特征生成策略。让我们从发现数据集并判断其质量开始。这构建 ML 产品的最快方法是快速构建、评估和迭代模型。数据集本身原创 2022-11-22 08:35:53 · 467 阅读 · 2 评论 -
【构建ML驱动的应用程序】第 3 章 :构建您的第一个端到端管道
如果我们选择的方法在衡量问题质量方面表现出色,但我们的产品没有向用户提供任何改进写作的建议,那么尽管我们的方法质量很高,我们的产品也不会有用。我们产品的目标是为我们的用户提供可操作的建议。这里的重点是为您的产品做我们为您的 ML 方法所做的同样的事情,尽可能地简化它,并构建它,以便您拥有一个简单的功能版本。如果我们无论如何都打算实施 ML 解决方案(正如我们稍后将在本书中介绍的那样),这可能看起来是多余的,但它是一个关键的强制函数,可以让我们面对我们的问题并设计一组关于如何最好地解决它的初始假设.原创 2022-11-22 08:35:39 · 437 阅读 · 2 评论 -
【构建ML驱动的应用程序】第 2 章 :制定计划
即使在每个单独的数据点都可以是相对较小的数据的领域,例如 NLP(与实时视频上的任务相反),这种差异也很显着。复杂的模型需要成对的数据,这意味着我们每年都必须找到相同句子的例子,以“好”和“坏”的方式说。但是,即使模型是在足够的数据集上训练的,许多问题的数据分布也会随着时间的推移而变化。您可以通过计算其单词级别的准确性来衡量该模型的性能,计算它预测正确的下一组单词的频率。在这种情况下,构建一个在类似数据集上表现良好的模型通常是说服利益相关者构建一个新的数据收集管道或促进对现有数据收集管道的访问的最佳方式。原创 2022-11-22 08:35:02 · 457 阅读 · 2 评论 -
【构建ML驱动的应用程序】第 1 章 :从产品目标到 ML 框架
ML允许机器从数据中学习并以概率方式运行,通过针对给定目标进行优化来解决问题。这与传统编程相反,在传统编程中,程序员编写描述如何解决问题的分步说明。这使得 ML 对于构建我们无法定义启发式解决方案的系统特别有用。描述了两种编写检测猫系统的方法。在左侧,程序由手动编写的过程组成。在右侧,ML 方法利用标有相应动物的猫狗照片数据集,使模型能够学习从图像到类别的映射。在 ML 方法中,没有关于如何实现结果的规范,只有一组示例输入和输出。图 1-1。从定义程序到展示示例。原创 2022-11-21 12:25:59 · 633 阅读 · 6 评论