机器学习:问题构建及框架化

news2024/11/24 11:38:14

机器学习作为一种解决方案,并不是“万金油”,它只适用于一些特定的场景。在实际应用中,我们首先需要进行问题构建——即通过分析问题以隔离需要解决的各个元素的过程。问题构建有助于确定项目的技术可行性,并提供一组明确的目标和成功标准。在考虑机器学习解决方案时,有效的问题构建可以确定您的产品最终是否成功。

正式的框架构建是解决机器学习问题的关键开始,因为它会迫使我们更好地了解问题和数据,从而设计出问题和数据并架起桥梁。-  TensorFlow 工程师

目录

1. 明确问题

1.1 描述目标

1.2 明确用例

1.3 分析数据

1.3.1 预测能力

1.3.2 预测对比

2. 对问题进行框架处理

2.1 确定理想的结果和模型目标

2.1.1 选择合适的模型类型

2.2 确定模型的输出

2.2.1 代理标签

2.3 设定效果指标

3. 实施模型

3.1 训练自己的模型与使用预训练模型

3.2 监控

3.2.1 模型部署

3.2.2 训练-服务偏差

3.2.3 推理服务器


1. 明确问题

在使用机器学习之前,首先要明确问题,以确定是否有必要且适合采用机器学习来解决问题,具体而言,需要完成以下任务:

  • 明确正在开发或重构的产品的目标。
  • 确定目标是否最好使用 ML 来解决。
  • 确认您拥有训练模型所需的数据。

1.1 描述目标

没有目标的前行犹如黑暗中的远征。首先以非 ML 术语描述目标。目标是对“我想要完成什么?”这个问题的回答。如下表所示,列举了几个虚拟应用程序的目标:

应用目标
天气应用以六小时为增量计算一个地理区域的降水量
视频应用推荐有用的视频
邮件应用检测垃圾邮件
地图应用计算旅行时间
银行应用程序识别欺诈交易
餐饮应用通过餐厅的菜单识别菜系

1.2 明确用例

有些人将 ML 视为可以应用于所有问题的通用工具。实际上,ML 是一种仅适用于特定问题的专用工具。当更简单的非 ML 解决方案足以满足需要时,则完全没有必要实施复杂的 ML 解决方案,须知,我们应该根据问题来设计解决方案,而不是先入为主,以解决方案来迎合问题。

那么,该如何确认 ML 是正确的方法呢?首先,需要验证当前的非 ML 解决方案是否足以满足需要。如果从未采用过非 ML 解决方案,那么,应先尝试使用非 ML 方案来解决问题。

非 ML 解决方案的效果可以作为“基线”,用来确定 ML 方案是否适用。在将非 ML 方法与 ML 方法进行比较时,需要考虑以下问题:

  • 质量。预期 ML 解决方案可以好到什么程度?如果预期 ML 解决方案只能带来微弱的优化,那么,当前的解决方案更合适,毕竟 ML 方案的成本很高,为了微弱的优化使用 ML 并不划算。

  • 成本和维护。ML 解决方案的短期和长期成本如何?在某些情况下,实施 ML 在计算资源和时间方面的成本要高得多。考虑以下问题:

    • 机器学习解决方案能否证明成本增加是合理的?请注意,大型系统中的小改进很容易证明实施 ML 解决方案的成本和维护是合理的。
    • 该解决方案需要多少维护?在许多情况下,ML 实施需要专门的长期维护。
    • 相关产品是否有资源来支持培训或雇用具有 ML 专业知识的人员?

1.3 分析数据

