0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在任何机器学习项目开始时预见对后续更新的需求

倩倩 来源:AI科技大本营 2020-03-25 16:16 次阅读

高效的机器学习模型需要高质量的数据。训练你的机器学习模型并不是过程中的单个有限阶段。即使将其部署到生产环境中,也可能需要稳定的新训练数据流来确保模型随时间推移的预测准确性。

毕竟,训练数据会显式地调用数据集中的属性,这些属性代表外部世界中不断变化的基本事实。如果不进行周期性的重新训练,随着现实世界变量的演变,模型的准确性自然会随时间下降。

在本文中,我们将讨论为什么不管你的初始训练数据过程多么严格,继续训练你的机器学习模型都是至关重要的。我们还将讨论再训练的方法以及每种方法的优点。

最后,我们将介绍如何在任何机器学习项目开始时预见对后续更新的需求。通过从一开始就建立再训练流程,帮你设计一个可持续的预测模型。

数据漂移与再训练需求

为什么大多数机器学习模型都需要更新才能保持准确性?答案在于训练数据的性质以及它如何告知机器学习模型的预测功能。

训练数据是一个静态数据集,机器学习模型可从该数据集中推断出模式和关系,并形成对未来的预测。

随着现实世界条件的变化,训练数据的基本事实方面表示可能会不太准确。想象一下用于预测50个大型都会区租金成本的机器学习模型。从2000年到2019年的训练数据可能会以惊人的准确性预测2020年的租金价格。在预测2050年的租金价格时,这种方法可能会不太有效,因为房地产市场的基本性质可能在未来几十年内发生变化。

应用自然语言处理(NLP)来训练聊天机器人提供了数据漂移的另一个有用的例子。我们使用语言的方式正在不断演变,因此必须更新用于聊天机器人的训练数据的语义分析,来反映当前的语言。想象一下,尝试使用1980年代的培训数据来训练聊天机器人与现代消费者进行互动。在40年中,语言可能会发生重大变化,这迫使人们需要更新训练数据。

这一现象已经有了多种描述方法,包括数据漂移、概念漂移和模型衰减。不管你怎么称呼它,它都代表了机器学习的硬道理:在未来的某个时候,你的训练数据将不再为准确的预测提供基础。

如何应对这个不可避免的挑战呢?答案是定期使用新的或扩展的数据重新训练你的模型。实际上,训练你的模型是一个持续的过程,特别是在质量要求很高的情况下。

你应该如何更新你的机器学习模型?简单来说,你有两个选择:使用更新的输入手动重新训练模型,或构建一个旨在从新数据中不断学习的模型。

手动模型重新训练方法

手动更新机器学习模型的方法本质上是复制你的初始训练数据过程,但要使用一组更新的数据输入。在这种情况下,你可以决定如何以及何时向算法提供新数据。

此选项的可行性取决于你定期获取和准备新训练数据的能力。你可以随时监控模型的性能,确定何时需要更新。如果模型的准确性明显下降,则可能需要对更新的数据进行重新训练。

这种方法的优点之一是修修补补通常可以带来真知灼见和创新。如果密切监视模型并找出缺点,你可能会发现包含额外数据或以更基本的方式修改算法的价值。

模型训练的持续学习方法

持续学习模型通常会从部署了数据的生产环境中合并新的数据流。

消费者每天都会参与持续学习的机器学习模型。以音乐流媒体平台Spotify为例,该平台使用协作过滤功能,根据具有相似爱好的其他用户的偏好向用户提供推荐,来创造价值和竞争优势。

当Spotify用户收听音乐时,与他们的选择有关的数据会反馈到公司的预测算法中。由此产生的反馈循环完善了该应用为其用户提供的推荐,并允许高级个性化设置,例如机器生成的个性化播放列表。Netflix等其他领先的消费媒体服务提供商也使用类似的持续学习系统。

如你所料,构建这些系统所需的技术专业知识和资源对于许多组织来说根本无法满足。此外,你需要稳定的数据流来进行自动集成。在持续学习模型中,人为干预是可能的,但它代表了一个真正的瓶颈。例如,Spotify在将其数百万用户生成的数据反馈回其算法之前,不需要对其进行清理或格式化。

无论是手动更新还是持续学习似乎都是更有效(可行)的选择,你需要从战略上考虑用于生成新数据来进行再培训的劳动力和技术。如果你打算在可预见的将来使用你的模型,则需要合适的资源来保持该模型最新

预测进化:选择团队

创建训练数据需要人员、流程和工具的战略组合。要解决收集、清理和标记数据的模糊性,你需要一个高效的技术人员团队,其中包括熟练的技术人员和先进的技术。

许多组织无法管理或扩展内部团队来准备训练数据,因此他们寻求利用人类智能的替代方法。众包劳动力是一种常见选择,它使你可以在短时间内找到数百名匿名工人。

然而,匿名众包带来了隐性成本,包括与员工的沟通不畅,这可能导致工作质量低下。而且,如果在开发初期训练数据集时这些缺点很明显,那么当你尝试重新训练和更新模型时,这些缺点将让人特别沮丧。

在一群匿名的众包工人的情况下,几乎不可能进行监督或转移机构记忆。每次开发新的训练数据时,都有发现新的不一致和性能问题的风险。

