神经网络模型的挖掘模型内容(分析服务 - 数据挖掘)

本主题介绍特定于使用Microsoft神经网络算法的模型的挖掘模型内容。 有关如何解释所有模型类型共享的统计信息和结构的说明,以及与挖掘模型内容相关的术语的一般定义,请参阅挖掘模型内容(Analysis Services - 数据挖掘)。

了解神经网络模型的结构

每个神经网络模型都有一个表示模型及其元数据的父节点,以及一个边际统计信息节点(NODE_TYPE = 24),该节点提供有关输入属性的描述性统计信息。 边际统计信息节点非常有用,因为它汇总了有关输入的信息,因此无需查询各个节点中的数据。

在这两个节点下,至少有两个节点,并且可能更多,具体取决于模型具有多少个可预测属性。

  • 第一个节点(NODE_TYPE = 18)始终表示输入层的顶部节点。 在此顶部节点下,可以找到包含实际输入特性及其值的输入节点(NODE_TYPE = 21)。

  • 每个连续节点都包含不同的 子网 (NODE_TYPE = 17)。 每个子网始终包含隐藏层(NODE_TYPE = 19),以及该子网的输出层(NODE_TYPE = 20)。

神经网络模型内容结构

输入层中的信息非常简单:每个输入层(NODE_TYPE = 18)的顶部节点充当输入节点集合(NODE_TYPE = 21)的组织者。 下表描述了输入节点的内容。

每个子网(NODE_TYPE = 17)表示对输入层对特定可预测属性的影响的分析。 如果有多个可预测输出,则有多个子网。 每个子网的隐藏层包含多个隐藏节点(NODE_TYPE = 22),这些节点中详细描述了与每个以该特定隐藏节点为终点的转换相关的权重信息。

输出层(NODE_TYPE = 20)包含输出节点(NODE_TYPE = 23),每个节点都包含可预测属性的非重复值。 如果可预测属性是连续数值数据类型,则特性只有一个输出节点。

注释

逻辑回归算法使用神经网络的特殊情况,该神经网络只有一个可预测的结果和潜在的许多输入。 逻辑回归不使用隐藏层。

浏览输入和子网结构的最简单方法是使用 Microsoft泛型内容树查看器。 可以单击任意节点将其展开并查看子节点,或查看节点中包含的权重和其他统计信息。

若要处理数据并查看模型如何将输入与输出相关联,请使用 Microsoft神经网络查看器。 使用此自定义查看器,可以筛选输入属性及其值,并以图形方式查看它们如何影响输出。 查看器中的工具提示显示每对输入和输出值关联的概率和提升度。 有关详细信息,请参阅 使用Microsoft神经网络查看器浏览模型

神经网络模型的模型内容

本部分仅针对挖掘模型内容中与神经网络具有特定相关性的列提供详细信息和示例。 有关架构行集中的常规用途列,例如未在此处介绍的MODEL_CATALOG和MODEL_NAME,或有关挖掘模型术语的说明,请参阅挖掘模型内容(Analysis Services - 数据挖掘)。

模型目录
存储模型的数据库的名称。

MODEL_NAME
模型的名称。

属性名称
对应于此节点的属性的名称。

节点 内容
模型根 空白
边际统计信息 空白
输入层 空白
输入节点 输入属性名称
隐藏层 空白
隐藏节点 空白
输出层 空白
输出节点 输出属性名称

NODE_NAME
节点的名称。 此列包含与NODE_UNIQUE_NAME相同的值。

节点_唯一_名称 (NODE_UNIQUE_NAME)
节点的唯一名称。

有关名称和 ID 如何提供有关模型的结构信息的详细信息,请参阅“ 使用节点名称和 ID”部分。

NODE_TYPE
神经网络模型输出以下节点类型:

节点类型 ID DESCRIPTION
1 型。
十七 子网的组织者节点。
18 输入层的组织者节点。
19 隐藏层的协调节点。
20 输出层的组织者节点。
21 输入属性节点。
22 隐藏层节点
23 输出属性节点。
24 边际统计节点。

节点标题
与节点关联的标签或标题。 在神经网络模型中,始终为空。

儿童基数
估计节点具有的子级数。

节点 内容
模型根 指示子节点计数,其中包括至少 1 个网络、1 个所需的边际节点和 1 个所需的输入层。 例如,如果值为 5,则有 3 个子网。
边际统计信息 始终为 0。
输入层 指示模型使用的输入属性值对的数目。
输入节点 始终为 0。
隐藏层 指示模型创建的隐藏节点数。
隐藏节点 始终为 0。
输出层 指示输出值的数目。
输出节点 始终为 0。

父级唯一名称
节点父级的唯一名称。 根级别的任何节点都返回 NULL。

有关名称和 ID 如何提供有关模型的结构信息的详细信息,请参阅“ 使用节点名称和 ID”部分。

节点描述
节点的易于使用描述。

节点 内容
模型根 空白
边际统计信息 空白
输入层 空白
输入节点 输入属性名称
隐藏层 空白
隐藏节点 指示隐藏节点列表中的隐藏节点序列的整数。
输出层 空白
输出节点 如果输出属性是连续的,则包含输出属性的名称。

如果输出属性是离散的或离散化的,则包含属性的名称和值。

节点规则
嵌入在节点中的规则的 XML 说明。

节点 内容
模型根 空白
边际统计信息 空白
输入层 空白
输入节点 包含与NODE_DESCRIPTION列相同的信息的 XML 片段。
隐藏层 空白
隐藏节点 指示隐藏节点列表中的隐藏节点序列的整数。
输出层 空白
输出节点 包含与NODE_DESCRIPTION列相同的信息的 XML 片段。