数据是 ML 的驱动力。在实际应用中,为了做出好的(准确的) 预测,需要包含具有预测能力的特征的数据。具体而言,数据应具有以下特征:

  • 丰富。数据集中的相关和有用的用例越多 ,训练的模型就越好。

  • 一致且可靠。拥有一致且可靠地收集的数据将产生更好的模型。例如,基于 ML 的天气模型将受益于多年来从相同可靠仪器收集的数据。

  • 值得信赖。获取数据的途径应是受控的可信来源,例如来自产品的日志(典型如用户点击、浏览数据)。如果数据来源不可控,则不适合采用 ML 。

  • 可用。确保所有输入在预测时都以正确的格式提供。如果在预测时难以获得某些特征值,请从数据集中忽略这些特征。

  • 正确。在大型数据集中,某些 标签的值不正确是不可避免的,但如果超过一小部分标签不正确,模型将产生糟糕的预测。这其实很好理解,试想,如果一本练习册的大部分参考答案都是错误的,那么根据这本练习册来训练是不可能取得好的结果的。

  • 代表。数据集应尽可能代表现实世界。换句话说,数据集应该准确地反映事件、用户行为和/或被建模的现实世界的现象。当模型被要求对现实世界进行预测时,对不具代表性的数据集进行训练可能会导致性能不佳。

如果无法获得满足上述要求的数据,那么,采用 ML 方案将无法带来良好的预测结果。

1.3.1 预测能力

为了使模型做出良好的预测,数据集中的特征应该具有预测能力。特征与标签的相关性越高,预测它的可能性就越大。例如,在天气数据集中,诸如云层覆盖范围(cloud_coverage)、气温、露点(drew point)之类的特征就要比月相、日期更能预测降雨。对于视频应用程序,则可以假设诸如视频介绍、时长和评论之类的特征是预测用户想要观看哪些视频的指标。

需要注意的是,特征的预测能力可能会随着上下文或领域的变化而变化。例如,在视频应用程序中,“上传时间”这一特征通常与标签弱相关,然而,在游戏视频的领域中,“上传时间”则可能与标签密切相关。

确定哪些特征具有预测能力可能是一个耗时的过程。在实际应用中,一般可以在训练模型时通过删除和添加特征来手动探索特征的预测能力。您可以使用 Pearson 相关性、 调整互信息 (AMI)和 Shapley 值等算法自动查找特征的预测能力,这些算法提供用于分析特征预测能力的数值评估。

1.3.2 预测对比

ML 最终是需要服务于具体的业务场景的,因此,如果不能将预测结果转化为对用户有帮助的行动,那么预测就没有任何价值。换言之,ML 方案的预测结果应该有助于采取行动。

2. 对问题进行框架处理

在明确问题适合采用用机器学习来解决后,就可以用机器学习术语刻画具体的问题了。通常,需要完成以下任务,根据机器学习术语构建问题:

  • 确定理想的结果和模型目标。
  • 确定模型的输出。
  • 设定成效指标。

2.1 确定理想的结果和模型目标

独立于机器学习模型的理想的结果是什么?换句话说,你希望产品或功能执行的确切任务是什么?这与前面【描述目标】部分中定义的语句相同。

通过明确定义希望模型执行的操作,将模型目标与理想结果相关联。如下表举例所示,说明了理想结果以及假设应用的目标。

应用广告系列理想结果模型的目标
天气应用程序计算某个地理区域的降水情况(以六小时为增量)。预测特定地理区域的 6 小时降水量。
视频应用推荐有用的视频。预测用户是否点击了视频。
“邮件”应用检测垃圾内容。预测电子邮件是否为垃圾邮件。
地图应用计算行程时间。预测两点之间将花费多长时间。
银行应用识别欺诈性交易。预测交易是否由持卡人进行。
“餐饮”应用根据餐厅的菜单识别美食。预测餐厅类型。

2.1.1 选择合适的模型类型

在实际应用中,选择的模型类型取决于问题的具体情况和限制。不同类型的问题适用的模型也不尽相同,通常需要“case by case”来分析。

分类模型——适用于预测输入数据属于哪个类别,例如,输入应归类为 A、B 还是 C。

图 1. 一种进行预测的分类模型。

在实际应用中,可能会根据模型的预测结果做出决定。例如,如果预测结果为类别 A,则执行 X;如果预测结果为类别 B,则执行 Y;如果预测结果为类别 C,则执行 Z。在某些情况下,预测结果是应用的输出。

图 2. 一个分类模型的输出在产品代码中做出决策。

回归模型——适用于预测将输入数据置于坐标轴的位置。

图 3. 进行数值预测的回归模型。

