“双类神经网络”组件

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

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

使用神经网络进行分类是一种监督式学习方法,因此需要一个“带标记的数据集”(其中包含一个标签列)。 例如,你可以使用此神经网络模型来预测二元结果,例如患者是否具有特定疾病,或者计算机是否可能在指定时间段内失败。

在定义模型后,通过提供一个带标记的数据集和模型作为训练模型的输入来对其进行训练。 然后,可以使用训练后的模型针对新输入来预测值。

有关神经网络的详细信息

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

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

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

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

配置方式

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

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

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

    • 参数范围:如果不确定最佳参数,可以使用优化模型超参数组件找到最佳参数。 你提供某个值范围,然后训练程序就会循环访问多个设置组合,以确定可产生最佳结果的值组合。

  3. 对于“隐藏层规范”,请选择要创建的网络体系结构的类型。

    • 完全连接的情况:使用为双类神经网络定义的默认神经网络体系结构,如下所述:

      • 有一个隐藏层。

      • 输出层完全连接到隐藏层,并且隐藏层完全连接到输入层。

      • 输入层中的节点数等于训练数据中的特征数。

      • 隐藏层中的节点数是由用户设置的。 默认值为 100。

      • 节点数等于类的数目。 对于双类神经网络,这意味着所有输入都必须映射到输出层中的两个节点之一。

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

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

  6. 对于“初始学习权重直径”,在学习过程开始时,指定节点权重。

  7. 对于“动力”,指定在学习过程中要应用到之前迭代中的节点的权重。

  8. 选择“随机选择示例”选项可在迭代间随机选择事例。 如果取消选择此选项,则每次运行管道时,会以完全相同的顺序处理事例。

  9. 对于“随机数种子”,键入一个值来用作种子。

    如果要确保同一管道的运行可重复,则指定种子值非常有用。 否则,将使用系统时钟值作为种子,这可能会导致每次运行管道时产生略微不同的结果。

  10. 将标记的数据集添加到管道,然后训练模型:

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

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

    注意

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

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

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

  11. 提交管道。

结果

在训练完成后:

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

  • 若要使用模型进行评分,请将“为模型评分”组件添加到管道中。

后续步骤

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