实验1分类预测模型——神经网络一、实验目的1.了解和掌握神经网络的基本原理。
2.熟悉一些基本的建模仿真软件(比如SPSS、Matlab等)的操作和使用。
3.通过仿真实验,进一步理解和掌握神经网络的运行机制,以及其运用的场景,特别是在分类和预测中的应用。
二、实验环境PC机一台,SPSS、Matlab等软件平台。
三、理论分析神经网络起源于生物神经元的研究,其研究的主要对象是人脑。
人脑是一个高度复杂的、非线性的、并行处理系统,其中大约有1011个称为神经元的微处理单元。
这些神经元之间互相连接,连接数目高达1015.人脑具有联想、推理、判决、和决策的能力,对人脑活动机理的研究一直是一种挑战。
通常认为,人脑智能的核心在于其连接机制,即有大量简单处理单元(神经元)的巧妙连接,使得人脑称为一个高度复杂的大规模非线性自适应系统。
人工神经网络(Artificial Neural Network, ANN)是一种人脑的抽象计算模型,是一种人脑思维的计算机建模方式。
神经网络是一种运算模型,由大量的节点(或称神经元)和之间相互联接构成。
每个节点代表一种特定的输出函数,称为激励函数(activation function)。
每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。
网络的输出则跟据网络的连接方式、权重值和激励函数的不同而不同。
而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。
神经网络需要很长的训练时间,对于足够长的训练时间的应用更合适。
同时,还需要大量的参数,通常主要靠经验确定,如网络拓扑或结构。
神经网络常常因其可解释性差而受到批评。
例如,人们很难解释网络中学习的权重和“隐藏单元”的符号含义。
然而,神经网络的优点包括其对噪声数据的高承受能力,以及对未经训练的数据的模式分类能力。
因此,在缺乏属性与分类之间联系的知识时,仍然可以使用神经网络。
而且,神经网络非常适合连续值的输入和输出,这是大多数决策树算法所不能比拟的。
神经网络的算法是固有并行的,我们可以使用并行技术加快计算过程。
人工神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统。
它是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理。
人工神经网络具有四个基本特征:(1)非线性。
非线性关系是自然界的普遍特性。
大脑的智慧就是一种非线性现象。
人工神经元处于激活或抑制二种不同的状态,这种行为在数学上表现为一种非线性关系。
具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。
(2)非局限性。
一个神经网络通常由多个神经元广泛连接而成。
一个系统的整体行为不仅取决于单个神经元的特征,而且可能主要由单元之间的相互作用、相互连接所决定。
通过单元之间的大量连接模拟大脑的非局限性。
联想记忆是非局限性的典型例子。
(3)非常定性。
人工神经网络具有自适应、自组织、自学习能力。
神经网络不但处理的信息可以有各种变化,而且在处理信息的同时,非线性动力系统本身也在不断变化。
经常采用迭代过程描写动力系统的演化过程。
(4)非凸性。
一个系统的演化方向,在一定条件下将取决于某个特定的状态函数。
例如能量函数,它的极值相应于系统比较稳定的状态。
非凸性是指这种函数有多个极值,故系统具有多个较稳定的平衡态,这将导致系统演化的多样性。
人工神经网络中,神经元处理单元可表示不同的对象,例如特征、字母、概念,或者一些有意义的抽象模式。
网络中处理单元的类型分为三类:输入单元、输出单元和隐单元。
输入单元接受外部世界的信号与数据;输出单元实现系统处理结果的输出;隐单元是处在输入和输出单元之间,不能由系统外部观察的单元。
神经元间的连接权值反映了单元间的连接强度,信息的表示和处理体现在网络处理单元的连接关系中。
人工神经网络是一种非程序化、适应性、大脑风格的信息处理,其本质是通过网络的变换和动力学行为得到一种并行分布式的信息处理功能,并在不同程度和层次上模仿人脑神经系统的信息处理功能。
它是涉及神经科学、思维科学、人工智能、计算机科学等多个领域的交叉学科。
人工神经网络是并行分布式系统,采用了与传统人工智能和信息处理技术完全不同的机理,克服了传统的基于逻辑符号的人工智能在处理直觉、非结构化信息方面的缺陷,具有自适应、自组织和实时学习的特点。
鉴于本实验采用BP神经网络进行分类和预测,下面将重点简绍,首先我们来明确一些概念:输入单元:输入层的单元输出单元:隐藏层和输出层的单元网络层数:隐藏层和输出层的总数前馈:如果网络的权重不回送到输入单元,或前一层的输出单元。
全连接:如果每个单元都向下一层的每个单元提供输入。
后向传播:迭代地处理训练元组训练集,将每个元组的网络预测与实际已知的目标值比较。
目标值可以是训练元组的已知类标号(对于分类标号)或连续值(对于预测)。
对于每个训练样本,修改权重使网络预测和实际目标值之间的均方误差最小。
这种修改“后向”进行,即由输出层,经由每个隐藏层,到第一个隐藏层。
如图1所示,该多层前馈神经网络由一个输入层、一个隐藏层、一个输出层组成。
①前一周期所有的i j w 都小于某个指定的阀值。
②前一周期误分类的元组百分比小于某个阀值。
③超过预先给定的周期数。
实践中,权重收敛可能需要数十万个周期。
四、 实验案例与分析1. BP 算法的基本思想学习过程由信号的正向传播与误差的反向传播两个过程组成。
正向传播时,输入样本从输入层传入,经各隐藏层逐层处理后,传出输出层。
若输出层的实际输出与期望输出不符,则转入误差的反向传播阶段。
误差反传是将输出误差以某种形式通过隐藏层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。
这种信号正向传播与误差反向传播的各层权值调整过程是周而复始地进行的。
权值不断调整的过程也就是网络的学习过程。
2. 软件基本操作说明(1). 模型参数设置对话框如图3-1所示,具体参数含义如下:使用分区数据:选中表示利用Partion 变量将样本集分割后,只在训练样本集中建立模型,利用检验样本集计算模型误差。
方法:Clementine 提供了几种网络训练算法:快速训练法,动态增补法,多层训练法,动态削减法,径向基函数网络。
预防过度训练:选中表示在样本集中再随机抽取指定比例的样本训练模型,以克服过度拟合问题。
如果希望样本重复出现,应选中设置随机种子项。
停止:用来指定迭代停止的条件。
其中,“默认”表示Clementine 自动决定迭代终止条件,也可以手动指定停止条件:准确性、周期、时间。
优化:表示计算过程中内存利用策略。
“速度”和“内存”分别表示计算过程中是否将中间计算结果临时存入磁盘,前者存放,效率较高;后者不存,效率较低。
图3-1模型参数设置对话框(2).选项卡设置对话框如图3-2所示,具体参数含义如下:继续训练现有模型:通常情况下,每次运行节点后都会得到一个完整的神经网络模型。
选中该项表示继续运行上次没有运行完成的模型。
使用二进制编码:选中表示分类型输入变量转换处理时,采用二进制编码策略减少输入变量个数。
显示反馈图形:选中表示模型训练过程中绘制预测精度曲线图以跟踪模型训练效果。
模型选择:“使用最佳网络”表示最终选取一个预测精度最理想的模型;“使用最终网络”表示根据用户指定条件结束迭代得到的模型,该模型不一定是最优模型。
生成日志文件:选中表示将模型训练过程的误差数据保存到磁盘上,还应指定一个文件名。
图3-2选项卡设置对话框(3).专家选项卡对话框如图3-3所示,具体参数含义如下:简单:表示初始初始网络依据Clementine的默认设置。
专家:表示自行设置网络结构。
其中,隐藏层选项中可以选择1、2、3层,同时还可以选择隐藏层所包含的隐节点个数。
“持续次数”表示当模型预测精度不能继续得到明显改善时仍持续学习的周期数。
学习率:其中,Alpha表示指定冲量项;Eta表示学习率。
用户可以根据需要,指定学习率的初始值、最小值、最大值和衰减量。
图3-3专家选项卡∇w t=ηδX+α∇w(t−1)X:输入向量W:某层权矩阵α:动量系数。
反映了以前积累的调整经验,对于t时刻的调整起阻尼作用。
当误差曲面出现骤然起伏时,可以减少震荡趋势,提高训练速度。
(4).模型的计算结果如图3-4所示:模型的预测精度是88.298% ,是基于训练样本集计算的。
模型的分析准确性是93.0% ,是基于测试样本集计算的。
图3-4模型的计算结果3.利用Clementine 12.0进行建模(1).数据准备某药品的使用数据如表1所示,我们拟采用神经网络进行建模,针对病人的生理指标状况来选择不同的药品进行治疗。
据临床分析,影响该药物的使用,可能有性别、年龄、血压、胆固醇、钠钾比等。
表1.药品使用数据(2).模型的建立图3-5建立模型(3).结果分析A.输入单元个数:离散值+连续值(1.若离散值=2,则只需1个输入单元表示;若离散值N>2,则需N个输入单元表示(二进制编码条件下,只需要log2(N+1)个输入单元)。
2.每个连续值对应一个输入单元。
)图3-6变量重要性B.由图3-6的结果可知,钠钾比是最重要的指标,其余依次为血压、胆固醇、年龄、性别。
C.一般而言,训练样本增加,分类预测正确率也会增加。
结果中可查看停止原因:准确性、周期、时间,本实验以准确性标准执行,其余指标设定见图3-7。
图3-7模型分析结果D.设置准确性=100%,则可观察最佳预测准确性,可知该模型的最佳预测精确度为92.94%。
图3-8建模过程的反馈图E.在建好的模型中,选中置信度选项,即可在输出的表格中查看预测的药品种类以及对应的置信度。
具体设置方法见图3-9和预测结果见表2。
图3-8设置置信度。