
from https://zhuanlan.zhihu.com/p/449770106
多层感知器神经网络模型起源于对人类大脑思维模式的研究,它是一个非线性的数据建模工具,由输入层和输出层、一个或者多个隐藏层构成神经元,神经元之间的连接赋予相关的权重,训练学习算法在迭代过程中不断调整这些权重,从而使得预测误差最小化并给出预测精度。
在SPSS神经网络中,包括多层感知器(MLP)和径向基函数(RBF)两种方法。
本期主要学习多层感知器神经网络,要把它讲清楚是比较困难的,为了能直观感受它的功能,首先以一个案例开始,最后再总结知识。
案例数据

该数据文件涉及某银行在降低贷款拖欠率方面的举措。该文件包含 700 位过去曾获得贷款的客户财务和人口统计信息。请使用这 700 名客户的随机样本创建多层感知器神经网络模型。银行需要此模型对新的客户数据按高或低信用风险对他们进行分类。
因变量:是否违约
所以本例为基于神经网络模型的分类模型。
第一次分析:菜单参数
要运行“多层感知器”分析,请从菜单中选择:
分析 > 神经网络 > 多层感知器

如上图所示,MLP主面板共有8个选项卡,默认情况下,你只需要设定“变量”就行,即告诉软件谁是因变量,谁是自变量。
如果各选项卡看不懂,可以马上点下方的【帮助】按钮看官方帮助文档。我专门写文章介绍过如何获取SPSS的官方文档。
随手点【帮助】按钮即可快速查阅SPSS官方文档!
▌ “变量”选项卡
- 将”是否拖欠”移入因变量框;
- 将分类变量”学历”移入因子框,其他数值变量移入”协变量”框;
- 因各协变量量纲不同,选择”标准化”处理;
▌ “分区”选项卡

- (如果需要重现/重复的话,并非必须)在 “转换 > 随机数生成器”菜单中设置随机数固定种子为9191972(此处同SPSS官方文档,用户可以自由设定),因为”分区”选项卡中,要求对原始数据文件进行随机化抽样,将数据划分为”训练样本”、”支持样本”、”检验样本”3个区块;
- 初次建模,先抽样70%作为训练样本,用于完成自学习构建神经网络模型,30%作为检验样本,用于跟踪训练过程中的错误以防止超额训练;
【体系结构】和【训练】选项卡,咱们选择信任统计软件自动考察隐含层数目、单元数目、激活函数以及样本数据训练方式,有时候我们不了解的,就交给统计软件默认处理。
▌ “输出”选项卡

- 勾选”描述”、”图”;
- 勾选”模型摘要”、”分类结果”、”预测实测图”;
- 勾选”ROC曲线”
- 勾选”个案处理摘要”;
- 勾选”自变量重要性分析”;
这是第一次尝试性的分析,主要参数设置如上,其他选项卡接受软件默认设置,最后返回主面板,点击”确定”按钮,软件开始执行MLP过程。
第一次分析产生的结果:
主要看重点的结果,依次如下:

个案处理摘要表,700个有效贷款客户的记录,其中496个客户被分配到训练样本,占比70.9%,另外204个客户分配为检验样本。

模型摘要表,首次构建的MLP神经网络模型其不正确预测百分比为20%,另一个检验样本检验模型的不正确百分比为18.6%,暂无证据表明有过拟合现象。
总体看当前模型预测准确率仍有提升空间。
第二次分析:菜单参数
我们再来尝试一下,再分一个支持样本分区,训练-检验-支持比例为5:3:2,其他参数暂时不变,来看模型是否有变化。
▌ “分区”选项卡

- 对样本进行重新分配,总700样本,支持样本20%,训练样本由原来的70%缩减至50%,另外的30%分配给检验样本空间;
▌ “保存”选项卡

- 保存每个因变量的预测值或类别;
- 保存每个因变量的预测拟概率;
▌ “导出”选项卡

- 将突触权重估算值导出到XML文件;
- 给XML模型文件起名并制定存放路径;
其他选项卡的操作和第一次分析保持一致。返回主面板,点击”确定”开始执行第二次分析
第二次分析产生的结果:

总样本在3个分区的分配比例。

MLP神经网络图,(默认结构体系)模型包括1个输入层、1个隐藏层和1个输出层,输入层神经元个数11个,隐藏层6个,输出层2个。

模型摘要表,模型误差在1个连续步骤中未出现优化减少现象,模型按预定中止。模型在3个分区中的不正确预测百分比较接近。训练集不正确预测百分比由第一次模型的20%下降到18.6%。
继续解读其他结果。
分类预测表看起来不够直观,SPSS多层感知器提供了一个预测的拟概率图,如下:

这是分组的箱图,最佳的图形效果应该是:蓝色箱图左高右低,对应地,红色箱图左低右高。那么本例呢,红色箱图右侧的不低不高,而且恰好是我们最为关心的违约准确率。显然模型是不足够好的。

显示每个分类因变量的 ROC(Receiver Operating Characteristic)曲线。同时也输出了对应的曲线下面积AUC。本例违约与未违约auc均为0.856,我们关注的是违约auc,说明多变量对是否违约有一定的判断能力。(和前面的预测准确率结论一致)。
最后一张图是非常重要的,可能也是多层感知器神经网络最容易理解的图形。
自变量重要性排序图。

受雇时间是第1重要的,其次是信用卡债务,第3是家庭收入。基本符合现实生活逻辑。
最后来看导出的XML模型文件:

以XML文件存储了第二次构建的MLP神经网络模型,可以用于新客户的分类和风险识别。
新客户分类
假设现在有150名新客户,现在需要采用此前建立的模型,对这些客户进行快速的风险分类和识别。
打开新客户数据,菜单中选择:
实用程序 > 评分向导

浏览保存好的”模型”XML文件,点击”下一步”:

检查新数据文件变量的定义是否准确。下一步。

选择输出”预测类别的概率”、”预测值”。完成。

新客户数据文件新增3列,分别给出每一个新客户的预测概率和风险分类(是否欠贷)。
多层感知器神经网络 总结
- 一种前馈式有监督的学习技术;
- 多层感知器可以发现极为复杂的关系;
- 如果因变量是分类型,模型会根据输入数据将记录分为最适合的类别;
- 如果因变量是连续型,神将网络预测的连续值是输入数据的某个连续函数;
- 建议创建训练-检验-支持三个分区,网络训练学习将更有效;
- 可将模型导出成 XML 格式对新的数据进行打分;
(文/图 = 数据小兵)
恭喜你,又看完一篇文章,扫码领个红包吧!