概述 (MLP 命令)
神经网络是一种数据挖掘工具,用于在数据库中查找未知模式。 神经网络可用于根据价格和其他变量预测产品需求,或者根据购买习惯和人口统计特征对客户进行分类,从而制定业务决策。 MLP 过程适用于一种称为多层感知器的特定神经网络。 多层感知器使用前馈体系结构,并且可以具有多个隐藏层。 它是最常用的神经网络体系结构之一。
选项
预测或分类。 可以指定一个或多个因变量,它们可以是标度变量,分类变量或组合变量。 如果因变量具有刻度测量级别,那么神经网络会预测近似于输入数据的某个连续函数的 "真" 值的连续值。 如果因变量是分类变量,那么将使用神经网络根据输入预测变量将个案分类为 "最佳" 类别。
重定比例。 MLP (可选) 在训练神经网络之前重新标度协变量或标度因变量。 有三个重定比例选项: 标准化,规范化和调整后的规范化。
训练,测试和保留数据。 MLP (可选) 将数据集划分为训练,测试和保留数据。 神经网络使用训练数据进行训练。 训练数据和/或测试数据可用于跨步骤跟踪错误并确定何时停止训练。 将坚持数据完全排除在训练过程之外,并用于对最终网络进行独立评估。
体系结构选择。 MLP 可以执行自动体系结构选择,也可以根据用户规范构建神经网络。 自动体系结构选择创建具有一个隐藏层的神经网络,并找到 "最佳" 数量的隐藏单元。 或者,您可以指定一个或两个隐藏层,并定义每个层中的隐藏单元数。
激活函数。 隐藏层中的单元可以使用双曲或 sigmoid 激活函数。 输出层中的单元可以使用双曲, sigmoid , identity 或 softmax 激活函数。
训练方法。 可以使用批处理,联机或迷你批处理训练来构建神经网络。 梯度下降和定标共轭梯度优化算法可用。
缺失值。 MLP 过程具有用于将分类变量的用户缺失值视为有效的选项。 标度变量的用户缺失值始终被视为无效。
输出。 MLP 显示透视表输出,但提供了用于抑制大多数此类输出的选项。 图形输出包括网络图 (缺省值) 和一些可选图表: 预测的观测值,残差预测值, ROC (接收方操作特征) 曲线,累积增益,提升和自变量重要性。 该过程还可以选择将预测值保存在活动数据集中。 突触权重估计也可以保存在 IBM® SPSS® Statistics 或 XML 文件中。
基本规范
基本规范是 MLP 命令,后跟一个或多个因变量, BY 关键字和一个或多个因子,以及 WITH 关键字和一个或多个协变量。 缺省情况下, MLP 过程将协变量标准化,并在训练神经网络之前选择训练样本。 自动体系结构选择用于查找 "最佳" 神经网络体系结构。 将排除用户缺失值,并显示缺省透视表输出。
语法规则
- 所有子命令都是可选的。
- 可以按任何顺序指定子命令。
- 只允许每个子命令的单个实例。
- 如果在子命令中多次指定了关键字,那么会发生错误。
- 语法图表中显示的括号,等号和斜杠是必需的。
- 命令名,子命令名和关键字必须拼写完整。
- 不允许使用空子命令。
SPLIT FILE命令上定义的任何拆分变量都不能用作因变量,因子,协变量或分区变量。
限制
MLP 过程将忽略 WEIGHT 设置,并发出警告。
分类变量
尽管 MLP 过程接受分类变量作为预测变量或因变量,但用户在使用具有大量类别的分类变量时应谨慎。
MLP 过程在过程持续时间内使用 1-of-c 编码临时重新编码分类预测变量和因变量。 如果变量有 c 个类别,那么该变量将存储为 c 个向量,第一个类别表示 (1,0 , ... , 0) ,下一个类别表示 (0,1,0 , ... , 0) , ... , 和最终类别 (0,0 , ... ,0, 1)。
此编码方案会增加突触权重的数量。 特别是,输入单元总数是刻度预测变量数加上所有分类预测变量中的类别数。 因此,这种编码方案会导致训练速度变慢,但更 "紧凑" 的编码方法通常会导致神经网络拟合不良。 如果您的网络训练进展非常缓慢,那么在运行 MLP 过程之前,您可以尝试通过组合相似类别或删除具有极其罕见类别的观测值来减少分类预测变量中的类别数。
所有一个c 编码都基于训练数据,即使定义了检验或暂挂样本也是如此 (请参阅 PARTITION 子命令 (MLP 命令))。 因此,如果检验或保留样本包含训练数据中不存在的预测变量类别个案,那么那些个案不用于该过程或评分。 如果检验或保留样本包含训练数据中不存在的因变量类别个案,那么那些个案已经用于该过程,但可能被评分。
复制结果
MLP 过程在随机分配分区期间使用随机数生成,用于初始化突触权重的随机子采样,用于自动体系结构选择的随机子采样以及用于权重初始化和自动体系结构选择的模拟退火算法。 要在将来重现相同的随机结果,请在每次运行 MLP 过程之前使用 SET 命令来设置随机数生成器的初始化值。
MLP 结果还取决于数据顺序。 联机和迷你批处理训练方法明确依赖于数据顺序; 但是,由于权重初始化算法,即使是批处理训练也依赖于数据顺序。 对于所有三种训练方法,突触权重的初始化使用模拟退火,它从整个数据集中抽取随机样本,并将其随机分割为训练 (70%) 和测试 (30%) 样本。 随机样本的大小为 N = min (1000 , memsize) ,其中 memsize 是存储在内存中的用户控制的最大个案数。 (请参阅 /CRITERIA MEMSIZE 关键字。) 如果整个数据集的观测值少于 N 个,那么将使用所有 N 个观测值。
要最小化数据顺序影响,请在运行 MLP 过程之前对个案进行随机排序。 想要验证给定解的稳定性,您可能想要通过以不同随机顺序排序的案例来得到多个不同的解。 在文件非常大的情况,可使用以不同随机顺序排序的个案样本运行多次。
最后,由于更改命令行变量顺序时分配的初始值模式不同, MLP 结果可能受命令行上的变量顺序影响。 与数据顺序效应一样,您可以尝试不同的命令行变量顺序来评估给定解决方案的稳定性。
总之,如果要在将来精确复制 MLP 结果,请除了使用相同的 MLP 过程设置外,还对随机数生成器使用相同的初始化值,相同的数据顺序和相同的命令行变量顺序。