连续机器学习是 IBM 研究的结果,并且受到生物学中自然选择的启发,可用于“自动分类器”节点和“自动数值”节点。
建模的不便之处在于,由于随时间推移对数据的更改,模型会变得过时。 这通常称为模型漂移或概念漂移。 为了有效地帮助克服模型漂移,SPSS Modeler 提供了连续的自动化机器学习。
什么是模型漂移? 基于历史数据构建模型时,它可能会变得停滞。 在许多情况下,新数据总是不断涌现(新变化、新模式、新趋势等),而旧历史数据无法加以捕获。 为了解决此问题,IBM 受到生物学中称为物种自然选择的著名现象启发。 可以将模型视为物种,将数据视为大自然。 正如大自然选择物种一样,我们应该让数据选择模型。 模型和物种之间有一个很大的区别: 物种可以进化,但模型建成后是静态的。
物种进化有两个前提条件:第一个是基因突变,第二个是种群。 现在,从建模的角度来看,为了满足第一个前提条件(基因突变),我们应该在现有模型中引入新的数据更改。 为了满足第二个前提条件(种群),我们应该使用多个模型,而不是仅使用一个模型。 什么可以表示多个模型? 整体模型集 (EMS)!
下图说明 EMS 可以如何进化。 图的左上部分表示具有混合分区的历史数据。 混合分区可确保丰富的初始 EMS。 图的右上部分表示变为可用的新数据块,其中每侧都有垂直条。 左侧垂直条表示当前状态,右侧垂直条表示有模型漂移风险时的状态。 在新的每一轮连续机器学习中,将执行两个步骤以使模型进化并避免模型漂移。
首先,使用现有训练数据构造整体模型集 (EMS)。 在此之后,当新的数据块变为可用时,将根据该新数据构建新模型并将其作为组件模型添加到 EMS 中。 EMS 中现有组件模型的权重将使用新数据重新评估。 由于此重新评估,为当前预测选择了权重较高的组件模型,并且可以从 EMS 删除权重较低的组件模型。 此过程将针对模型权重和模型实例刷新 EMS,从而以灵活且高效的方式进化,以应对数据随时间推移而不可避免的变化。
整体模型集 (EMS) 是生成的自动模型块,在自动建模节点与定义它们之间刷新关系的所生成自动模型块之间存在刷新链接。 当您启用连续自动机器学习时,会不断向自动建模节点提供新的数据资产以生成新的组件模型。 模型块将更新而不是替换。
下图提供了 EMS 在连续机器学习场景中的内部结构示例。 仅为当前预测选择了前三个组件模型。 对于每个组件模型(标注为 M1、M2 和 M3),将保留两种权重。 当前模型权重 (CMW) 描述组件模型针对新数据块的性能,而累计模型权重 (AMW) 描述组件模型针对最近数据块的综合性能。 AMW 通过 CMW 和自身的先前值进行迭代计算,并有一个超参数 β 用于在它们之间进行平衡。 计算 AMW 的公式称为指数移动平均值。
当新的数据块变为可用时,首先 SPSS Modeler 会将其用于构建一些新的组件模型。 在此示例图中,模型四 (M4) 使用在初始模型构建过程中计算的 CMW 和 AMW 进行构建。 然后,SPSS Modeler 使用新数据块重新评估现有组件模型的测量(M1、M2 和 M3),并根据重新评估结果更新其 CMW 和 AMW。 最后,SPSS Modeler 可能会根据 CMW 或 AMW 对组件模型进行重新排序,并相应地选择前三个组件模型。
在此图中,将使用标准化值 (sum = 1) 描述 CMW,并根据 CMW 计算 AMW。 在 SPSS Modeler 中,为简单起见,选择了绝对值(等于所选评估加权测量,例如,准确性)来表示 CMW 和 AMW。
- 当前模型权重 (CMW) 是通过针对新数据块的评估(例如,新数据块上的评估准确性)来计算的。
- 累计模型权重 (AMW) 是通过组合 CMW 和现有 AMW(例如,指数加权移动平均值 (EWMA))计算的。
用于计算 AMW 的指数移动平均值公式:
在 SPSS Modeler 中,运行“自动分类器”节点以生成模型块后,以下模型选项可用于连续机器学习:
- 在模型刷新期间启用连续自动机器学习。 选择此选项以启用连续机器学习。 请记住,必须使用一致的元数据(数据模型)来训练连续自动模型。 如果选择此选项,那么将启用其他选项。
- 启用自动模型权重重新评估。 此选项控制在模型刷新期间是否计算并更新评估测量(例如,准确性)。 如果选择此选项,那么将在 EMS(模型刷新期间)之后运行自动评估过程。 这是因为通常需要使用新数据重新评估现有组件模型,以反映数据的当前状态。 然后,EMS 组件模型的权重根据重新评估结果来分配,并且权重用于确定组件模型对最终整体预测的贡献比例。 缺省情况下,该选项被选中。
以下是“自动分类器”节点支持的 CMW 和 AMW:
表 1. 支持的 CMW 和 AMW 目标类型 CMW AMW 标志目标 总体准确性
曲线下面积累计准确性
累计 AUC设置目标 总体准确性 累计准确性 以下三个选项与 AMW 相关,AMW 用于评估组件模型在最近数据块周期内的性能:
- 在模型权重重新评估期间启用累计因子。 如果选择此选项,那么将在模型权重重新评估期间启用 AMW 计算。 AMW 表示最近数据块周期内 EMS 组件模型的综合性能,与先前列出的 AMW 公式中定义的累积因子 β 相关,您可以在节点属性中进行调整。 如果未选择此选项,那么将仅计算 CMW。 缺省情况下,该选项被选中。
- 基于模型刷新期间的累计限制来执行模型缩减。 如果希望在模型刷新期间从自动模型 EMS 中移除 AMW 值低于指定限制的组件模型,请选择此选项。 这有助于废弃对于阻止自动模型 EMS 变得太重没有用处的组件模型。累计限制值评估与选择评估加权投票作为整体方法时使用的加权测量相关。 请参阅以下内容。
请注意,如果选择模型准确性作为评估加权测量,那么将删除累计准确性低于指定限制的模型。 此外,如果选择曲线下面积作为评估加权测量,那么将删除累计 AUC 低于指定限制的模型。
缺省情况下,模型准确性用于“自动分类器”节点的评估加权测量,并且在标志目标的情况下有可选的 AUC ROC 测量。
- 使用累计评估-加权投票。 如果要将 AMW 用于当前评分/预测,请选择此选项。 否则,缺省情况下将使用 CMW。 选择评估加权投票作为整体方法时,将启用此选项。
请注意,对于标志目标,通过选择此选项,如果选择模型准确性作为评估加权测量,那么将使用累计准确性作为 AMW 以执行当前评分。 或者,如果选择曲线下面积作为评估加权测量,那么累计 AUC 将用作 AMW 以执行当前评分。 如果未选择此选项,并且选择模型准确性作为评估加权测量,那么总体准确性将用作 CMW 以执行当前评分。 如果选择曲线下面积,那么曲线下面积将用作 CMW 以执行当前评分。
对于设置目标,如果选择此使用累计评估-加权投票选项,那么累计准确性将用作 AMW 以执行当前评分。 否则,总体准确性将用作 CMW 以执行当前评分。
通过连续自动机器学习,自动模型块将通过重新构建自动模型来不断进化,这可确保您获得反映数据当前状态的最新版本。 利用 SPSS Modeler,可以根据当前权重在 EMS 中灵活地选择不同的前 N 个组件模型,从而与不同周期内的不同数据保持同步。
示例
在此示例中,连续机器学习在电信行业用于预测行为并保留客户。
在以下流程中,数据资产包含有关在最近一个月内离开的客户的信息(Churn
列)。 由于每月将有新数据可用,因此该场景适合连续机器学习。 在此示例中,1 月 (Jan
) 数据用于构造初始自动模型,然后 2 月 (Feb
) 数据用于通过连续机器学习来增强自动模型。
现在我们来看看自动模型块内部的内容。 我们可以看到它包含三个组件模型,对应于我们选择的三种算法。 对于每个组件模型,生成了若干评估测量(如准确性和曲线下面积)。 这些评估测量描述组件模型针对训练数据(1 月数据集)的性能。 您可以选择要在当前整体预测中使用的组件模型。
您还可以看到累计评估测量。 这些累计测量用于连续机器学习,因为它们描述了组件模型针对最近数据更改的性能,以便您了解模型在一段时间内的综合性能。 由于这是我们的初始自动模型,因此我们看到累计测量的初始值与相关当前测量相同。 缺省情况下,会根据训练数据计算评估测量,因此可能存在一定程度的过度拟合。 为避免此情况,“自动分类器”节点提供了构建选项,用于通过交叉验证来计算更稳定的评估测量。
接下来,我们来看看最终整体预测是如何生成的。 如果打开自动模型的属性,那么在整体标志目标下,训练目标流失字段为“是/否”标志目标。 在整体设置目标下(对于包含两个以上值的设置目标字段),有一个整体方法下拉列表。 下拉列表中提供了多个选项(例如,多数投票表示每个组件模型持有一张要投票的票,而置信度加权投票表示每个组件模型的预测的置信度字段将用作投票权重,其中置信度越高,对最终整体预测的影响越大)。 类似地,为了更好地支持连续机器学习,评估加权投票可用,以便组件模型的评估测量(例如,模型准确性或曲线下面积)将用作投票权重。 对于标志目标的情况,还有一个选项,可用于在使用评估加权投票时选择特定的评估测量作为投票权重。 对于设置目标的情况,当前仅支持准确性。
在整体公共设置下,您可以打开连续机器学习。 然后,我们可以使用 2 月数据来查看发生的情况。 我们可以选择两种不同的算法来区分现有组件模型算法。 然后,在重新构建流程并查看自动模型的内容之后,我们看到添加了两个新的组件模型(C5 和 C&RT)。 我们还注意到,已重新计算现有组件模型的评估测量。 CMW 测量和 AMW 测量均与之前不同。 现在,我们可以将它们与原始自动模型中的相应测量进行比较。
现在如何操作? 通过增强的自动模型,我们可以选择划分优先级的评估度量,并获取按该度量排序的前 N 个组件模型。 然后,我们可以使用前 N 个组件模型来参与针对传入预测分析请求的最终整体预测。 此外,如果为整体方法选择了评估加权投票,那么我们可以通过直接在整体公共设置下选择使用累计评估-加权投票选项,将累计测量用作投票权重。 如果取消选择此项,那么缺省情况下将在评估加权投票中使用 CMW 测量。
通过连续机器学习,自动模型会在持续根据新数据块进行重建的同时不断进化,从而确保您的模型是反映数据当前状态的最新版本。 这样可以根据当前或累计评估测量在 EMS 中灵活地选择不同的前 N 个组件模型,从而与不同周期内的不同数据保持同步。
您可以定期选择将最新的自动模型部署到 Watson Machine Learning 中以方便使用。