边际规则
对于神经网络模型,始终为空。

节点概率
与此节点关联的概率。 对于神经网络模型,始终为 0。

边际概率
从父节点到达节点的概率。 对于神经网络模型,始终为 0。

节点分布
包含节点统计信息的嵌套表。 有关每个节点类型此表内容的详细信息,请参阅“ 了解NODE_DISTRIBUTION表”部分。

NODE_SUPPORT
对于神经网络模型,始终为 0。

注释

支持概率始终为 0,因为此模型类型的输出不是概率性的。 只有权重对算法有意义;因此,算法不会计算概率、支持或方差。

要获取有关特定值在训练案例中支持的信息,请参阅边际统计节点。

MSOLAP_MODEL_COLUMN
|Node|内容 |
|----------|-------------|
|模型根|空白|
|边际统计信息 |空白|
|输入层 |空白|
|输入节点 |输入属性名称。|
|隐藏层 |空白|
|隐藏节点 |空白|
|输出层 |空白|
|输出节点 |输入属性名称。|

MSOLAP_NODE_SCORE
对于神经网络模型,始终为 0。

MSOLAP_NODE_SHORT_CAPTION
对于神经网络模型,一直保持空白。

注解

训练神经网络模型的目的是确定与从输入到中间点以及从中点到终结点的每个转换相关联的权重。 因此,模型输入层主要存在,用于存储用于生成模型的实际值。 隐藏层存储计算的参数权重,并提供指向输入属性的指针。 输出层存储可预测值,并提供指向隐藏层中点的指针。

使用节点名称和 ID

神经网络模型中节点的命名提供了有关节点类型的其他信息,以便更轻松地将隐藏层与输入层以及输出层关联到隐藏层。 下表显示了分配给每个层中的节点的 ID 的约定。

节点类型 节点 ID 的约定
模型根目录 (1) 00000000000000000.
边际统计节点(24) 10000000000000000
输入层 (18) 30000000000000000
输入节点 (21) 从 600000000000000000 开始
子网 (17) 20000000000000000
隐藏层 (19) 40000000000000000
隐藏节点 (22) 从 70000000000000000 开始
输出层 (20) 50000000000000000
输出节点 (23) 从 800000000000000000 开始

可以通过查看隐藏节点中的NODE_DISTRIBUTION表(NODE_TYPE = 22)来确定与特定隐藏层节点相关的输入属性。 NODE_DISTRIBUTION表的每一行都包含输入属性节点的 ID。

同样,可以通过查看输出节点中的NODE_DISTRIBUTION表(NODE_TYPE = 23)来确定哪些隐藏层与输出属性相关。 NODE_DISTRIBUTION表的每一行都包含隐藏层节点的 ID 以及相关系数。

解释节点分布表中的信息

在某些节点中,NODE_DISTRIBUTION表可以为空。 但是,对于输入节点、隐藏层节点和输出节点,NODE_DISTRIBUTION表存储有关模型的重要且有趣的信息。 为了帮助你解释此信息,NODE_DISTRIBUTION表包含每一行的 VALUETYPE 列,该列指示ATTRIBUTE_VALUE列中的值是离散(4)、离散化(5)还是连续(3)。

输入节点

输入层包含模型中使用的属性的每个值的节点。

离散属性: 输入节点仅在ATTRIBUTE_NAME和ATTRIBUTE_VALUE列中存储属性的名称及其值。 例如,如果 [Work Shift] 是列,则会为模型中使用的该列的每个值(例如 AM 和 PM)创建一个单独的节点。 每个节点的 NODE_DISTRIBUTION 表仅列出属性的当前值。

离散化数值属性: 输入节点存储属性的名称和值,可以是范围或特定值。 所有值都由表达式表示,例如“77.4 - 87.4”或“ < 64.0”,表示[每期时间]。 每个节点的 NODE_DISTRIBUTION 表仅列出属性的当前值。

连续属性: 输入节点存储特性的平均值。 每个节点的 NODE_DISTRIBUTION 表仅列出属性的当前值。

隐藏层节点

隐藏层包含一个可变数量的节点。 在每个节点中,NODE_DISTRIBUTION表包含从隐藏层到输入层中的节点的映射。 ATTRIBUTE_NAME列包含与输入层中的节点相对应的节点 ID。 ATTRIBUTE_VALUE列包含与输入节点和隐藏层节点组合关联的权重。 表中的最后一行包含一个系数,表示隐藏层中该隐藏节点的权重。

输出节点

输出层包含模型中使用的每个输出值的一个输出节点。 在每个节点中,NODE_DISTRIBUTION表包含从输出层到隐藏层中的节点的映射。 ATTRIBUTE_NAME列包含与隐藏层中的节点对应的节点 ID。 ATTRIBUTE_VALUE列包含与输出节点和隐藏层节点组合关联的权重。

NODE_DISTRIBUTION表具有以下附加信息,具体取决于属性的类型:

离散属性: NODE_DISTRIBUTION表的最后两行包含整个节点的系数和属性的当前值。

离散化数值属性: 与离散属性相同,不同之处在于特性的值是一系列值。

连续属性: NODE_DISTRIBUTION表的最后两行包含属性的平均值、整个节点的系数和系数的方差。

另请参阅

Microsoft神经网络算法
Microsoft神经网络算法技术参考
神经网络模型查询示例