Compartir a través de

“神经网络回归”组件

使用神经网络算法创建回归模型

类别:机器学习/初始化模型/回归

组件概述

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

使用此组件可利用可自定义的神经网络算法创建回归模型。

尽管神经网络广泛用于深度学习和建模的复杂问题(如图像识别),但它们可以轻松地适应回归问题。 如果有任何统计模型类使用自适应权重,并且这些类可以逼近自身输入的非线性函数,则可以将其称为神经网络。 因此神经网络回归适用于更传统的回归模型无法适应解决方案的问题。

神经网络回归是一种监督式学习方法,因此需要一个“带标记的数据集”(其中包含一个标签列)。 由于回归模型预测数值,因此标签列必须是数值数据类型。

通过提供模型和带标记的数据集作为训练模型的输入,可对模型进行训练。 然后,可使用训练后的模型来预测新输入示例的值。

配置神经网络回归

可以广泛地自定义神经网络。 本节介绍如何使用以下两种方式创建模型:

  • 使用默认体系结构创建神经网络模型

    如果接受默认的神经网络体系结构,请使用“属性”窗格设置控制神经网络行为的参数,如隐藏层中的节点数、学习比率和规范化。

    如果不熟悉神经网络,请先从本节开始。 该组件支持许多自定义和模型优化,而无需深入了解神经网络。

  • 定义神经网络的自定义体系结构

    如果想要添加额外的隐藏层,或完全自定义网络体系结构、连接和激活功能,请使用此选项。

    如果你对神经网络已有一定程度的了解,最好选择此选项。 使用 Net# 语言定义网络体系结构。

使用默认体系结构创建神经网络模型

  1. 在设计器中将“神经网络回归”组件添加到管道。 可以在“机器学习”、“初始化”下的“回归”类别中找到此组件 。

  2. 通过设置“创建训练程序模式”选项,指示如何训练模型。

    • 单个参数:如果已知如何配置模型,请选择此选项。

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

  3. 在“隐藏层规范”中,选择“完全连接事例” 。 此选项使用默认的神经网络体系结构创建模型,这种网络体系结构对于神经网络回归模型具有以下属性:

    • 网络只有一个隐藏层。
    • 输出层完全连接到隐藏层,并且隐藏层完全连接到输入层。
    • 隐藏层中的节点数可由用户设置(默认值为 100)。

    由于输入层中的节点数取决于训练数据中的功能数,因此在回归模型中,输出层只能有一个节点。

  4. 对于“隐藏节点数”,请键入隐藏节点的数目。 默认为一个隐藏层,其中包含 100 个节点。 (如果使用 Net# 定义自定义体系结构,则不可用此选项。)

  5. 对于“学习比率”,请键入一个值,用于定义更正之前每次迭代要执行的步骤。 学习比率的值越大,模型的汇聚速度就越快,但它可以超过本地最小值。

  6. 对于“学习迭代数”,请指定算法处理训练事例的最大次数。

  7. 对于“动力”,请键入一个要在学习过程中应用的值,作为之前迭代中的节点的权重。

  8. 选择“无序播放示例”选项,以更改迭代之间的事例顺序。 如果取消选择此选项,则每次运行管道时,都会以完全相同的顺序处理事例。

  9. 对于“随机数种子”,可以选择键入一个值,将其用作种子。 指定种子值对于确保同一管道的运行可重复性非常重要。

  10. 连接训练数据集,然后训练模型:

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

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

    注意

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

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

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

  11. 提交管道。

结果

在训练完成后:

  • 若要保存已训练模型的快照,请选择“训练模型”组件右侧面板中的“输出”选项卡。 选择“注册数据集”图标以将模型保存为可重用组件。

后续步骤

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