实验1分类预测模型_神经网络
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验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 自动决定迭代终止条件,也可以手动指定停止条件:准确性、周期、时间。
优化:表示计算过程中内存利用策略。“速度”和“内存”分别表示计算过程中是否将中间计算结果临时存入磁盘,前者存放,效率较高;后者不存,效率较低。