实际应用场景中,可能会根据模型的预测结果做出决定。例如,如果预测结果在范围 A 内,则执行 X;如果预测结果在范围 B 内,则执行 Y;如果预测结果在范围 C 内,则执行 Z。在某些情况下,预测结果是应用的输出。

图 4. 运用回归模型的输出来做出决策。

举个例子,假定存在如下场景:

假设需要根据视频的预测热门程度缓存视频。换言之,如果模型预测某个视频会比较受欢迎,则需要快速将其展示给用户。为此,这类视频可使用更高效、更昂贵的缓存。对于其他视频(非热门视频),则只需要使用普通缓存。综上,缓存条件如下:

  • 如果视频预计可获得 50 次或更多次观看,则可以使用高性能缓存。
  • 如果视频预计的观看次数会介于 30 到 50 之间,将使用普通缓存。
  • 如果视频预计获得的观看次数不足 30 次,不必缓存视频。

根据直观感受,上述场景适用回归模型,因为要预测一个数值(观看次数)。然而,在训练回归模型时,会发现对于观看次数为 30 次的视频,它的预测损失也为 28 和 32。换言之,如果预测结果为 28 与 32,应用的行为将截然不同。

图 5. 训练回归模型。

回归模型不了解产品定义的阈值。因此,如果应用因回归模型的预测结果存在细微差异而出现显著变化,则应考虑实现分类模型。在这种情况下,分类模型会产生正确的行为,因为分类模型的预测损失高于 32。从某种意义上讲,分类模型在默认情况下会生成阈值。

此场景着重说明了两个要点:

  • 预测决策。尽可能预测你的应用会做出的决策。在视频示例中,分类模型会预测将视频归为“无缓存”、“便宜缓存”和“昂贵缓存”的类别。从模型中隐藏应用的行为可能会导致应用产生错误的行为。

  • 了解问题的约束条件。如果你的应用根据不同的阈值执行不同的操作,请确定这些阈值是固定的还是动态的。

    • 动态阈值:如果阈值是动态的,请使用回归模型并在应用代码中设置阈值。这样,您就可以轻松更新阈值,同时仍使模型做出合理的预测。
    • 固定阈值:如果阈值固定,请使用分类模型并根据阈值限制为数据集添加标签。

    一般情况下,大多数缓存预配都是动态的,并且阈值会随着时间而变化。因此,由于这专门是一个缓存问题,因此回归模型是最佳选择。但是,对于许多问题,阈值将得到修复,从而使分类模型成为最佳解决方案。

2.2 确定模型的输出

模型的输出应能实现理想结果中定义的任务。如果使用的是回归模型,数值预测应提供实现理想结果所需的数据;如果使用的是分类模型,则分类预测应提供实现理想结果所需的数据。存在多种分类和回归模型子类型。使用相应流程图来识别使用的子类型。

分类流程图

图 6. 分类流程图。

回归流程图

图 7. 回归流程图。

在天气应用中,理想的结果是告知用户在接下来的六小时内会下雨。我们可以使用回归模型来预测标签——降雨量.

理想结果理想的标签
告知用户未来 6 小时内该地区会下雨,降雨量

在天气应用示例中,标签直接说明了理想结果。在某些情况下,理想的结果与标签之间不明显的一对一关系。例如,在视频应用中,理想的结果是推荐用户感兴趣的视频。但是,数据集中没有名为 useful_to_user 的标签。

理想结果理想的标签
推荐有用的视频。?

因此,在这种情况下,我们需要寻找代理标签。

2.2.1 代理标签

代理标签用于替代数据集中不存在的标签。如果无法直接衡量要预测的内容,则需要使用代理标签。在视频应用中,我们无法直接衡量用户是否认为视频有用(用户是否感兴趣或者感兴趣的程度)。如果数据集具有 useful 功能,并且用户标记了自己认为有用的所有视频,那就再好不过了,但是由于数据集没有这样的标签,因此需要使用代理标签来替代实用性。实用性的代理标签可能是用户是否会分享或顶过(赞过)视频。

理想结果代理标签
推荐有用的视频。分享 或 点赞

需要说明的是——请谨慎使用代理标签,因为它们不能直接衡量需要预测的内容。例如,下表概述了推荐实用视频的潜在代理标签问题:

