了解问题

如需了解问题,请执行以下任务:

  • 说明您正在开发或重构的产品的目标。
  • 确定目标是最好使用预测式机器学习、生成式 AI 还是非机器学习解决方案来实现。
  • 如果您使用的是预测性机器学习方法,请验证您是否拥有训练模型所需的数据。

陈述目标

首先用非机器学习术语来说明您的目标。“我的目标”就是 “我要实现什么目标?”这一问题

下表明确说明了假设性应用的目标:

应用 目标
天气应用 计算某个地理区域的降水量(以 6 小时为增量)。
时尚应用 生成各种衬衫设计。
视频应用 推荐有用的视频。
“邮件”应用 检测垃圾内容。
金融应用 汇总来自多个新闻媒体的财务信息。
地图应用 计算行程时间。
银行应用 识别欺诈性交易。
用餐应用 根据餐馆的菜单识别菜式。
电子商务应用 回复评价并提供有用的答案。

清楚说明机器学习用例

有些人将机器学习视为适用于所有问题的通用工具。实际上,机器学习是一种只适合处理特定问题的专业工具。您不想在更简单的非机器学习解决方案可行的情况下实现复杂的机器学习解决方案。

机器学习系统可分为两大类:预测性机器学习生成式 AI。下表列出了其定义特征:

输入 输出 训练方法
预测性机器学习 文字
图片
音频
视频
数值
进行预测,例如,将电子邮件归类为垃圾邮件或非垃圾邮件、猜测明天的下雨情况或预测股票价格。 通常可以根据实际情况验证输出结果。 通常使用大量数据来训练监督式、非监督式或强化学习模型,以执行特定任务。
生成式 AI 文字
图片
音频
视频
数值
根据用户意图生成输出,例如总结一篇文章、制作音频剪辑或短视频。 通常使用大量无标签数据来训练大型语言模型或图片生成器,以填充缺失的数据。然后,该模型可以用于框架处理为填空任务的任务,或者可以通过针对某些特定任务(如分类)用带标签数据训练模型来微调。

如需确认机器学习是正确的方法,请先验证您当前的非机器学习解决方案是否已优化。如果您未实现非机器学习解决方案,请尝试使用启发法手动解决问题。

非机器学习解决方案是您用于确定机器学习是否适合您问题的基准。将非机器学习方法与机器学习方法进行比较时,请考虑以下问题:

  • 画质。您认为机器学习解决方案可以带来多少更好?如果您认为机器学习解决方案可能只是细微的改进,这可能表示当前解决方案是最好的。

  • 费用和维护。从短期和长期来看,机器学习解决方案的费用有多高?在某些情况下,实现机器学习的计算资源和时间要高得多。请考虑以下问题:

    • 该机器学习解决方案能否证明成本增加是值得的?请注意,对大型系统进行细微改进可以轻松证明实现机器学习解决方案的费用和维护费用。
    • 该解决方案需要多少维护时间?在许多情况下,机器学习实现需要专用的长期维护。
    • 您的产品是否具备相关资源来支持培训或聘用具备机器学习专业知识的人员?

检查您的理解情况

为什么在分析机器学习解决方案之前,有必要制定非机器学习解决方案或启发法?
非机器学习解决方案是衡量机器学习解决方案所依据的基准。
非机器学习解决方案可帮助您确定机器学习解决方案的费用。

预测性机器学习和数据

数据是预测性机器学习的驱动力。为了进行良好的预测,您需要包含具有预测能力的特征的数据。您的数据应具有以下特征:

  • 丰富数据集中的示例越相关、越实用,模型就越好。

  • 一致且可靠。能够获得一致且可靠地收集的数据有助于生成更好的模型。例如,基于机器学习的天气模型将受益于多年来从相同的可靠仪器收集的数据中。

  • 可信。了解数据的来源。数据是来自您控制的可信来源(例如来自您的产品的日志),还是来自您不太了解的来源(例如来自其他机器学习系统的输出)?

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

  • 正确。在大型数据集中,某些标签包含错误的值不可避免,但如果只有一小部分标签不正确,模型将会产生糟糕的预测。

  • 具有代表性。数据集应尽可能代表真实世界。换言之,数据集应准确反映建模对象中真实世界的事件、用户行为和/或现象。使用不具代表性的数据集进行训练时,如果要求模型进行实际预测,则可能会导致性能不佳。

如果您无法以所需格式获得所需的数据,模型将无法做出正确的预测。

预测能力

要使模型做出良好的预测,数据集中的特征应具有预测能力。特征与标签的相关性越高,预测它的可能性就越大。

一些特征的预测能力比其他特征更高。例如,在天气数据集中,cloud_coveragetemperaturedew_point 等特征比 moon_phaseday_of_week 更能预测降雨情况。对于视频应用示例,您可以假设 video_descriptionlengthviews 等功能可能是很好地预测用户想要观看的视频。

请注意,特征的预测能力可能会因上下文或领域的变化而发生变化。例如,在视频应用中,像 upload_date 这样的功能通常可能与标签不太相关。但是,在游戏视频的子网域中,upload_date 可能与标签密切相关。

确定哪些特征具有预测能力可能是一个耗时的过程。您可以在训练模型时移除和添加某个特征的预测能力,从而手动探索该特征的预测能力。您可以使用 Pearson 相关性调整的相互信息 (AMI)Shapley 值等算法自动确定功能的预测能力,这些算法提供用于分析功能预测能力的数值评估。

检查您的理解情况

分析数据集时,您应该关注哪三个关键属性?
现实世界的代表。
包含正确的值。
特征对标签具有预测能力。
小到可以加载到本地机器上。
收集自各种不可预测的来源。

如需有关分析和准备数据集的更多指导,请参阅机器学习的数据准备和特征工程

预测与操作

如果无法将预测转化为对用户有益的操作,则对结果的预测没有价值。也就是说,您的产品应该根据模型的输出执行操作。

例如,一个用于预测用户是否会觉得视频有用的模型应该馈送到推荐有用视频的应用中。一个用于预测是否会下雨的模型,用于预测是否应该馈送到天气应用。

检查您的理解情况

根据以下场景,确定使用机器学习是否为解决该问题的最佳方法。

一家大型组织的工程团队负责管理来电。

目标:根据当前通话音量,告知来电者将在保持通话状态后等待多长时间。

他们尚无任何解决方案,但认为启发式方法,将当前等待的客户数量除以接听电话的员工人数,然后乘以 10 分钟。但是,他们知道有些客户的问题会在两分钟内得到解决,而有些客户可能需要长达 45 分钟或更长时间才能解决问题。

其启发法可能无法获得足够精确的数字。他们可以创建包含以下列的数据集:number_of_callcenter_phonesuser_issuetime_to_resolvecall_timetime_on_hold

使用机器学习。工程团队有明确的目标。它们的启发法并不足以满足其使用场景。该数据集似乎具有标签 time_on_hold 的预测特征。
请勿使用机器学习。虽然他们有明确的目标,但应该首先实现和优化非机器学习解决方案。此外,他们的数据集似乎不包含足够具有预测能力的特征。