光电信息与计算机工程学院形式●开卷闭卷2013级研究生密编号:考试日期:2014年6月26日印刷份数:份上海理工大学研究生试题2013/2014学年第2学期课程名称:人工神经网络教师于莲芝签章:2014年6月12日教研室主任审查意见:签章:年月日1.试题原稿请于考试前2周送研究生部。2.编号栏由研究生部填写。上海理工大学研究生课程试题*2013/2014学年第2学期考试课程人工神经网络学号132342091姓名刘攀得分一、简述神经网络的基本特征和基本功能(15分)答:基本特征:(1)非线性。人工神经网络元处于激活或者抑制两种不同的状态,这种行为在数学上表现为一种非线性关系,具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量。(2)非局限性。一个神经网络由多个神经元广泛连接而成,一个系统的整体行为不仅取决于单个神经元的特征,而且可能主要由单元之间的相互作用、相互连接所决定。通过单元之间的大量连接模拟大脑的非局限性。联想记忆是非局限性的典型例子。(3)非常定性。人工神经网络具有自适应、自组织、自学习能力。神经网络不但处理的信息可以有各种变化,而且在处理信息的同时,非线性动力系统本身也在不断变化。经常采用迭代过程描写动力系统的演化过程。(4)非凸性。一个系统的演化方向,在一定条件下将取决于某个特定的状态函数。例如能量函数,它的极值相应于系统比较稳定的状态。非凸性是指这种函数有多个极值,故系统具有多个较稳定的平衡态,这将导致系统演化的多样性。基本功能:(1)联想记忆,分为自联想记忆与异联想记忆。(2)非线性映射(3)分类和识别(4)优化计算(5)知识处理(6)信号处理(7)模式识别(8)数据压缩等等。二、神经网络的模型分为哪几类,试述神经网络的典型结构,常用的作用函数及各类神经网络的基本作用(20分)答:根据连接的拓扑结构,神经网络模型可以分为:(1)前向网络。网络中各个神经元接受前一级的输入,并输出到下一级,网络中没有反馈,可以用一个有向无环路图表示。这种网络实现信号从输入空间到输出空间的变换,它的信息处理能力来自于简单非线性函数的多次复合。网络结构简单,易于实现。反传网络是一种典型的前向网络。(2)反馈网络。网络内神经元间有反馈,可以用一个无向的完备图表示。这种神经网络的信息处理是状态的变换,可以用动力学系统理论处理。系统的稳定性与联想记忆功能有密切关系。Hopfield网络、波耳兹曼机均属于这种类型。典型结构:常用作用函数以及基本作用:BP神经网络通常采用基于BP神经元的多层前向神经网*注:考题全部写在框内,不要超出边界。内容一律用黑色墨水书写或计算机打印,以便复印。共页第1页络的结构形式。。BP算法实际上是Widrow-Hoff算法在多层前向神经网络中的推广。和Widrow-Hoff算法类似,在BP算法中,网络的权值和阈值通常是沿着网络误差变化的负梯度方向进行调节的,最终使网络误差达到极小值或最小值,即在这一点误差梯度为零。常用函数有traingdx、traingdm、trainlm、traincgf等。径向基网络是以函数逼近理论为基础而构造的一类前向网络,这类网络的学习等价于在多维空间中寻找训练数据的最佳拟合平面。径向基函数网络的每个隐层神经元激活函数都构成了拟合平面的一个基函数,网络也由此得名。径向基函数网络是一种局部逼近网络,即对于输入空间的某一个局部区域只存在少数的神经元用于决定网络的输出。RBF网络具有很好的通用性。只要有足够多的隐层神经元,RBF网络能以任意精度近似任何连续函数。更重要的是,RBF网络克服了传统前馈神经网络的很多缺点,其训练速度相当快,并且在训练时不会发生震荡和陷入局部极小。Hopfield网络是一种反馈式神经网络。在反馈式网络中,所有节点(单元)都是一样的,它们之间可以相互连接,所以反馈式神经元网络可以用一个无向的完备图来表示。从系统观点来看,反馈网络是一个非线性动力学系统。它必然具有一般非线性动力学系统的许多性质,如稳定问题、各种类型的吸引子以至混沌现象等。在某些情况下,还有随机性和不可预测性等。Hopfield网络是一个由非线性元件构成的单层反馈系统,这种系统稳定状态的分析比较复杂,给实际应用带来一些困难。Hopfield网络的学习主要采用Hebb规则,一般情况下计算的收敛速度很快。它与电子电路存在明显的对应关系,使得该网络易于理解和易于用硬件实现。自组织特征映射模型也称为Kohonen网络该网络是一个由全互连的神经元阵列形成的无教师自组织自学习网络。Kohonen认为,处于空间中不同区域的神经元有不同的分工,当一个神经网络接受外界输入模式时,将会分为不同的反应区域,各区域对输入模式具有不同的响应特征。在输出空间中,这些神经元将形成一张映射图,映射图中功能相同的神经元靠得较近,功能不同的神经元分得较开,自组织特征映射网络也由此而得名。它在模式识别、联想存储、样本分类、优化计算、机器人控制等领域中得到广泛应用。三、用Matlab进行感知器程序设计,对线性可分样本实现分类,给出程序和结果(15分)答:functionPer1()clearall;closeall;DATA=xlsread('zb0708.xls');fori=1:45x1(i,1)=DATA(i,1)x1(i,2)=DATA(i,2)endfori=1:55x2(i,1)=DATA(i,3)x2(i,2)=DATA(i,4)endfori=1:45r1(i)=x1(i,1);end;fori=1:45r2(i)=x1(i,2);end;fori=1:55r3(i)=x2(i,1);end;fori=1:55r4(i)=x2(i,2);end;figure(1);plot(r1,r2,'*',r3,r4,'o');holdon;%保持当前的轴和图像不被刷新,在该图上接着绘制下一图x1(:,3)=1;%考虑到不经过原点的超平面,对x进行扩维x2(:,3)=1;%使x'=[x1],x为2维的,故加1扩为3维%进行初始化w=rand(3,1);%随机给选择向量,生成一个3维列向量419.4813-719.9205-247.3682p=1;%p0非负正实数ox1=-1;%代价函数中的变量ox2=1;%当x属于w1时为-1,当x属于w2时为1s=1;%标识符,当s=0时,表示迭代终止n=0;%表示迭代的次数w1=[0;0;0];whiles%开始迭代J=0;%假设初始的分类全部正确j=[0;0;0];%j=ox*xfori=1:45if(x1(i,:)*w)0%查看x1分类是否错误,在x属于w1却被错误分类的情况下,w'x0w1=w;%分类正确,权向量估计不变else%分类错误j=j+ox1*x1(i,:)';%j=ox*x。进行累积运算J=J+ox1*x1(i,:)*w;%感知器代价进行累积运算endendfori=1:55if(x2(i,:)*w)0%查看x2分类是否错误,在x属于w2却被错误分类的情况下,w'x0w1=w;%分类正确,权向量估计不变else%分类错误j=j+ox2*x2(i,:)';%j=ox*x。进行累积运算J=J+ox2*x2(i,:)*w;%感知器代价进行累积运算endendifJ==0%代价为0,即分类均正确s=0;%终止迭代elsew1=w-p*j;%w(t+1)=w(t)-p(ox*x)进行迭代p=p+0.1;%调整pn=n+1;%迭代次数加1endw=w1;%更新权向量估计endx=linspace(0,10,5000);%取5000个x的点作图y=(-w(1)/w(2))*x-w(3)/w(2);%x*w1+y*w2+w0=0,w=[w1;w2;w0]plot(x,y,'r');%用红线画出分界面disp(n);%显示迭代的次数axis([1,12,0,8])%设定当前图中,x轴范围为1-12,为y轴范围为0-8end结果图:四、论述BP算法的基本思想,讨论BP算法的优缺点,以及改进算法的思路和方法应用Matlab,编制一个基于BP神经网络算法应用程序,给出运算的仿真结果。(20分)答:基本思想:学习过程由信号的正向传播与误差的反向传播两个过程组成。由于多层前馈网络的训练经常采用误差反向传播算法,人们也常把将多层前馈网络直接称为BP网络。优点:1)非线性映射能力:BP神经网络实质上实现了一个从输入到输出的映射功能,数学理论证明三层的神经网络就能够以任意精度逼近任何非线性连续函数。这使得其特别适合于求解内部机制复杂的问题,即BP神经网络具有较强的非线性映射能力。2)自学习和自适应能力:BP神经网络在训练时,能够通过学习自动提取输出、输出数据间的“合理规则”,并自适应的将学习内容记忆于网络的权值中。即BP神经网络具有高度自学习和自适应的能力。3)泛化能力:所谓泛化能力是指在设计模式分类器时,即要考虑网络在保证对所需分类对象进行正确分类,还要关心网络在经过训练后,能否对未见过的模式或有噪声污染的模式,进行正确的分类。也即BP神经网络具有将学习成果应用于新知识的能力。4)容错能力:BP神经网络在其局部的或者部分的神经元受到破坏后对全局的训练结果不会造成很大的影响,也就是说即使系统在受到局部损伤时还是可以正常工作的。即BP神经网络具有一定的容错能力。缺点:1)局部极小化问题:从数学角度看,传统的BP神经网络为一种局部搜索的优化方法,它要解决的是一个复杂非线性化问题,网络的权值是通过沿局部改善的方向逐渐进行调整的,这样会使算法陷入局部极值,权值收敛到局部极小点,从而导致网络训练失败。加上BP神经网络对初始网络权重非常敏感,以不同的权重初始化网络,其往往会收敛于不同的局部极小,这也是很多学者每次训练得到不同结果的根本原因。2)BP神经网络算法的收敛速度慢;3)BP神经网络结构选择不一;4)应用实例与网络规模的矛盾问题:BP神经网络难以解决应用问题的实例规模和网络规模间的矛盾问题,其涉及到网络容量的可能性与可行性的关系问题,即学习复杂性问题。5)BP神经网络预测能力和训练能力的矛盾问题:预测能力也称泛化能力或者推广能力,而训练能力也称逼近能力或者学习能力。一般情况下,训练能力差时,预测能力也差,并且定程度上,随着训练能力地提高,预测能力会得到提高。但这种趋势不是固定的,其有一个极限,当达到此极限时,随着训练能力的提高,预测能力反而会下降,也即出现所谓“过拟合”现象。出现该现象的原因是网络学习了过多的样本细节导致,学习出的模型已不能反映样本内含的规律,所以如何把握好学习的度,解决网络预测能力和训练能力间矛盾问题也是BP神经网络的重要研究内容。6)BP神经网络样本依赖性问题:网络模型的逼近和推广能力与学习样本的典型性密切相关,而从问题中选取典型样本实例组成训练集是一个很困难的问题。改进方法的思路和方法:(1)增加动量项;(2)自适应调节学习率;(3)引入抖动因子;基于BP和RBF的算法程序:%利用神经网络工具箱对一个正弦函数进行拟合,源码如下:clc;clear;closeall;%-----------------------------------------------%产生训练样本与测试样本P1=-1:0.05:1;%训练样本T1=sin(P1*pi);%训练目标P2=-1:0.02:1;%测试样本T2=sin(P2*pi);%测试目标%%%BP网络模型构建%-------------------------------------------%设置网络参数NodeNum=10;%隐藏节点数TypeNum=1;%输出维数TF1='tansig';TF2='purelin';%判别函数(缺省值)net1=newff(minmax(P1),[NodeNumTypeNum],{TF1TF2});%net1=init(net1);%神经网络初始化%------------------------------------------------------%指定训练参数net1.tra