代理标签问题
预测用户是否会点击“赞”按钮。大多数用户从未点击“赞”。
预测某个视频是否会受欢迎。未进行个性化设置。某些用户可能不喜欢热门视频。
预测用户是否分享视频。部分用户不分享视频。有时,人们会因为不喜欢视频而分享视频。
预测用户是否会点击播放。最大限度地增加点击诱饵。
预测他们观看视频的时长。他们喜欢长视频而非短视频。
预测用户会重新观看该视频的次数。更喜欢“可重复观看”的视频,而不是不可能重复观看的视频类型。

没有代理标签能完全替代您期望的成果。这一切都有潜在问题。请选择对您的用例而言问题最少的一个。

2.3 设定效果指标

定义效果指标将用于确定机器学习实现是否成功的指标。成功指标定义了产品关注的方面,例如互动或帮助用户采取适当的措施,例如观看他们认为有用的视频。成功指标不同于模型的评估指标,例如准确度、精确率、召回率或AUC。

例如,天气应用的成功和失败指标可能定义如下:

成功用户打开“会下雨吗?”功能的频率比之前要高 50%。
失败用户打开“会下雨吗?”功能的频率不会超过之前。

视频应用指标可能定义如下:

成功用户在网站上停留的时间平均增加了 20%。
失败用户在网站上停留的平均时间比以前要长。

通常,制定的成功指标应具有显著性,即成功和失败之间有显著差距。例如,用户在网站上停留的时间比之前平均增加了 10%,这既不是成功,也不是失败。未定义的间隔并不重要。

重要的是,模型能否更接近(或超出)成功的定义。例如,分析模型的性能时,请考虑以下问题:改进模型是否能让你更接近定义的成功标准?例如,模型可能有很棒的评估指标,但不会更接近你的成功标准,这意味着,即使是一个完美的模型,也无法满足你定义的成功标准。另一方面,模型可能具有低下的评估指标,但会更接近你的成功标准,表明改进模型会让你更接近成功。

在确定模型是否值得改进时,需要考虑以下维度:

  • 还不够好,但请继续操作。模型不应在生产环境中使用,但随着时间的推移,这可能会得到显著改进。

  • 足够好了,请继续。该模型可以在生产环境中使用,并可进一步改进。

  • 足够好了,但无法改进。该模型已在生产环境中,但可能得到了理想的效果。

  • 不够好,永远不会。模型不应该在生产环境中使用,且经过一定数量的训练都可能无法获得该模型。

在决定改进模型时,请重新评估资源增加情况(例如工程时间和计算费用)的合理性,看看是否有合理的改进模型。

在定义成功和失败指标后,需要确定衡量这些指标的频率。例如,可以在实现系统六天、六周或六个月后衡量您的成效指标。

在分析故障指标时,请尝试确定系统出现故障的原因。例如,模型可能会预测用户会点击的视频,但可能会开始推荐导致用户互动度下降的点击诱饵标题。在天气应用示例中,模型可能会准确预测何时会下雨但地理区域过大。

3. 实施模型

实施模型时,从简单开始。ML 中的大部分工作都在数据方面,因此为复杂模型运行完整的管道比在模型本身上迭代更难。在设置数据管道并实施使用一些功能的简单模型后,可以迭代创建更好的模型。简单的模型提供了一个很好的基线,即使你最终没有启动它们。事实上,使用简单模型可能比想象的要好。从简单开始可以帮助确定复杂模型是否合理。

3.1 训练自己的模型与使用预训练模型

许多预训练模型适用于各种用例,并提供许多优势。但是,预训练模型只有在标签和特征与数据集完全匹配时才真正起作用。例如,如果预训练模型使用 25 个特征,而数据集仅包含其中的 24 个特征,则预训练模型很可能会做出错误的预测。

通常,机器学习从业者使用来自预训练模型的匹配输入部分进行微调或迁移学习。如果您的特定用例不存在预训练模型,请考虑在训练您自己的模型时使用预训练模型的子部分。

有关预训练模型的信息,请参阅 TensorFlow Hub 中的预训练模型

3.2 监控

在问题框架中,考虑您的 ML 解决方案所需的监控和警报基础设施。