或许你也可以选择另一种方式,将这个问题外包给靠谱的、专业解决这种问题的企业,会更有保障。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8105

    浏览量

    130541
  • 数据集
    +关注

    关注

    4

    文章

    1177

    浏览量

    24347
收藏 人收藏

    评论

    相关推荐

    古董测频率!如何在任何示波器上测量频率!

    示波器测量仪器
    安泰仪器维修
    发布于 :2024年03月11日 10:31:13

    何在运行时擦除/编程UCB?

    我有一个项目需要在现场更新 SOTA。 这需要在运行时更新必要的 UCB 值。 我已经看过擦除/编程 PFLASH 和 DFLASH 的示例代码,但我还没有找到任何特定于 UCB 内存
    发表于 01-22 07:18

    如何从零开始构建深度学习项目?(如何启动一个深度学习项目

    性能重大提升的背后往往是模型设计的改变。不过有些时候对模型进行微调也可以提升机器学习的性能。最终的判断可能会取决于你对相应任务的基准测试结果。
    发表于 01-11 10:49 162次阅读
    如何从零<b class='flag-5'>开始</b>构建深度<b class='flag-5'>学习</b><b class='flag-5'>项目</b>?(如何启动一个深度<b class='flag-5'>学习</b><b class='flag-5'>项目</b>)

    何在Zynq SoC上开始使用FreeRTOS

    项目演示如何在 Zynq SoC 上开始使用 FreeRTOS。
    的头像 发表于 10-18 09:44 554次阅读
    如<b class='flag-5'>何在</b>Zynq SoC上<b class='flag-5'>开始</b>使用FreeRTOS

    机器学习和人工智能可轻松地满足存储需求

      数据存储 人工智能 机器学习   随着公司运营日益数字化,需要满足的数据存储需求越来越多。它们可能包括关于丢弃信息之前保留信息多长时间、保留数据的位置以及如何确保其安全的具体信息。   幸运
    的头像 发表于 09-13 09:08 489次阅读

    使用MDK构建Mbed操作系统项目

    、RTOS以及传感器和I/O设备的驱动程序。 Med OS本身并不以CMSIS包的形式提供,但有自己的配置和依赖管理系统。 本应用笔记展示了如何通过将项目从med在线编译器迁移到MDK来开始使用MDK-Community版本(或任何
    发表于 08-25 07:01

    机器学习为什么需要数据预处理

    数据预处理是准备原始数据并使其适合机器学习模型的过程。这是创建机器学习模型的第一步也是关键的一步。 创建机器
    的头像 发表于 08-24 09:20 1144次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>为什么需要数据预处理

    机器学习有哪些算法?机器学习分类算法有哪些?机器学习预判有哪些算法?

    机器学习有哪些算法?机器学习分类算法有哪些?机器学习预判有哪些算法?
    的头像 发表于 08-17 16:30 1383次阅读

    创建一个边缘机器学习系统

    本指南适用于系统设计人员,可能使用Arm Flexible access程序。 本指南将帮助您开发可以执行机器学习的片上系统(SoC)在边缘。本指南中介绍的SoC可以处理与机器学习相关
    发表于 08-02 11:02

    如何使用Arm CMSIS-DSP实现经典机器学习

    通常,当开发人员谈论机器学习(ML)时,他们指的是神经网络(nn)。 神经网络的巨大优势在于,你不需要成为一个领域专家,而且可以迅速找到一个可行的解决方案。神经网络的缺点是它们通常需要无数的记忆
    发表于 08-02 07:12

    使用网站通过互联网在任何地方打开灯

    电子发烧友网站提供《使用网站通过互联网在任何地方打开灯.zip》资料免费下载
    发表于 06-29 10:31 0次下载
    使用网站通过互联网<b class='flag-5'>在任何</b>地方打开灯

    何在电路中使用电感器?

    让我们学习何在电路中使用电感器。为此,让我们看一下它的应用程序。电感的应用是本教程中最令人兴奋的部分。本节讨论使用电感器的最重要应用/电路。如果您在任何地方的电路中找到电感器,则很有可能属于电感器的以下用途之一。
    的头像 发表于 06-18 10:21 1306次阅读
    如<b class='flag-5'>何在</b>电路中使用电感器?

    ABB机器人示教器转数计数器更新的步骤

    很多学员在学习和使用机器人的过程中,会遇到提示需要更新转数计数器的情况.
    发表于 06-07 09:06 6518次阅读
    ABB<b class='flag-5'>机器</b>人示教器转数计数器<b class='flag-5'>更新</b>的步骤

    何在OpenCV中使用基于深度学习的边缘检测?

    在这篇文章中,我们将学习何在OpenCV中使用基于深度学习的边缘检测,它比目前流行的canny边缘检测器更精确。
    的头像 发表于 05-19 09:52 1669次阅读
    如<b class='flag-5'>何在</b>OpenCV中使用基于深度<b class='flag-5'>学习</b>的边缘检测?

    何在新安装的Windows机器上构建ESplorer?

    ESplorer 项目时,我收到一条错误消息,指出“Java 安全套接字扩展”(“JSSE”) 不可用。我尝试加载“jsse-1_0_3_04-do”但没有成功。 有谁知道如何在新安装的 Windows 机器上构建 ESplo
    发表于 05-04 08:56