“多类神经网络”组件

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

使用此组件可创建一个可用于预测包含多个值的目标的神经网络模型。

例如,此类神经网络可用于复杂的计算机视觉任务,如数字或字母识别、文档分类和模式识别。

使用神经网络进行分类是一种监督式学习方法,因此需要一个“带标记的数据集”(其中包含一个标签列)

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

关于神经网络

神经网络是一组互连的层。 输入是第一层,并通过由加权边缘和节点组成的无环图连接到一个输出层。

在输入层和输出层之间,可以插入多个隐藏层。 大多数预测任务只需使用一个或几个隐藏层即可轻松完成。 但是,最近的研究表明,多层深度神经网络 (DNN) 可有效地完成复杂任务,如图像或语音识别。 后续层用于为不断增加的语义深度级别建模。

输入与输出之间的关系可通过基于输入数据对神经网络进行训练来了解。 图形的方向是从输入层到隐藏层,再到输出层。 每一层中的所有节点都通过加权边缘连接到下一层中的节点。

为了针对特定输入计算网络的输出,会在隐藏层和输出层中的每个节点上计算一个值。 此值是通过计算上一层中节点的值的加权和来设置的。 然后会向该加权和应用一个激活函数。

配置多类神经网络

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

  2. 创建训练程序模式:此选项可用于指定模型的训练方式:

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

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

  3. 隐藏层规范:选择要创建的网络体系结构的类型。

    • 完全连接的情况:选择此选项可使用默认的神经网络体系结构创建模型。 对于多类神经网络模型,默认值如下所示:

      • 一个隐藏层
      • 输出层完全连接到隐藏层。
      • 隐藏层完全连接到输入层。
      • 输入层中的节点数取决于训练数据中的功能数。
      • 隐藏层中的节点数可由用户设置。 默认值为 100。
      • 输出层中的节点数取决于类的数量。
  4. 隐藏节点数:借助此选项,可自定义默认体系结构中的隐藏节点数。 键入隐藏节点数。 默认为一个隐藏层,其中包含 100 个节点。

  5. 学习速率:定义更正之前每次迭代要执行的步骤的大小。学习速率的值越大,模型的汇聚速度就越快,但它可以超过本地最小值。

  6. 学习迭代数:指定算法应处理训练事例的最大次数。

  7. 初始学习权重直径:指定学习过程开始时的节点权重。

  8. 动量:指定在学习过程中要应用到之前迭代中的节点的权重。

  9. 随机选择示例:选择此选项可在迭代间随机选择事例。

    如果取消选择此选项,则每次运行管道时,都会以完全相同的顺序处理事例。

  10. 随机数种子:如果要确保同一管道的运行可重复,请键入要用作种子的值。

  11. 训练模型:

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

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

    注意

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

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

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

结果

在训练完成后:

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

后续步骤

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