3.2.1 模型部署

在某些情况下,新训练的模型可能比当前生产中的模型更差。如果是,您将希望阻止它被发布到生产环境中,并收到您的自动化部署失败的警报。

3.2.2 训练-服务偏差

如果用于推理的任何传入特征的值超出训练中使用的数据的分布范围,您将需要收到警报,因为模型可能会做出糟糕的预测。例如,如果模型经过训练可以预测海平面上赤道城市的温度,那么服务系统应该提醒传入的经纬度数据和/或超出模型训练范围的海拔高度。相反,如果模型做出的预测超出训练期间看到的分布范围,服务系统应该发出提醒。

3.2.3 推理服务器

如果通过 RPC 系统提供推理,需要监视 RPC 服务器本身,并在它停止提供推理时收到警报。

4. 引用说明

本文源自谷歌机器学习资料(资料链接),笔者对其中内容进行了整理和翻译。感兴趣的读者可以点击资料链接,查看原文。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/667348.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

应届生软件面试自我介绍(合集)

应届生软件面试自我介绍篇【1】 尊敬的领导: 您好! 我是中南大学(原中南工业大学)冶金科学与工程学院2014年轻金属冶金专业应届毕业生。在此临近毕业之际,我希望能得到贵单位的赏识与栽培。为了发挥自己的才能,特向贵单位自荐。自我介绍 中南…

在元宇宙上做传统建筑施工培训提高培训安全性和效果

随着VR虚拟现实技术不断发展,VR元宇宙在建筑行业中的应用也越来越广泛。通过VR元宇宙技术打通虚拟空间和现实空间实现建筑全生命周期的改进和优化,形成全新的数字建造体系,达到降低成本、提高生产效率、高效协同的效果,促进建筑业…

SignalR 跨域问题(Vue3+Net6)

文章目录 背景困难~~*调用 UseCors*~~ 解决办法环境错误信息解决方式部分代码 问题分析 背景 使用前后端分离技术,前端使用Vue,部署在独立的服务器上,后端接口部署在另外一个服务器上。 困难 网上找了一个多小时的SignalR的跨域问题&#…

textract OCR的安装使用

安装 pip install textract使用 在 Python 中,textract 是一个用于提取文本和信息的库。它提供了一个函数 textract.process(),用于处理不同类型的文档并提取文本内容。下面是 textract.process() 函数的各个参数的介绍: filename&#xf…

spring boot框架步骤

目录 1. 创建一个新的Spring Boot项目2. 添加所需的依赖3. 编写应用程序代码4. 配置应用程序5. 运行应用程序6. 编写和运行测试7. 部署应用程序 总结 当使用Spring Boot框架开发应用程序时,以下是一些详细的步骤: 1. 创建一个新的Spring Boot项目 使用…

ChatGPT在物流与运输行业的智能场景:智能调度和自动驾驶的前瞻应用

第一章:引言 随着人工智能技术的飞速发展,物流与运输行业正迎来一场革命。传统的调度和运输模式已经无法满足快速增长的物流需求和客户期望。在这一领域,ChatGPT作为一种先进的自然语言处理模型,具有巨大的潜力。本文将探讨ChatG…

【经验贴】多项目并行,如何解决资源管理这个难点?

随着公司业务的逐步增加,我手上管理的项目也多了起来,开始接触了一些中大型项目。但还没来得及算能拿到多少项目奖金,我就被接踵而至的管理难题压得喘不过气来,第一次感受到多项目并行带来的手忙脚乱的感觉。 我首先遇到了各种资…

分享 7 个不常用但有用的 CSS 小技巧

在这篇文章中,我想向您展示一些简单的CSS技巧,您可以在下一个项目中使用它们。让我们开始吧! 1、-webkit-text-stroke 通过使用这个简单易用的属性,可以创建出酷炫的文字效果。它可以给文字添加描边。-webkit-text-stroke是-webki…

【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(6月19日论文合集)

文章目录 一、检测相关(7篇)1.1 Vehicle Occurrence-based Parking Space Detection1.2 Squeezing nnU-Nets with Knowledge Distillation for On-Board Cloud Detection1.3 MixedTeacher : Knowledge Distillation for fast inference textural anomaly detection1.4 Efficien…

