线性回归组件

本文介绍 Azure 机器学习设计器中的一个组件。

使用此组件可以创建可在管道中使用的线性回归模型。 线性回归尝试在一个或多个自变量与数字结果或因变量之间建立线性关系。

使用此组件可以定义线性回归方法,然后使用带标签的数据集训练模型。 然后,可以使用训练后的模型进行预测。

关于线性回归

线性回归是一种常用的统计方法,它已在机器学习中得到运用,并已通过许多用于拟合线条和度量错误的新方法得到增强。 简单地说,回归是指数字目标的预测。 需要使用简单模型来完成基本预测任务时,线性回归仍不失为一个极佳的选项。 此外,线性回归往往能够很好地处理缺少复杂性的高维稀疏数据集。

除线性回归以外,Azure 机器学习还支持其他多种回归模型。 但是,术语“回归”可能会得到不严格的解释,其他工具中提供的某些回归类型不受支持。

  • 典型的回归问题涉及到一个自变量和一个因变量。 这称为“简单回归”。 此组件支持简单回归。

  • “多重线性回归”涉及到影响单个因变量的两个或更多个自变量。 使用多个输入来预测单个数字结果的问题也称为“多变量线性回归”。

    与其他大部分回归组件一样,“线性回归”组件可以解决这些问题。

  • “多标签回归”是在单个模型中预测多个因变量的任务。 例如,在多标签逻辑回归中,可将一个样本分配到多个不同的标签。 (不同于在单个类变量中预测多个级别的任务。)

    Azure 机器学习不支持这种类型的回归。 若要预测多个变量,请为要预测的每个输出单独创建一个学习器。

多年来,统计学家一直在开发更先进的回归方法。 对于线性回归也是如此。 此组件支持通过以下两种方法来度量错误和拟合回归线:普通最小二乘法和梯度下降。

  • “梯度下降”法尽量将模型训练过程的每个步骤中的错误量减到最少。 梯度下降法存在许多变数,本行业已广泛研究了此方法针对各种学习问题的优化措施。 如果选择此选项作为解决方法,可以设置各种参数来控制步骤大小、学习速率等。 此选项还支持使用集成式参数扫描。

  • “普通最小二乘法”是线性回归中最常用的方法之一。 例如,Microsoft Excel 的分析工具库中就使用了最小二乘法。

    普通最小二乘法是指损失函数,该函数将误差计算为实际值与预测线之间差值的平方和,通过最小化平方误差来拟合模型。 此方法假设输入与因变量之间存在较强的线性关系。

配置线性回归

此组件支持使用两种方法通过不同的选项来拟合回归模型:

使用普通最小二乘法创建回归模型

  1. 将“线性回归模型”组件添加到设计器中的管道。

    可以在“机器学习”类别中找到此组件。 依次展开“初始化模型”、“回归”,然后将“线性回归模型”组件拖放到管道中 。

  2. 在“属性”窗格中的“解决方法”下拉列表内,选择“普通最小二乘法”。 此选项指定用于查找回归线的计算方法。

  3. 在“L2 正则化权重”中,键入用作 L2 正则化权重的值。 建议使用非零值以避免过度拟合。

    若要详细了解正则化如何影响模型拟合,请参阅以下文章:机器学习的 L1 和 L2 正则化

  4. 若要查看截距的项,请选择选项“包括截获项”。

    如果不需要查看回归公式,请取消选择此选项。

  5. 对于“随机数种子”,可以选择性地键入一个值以设定模型所用随机数生成器的种子。

    如果你希望每次运行相同的管道都获得相同的结果,则使用种子值会很有用。 否则,默认会使用系统时钟中的值。

  6. 训练模型组件添加到管道,并连接带标签的数据集。

  7. 提交管道。

普通最小二乘法模型的结果

在训练完成后:

  • 若要做出预测,请将训练后的模型连同包含新值的数据集一起连接到评分模型组件。

使用在线梯度下降创建回归模型

  1. 将“线性回归模型”组件添加到设计器中的管道。

    可以在“机器学习”类别中找到此组件。 依次展开“初始化模型”、“回归”,然后将“线性回归模型”组件拖放到管道中 。

  2. 在“属性”窗格中的“解决方法”下拉列表内,选择“在线梯度下降”作为用于查找回归线的计算方法。

  3. 对于“创建训练器模式”,请指示是要使用一组预定义的参数来训练模型,还是要使用参数扫描来优化模型。

    • 单个参数:如果你知道自己想要如何配置线性回归网络,可以提供一组特定的值作为参数。

    • 参数范围:如果无法确定最佳参数并想要运行参数扫描,请选择此选项。 选择要循环访问的值范围,优化模型超参数模块将循环访问所提供的设置的所有可能组合,以确定产生最佳结果的超参数。

  4. 对于“学习速率”,请指定随机梯度下降优化器的初始学习速率。

  5. 对于“训练时期数”,请键入一个值,指示算法迭代示例的次数。 对于包含少量示例的数据集,此数字应足够大,以实现收敛。

  6. 规范化特征:如果已规范化用于训练模型的数字数据,则可以取消选择此选项。 默认情况下,该组件将所有数字输入规范化为 0 到 1 的范围。

    注意

    请记得对用于评分的新数据应用相同的规范化方法。

  7. 在“L2 正则化权重”中,键入用作 L2 正则化权重的值。 建议使用非零值以避免过度拟合。

    若要详细了解正则化如何影响模型拟合,请参阅以下文章:机器学习的 L1 和 L2 正则化

  8. 如果希望学习速率随着迭代的不断进行而降低,请选择选项“降低学习速率”。

  9. 对于“随机数种子”,可以选择性地键入一个值以设定模型所用随机数生成器的种子。 如果你希望每次运行相同的管道都获得相同的结果,则使用种子值会很有用。

  10. 训练模型:

    • 如果将“创建训练器模式”设置为“单个参数”,请连接标记的数据集和训练模型组件。

    • 如果将“创建训练程序模式”设置为“参数范围”,请连接带标记的数据集并使用优化模型超参数来训练模型

    注意

    如果将参数范围传递给训练模型,则它只使用单个参数列表中的默认值。

    如果将一组参数值传递给优化模型超参数组件,则当它期望每个参数有一系列设置时,它会忽略这些值,对学习器使用默认值。

    如果选择“参数范围”选项并为任何参数输入单个值,则整个整理过程中都会使用你指定的单个值,即使其他参数的值发生一系列更改

  11. 提交管道。

在线梯度下降的结果

训练完成后:

  • 若要做出预测,请将已训练的模型连同新的输入数据一起连接到评分模型组件。

后续步骤

请参阅 Azure 机器学习可用的组件集