金测评 听歌更自如的骨传导耳机,音质更出色,南卡Runner Pro 4S体验

我一直对骨传导耳机很感兴趣,因为这种耳机可以让我在户外运动的时候,既能享受音乐,又能保持对周围环境的敏感。为了获得更好的听歌体验,我的骨传导耳机换代频率很高,目前我用的是一款南卡Runner Pro 4S的骨传导耳机&am…

windows环境cmake引用boost库

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、下载源代码二、编译前准备1.操作系统2.gcc环境3.建立安装目录 三、开始编译1.解压源代码2.开始编译 四、开始使用1.Clion创建项目2.Boost版本差异3.Boost版…

数据结构Pta训练题函数题详解

​ pta网站:PTA | 程序设计类实验辅助教学平台 (pintia.cn) 文章内容较长,建议搭配目录使用 点击直达快乐 6-1 线性表元素的区间删除解析: 6-2 有序表的插入解析: 6-3 合并两个有序数组解析 6-4 顺序表操作集解析 6-5 递增的整数…

Linux磁盘空间占满,但搜不到大文件

使用 df -h 查看磁盘空间 使用 du -sh * 查看每个目录的大小 经过查看没有发现任何大的文件夹。 继续下面的步骤 如果您的Linux磁盘已满,但是通过 du -sh 找不到大文件,可能是因为有一些进程正在写入磁盘,但是这些文件已经被删除&#…

与用户同行!2023卡萨帝开启高端生活方式新时代

6月20日,2023思享荟暨卡萨帝品牌升级发布会在重庆国际博览中心举行。在经历了高端产品引领、高端品牌引领、高端场景引领后,卡萨帝启动全新品牌升级,持续与用户同行,开启高端生活方式引领的新时代。 现场,海尔智家副总…

千万不能小瞧的PCB半孔板

PCB半孔是沿着PCB边界钻出的成排的孔,当孔被镀铜时,边缘被修剪掉,使沿边界的孔减半,让PCB的边缘看起来像电镀表面孔内有铜。 模块类PCB基本上都设计有半孔,主要是方便焊接,因为模块面积小,功能…

一键打车/代驾小程序源码app+司机入住uniapp+thinkphp

一键打车/代驾小程序源码app司机入住uniappthinkphp 系统技术架构 开发环境:PHP7.2 mysql5.7 后端:thinkphp 前端:uniapp 后台管理:PC端 司机端:安卓端 苹果端 乘客端:安卓端 苹果端 小程序端 功…

ai聊天推荐这些工具,告诉你ai聊天网站有哪些

“ai聊天网站有哪些”是一个常见的问题,当今互联网时代,人工智能技术正在不断发展,ai聊天网站和软件成为了人们交流和获取信息的重要工具。本文将为您介绍一些知名的ai聊天网站和软件,让您快速了解“ai聊天网站有哪些”这个问题。…

按钮权限布局(设置 element中 tree 树的排列)

页面中使用 <el-buttontype"text"click"edit(slotProps.date)"v-btn-key"[client:clue:update]">编辑</el-button><el-buttontype"text"click"del(slotProps.date)"v-btn-key"[client:clue:delete]&quo…

想读2023级中外合作办学硕士,人大女王金融硕士国际班或许是你最后的机会了

已经进入6月下旬&#xff0c;大部分院校中外合作办学在职研究生的招生已经截止&#xff0c;部分同学还在犹豫纠结中&#xff0c;各大高校的名额就已经都满了。想要读2023级还有可能吗&#xff1f;中国人民大学与加拿大女王大学金融硕士国际班还能给你一次机会。 虽然我们无法确…

【2023 阿里云云计算工程师 ACP 认证练习题库】03、ECS 知识点题库(下)

目录 单选题 1 2 3 答案与解析 4 ​5 6 ​答案与解析 7 8 答案与解析 9 ​答案与解析 10 ​答案与解析 11 12 13 14 15 16 答案与解析 17 18 19 20 21 22 23 24 25 ​答案与解析 26 27 28 29 ​答案与解析 …