人工神经网络的模型:人工神经元的模型、常用的激活转移函数、MP模型神经元人工神经元的主要结构单元是信号的输入、综合处理和输出人工神经元之间通过互相联接形成网络,称为人工神经网络神经元之间相互联接的方式称为联接模式。相互之间的联接强度由联接权值体现。在人工神经网络中,改变信息处理及能力的过程,就是修改网络权值的过程。人工神经网络的构造大体上都采用如下的一些原则:由一定数量的基本神经元分层联接;每个神经元的输入、输出信号以及综合处理内容都比较简单;网络的学习和知识存储体现在各神经元之间的联接强度上。神经网络解决问题的能力与功效除了与网络结构有关外,在很大程度上取决于网络激活函数。人工神经网络是对人类神经系统的一种模拟。尽管人类神经系统规模宏大、结构复杂、功能神奇,但其最基本的处理单元却只有神经元。人工神经系统的功能实际上是通过大量神经元的广泛互连,以规模宏伟的并行运算来实现的。人工神经网络模型至少有几十种,其分类方法也有多种。例如,若按网络拓扑结构,可分为无反馈网络与有反馈网络;若按网络的学习方法,可分为有教师的学习网络和无教师的学习网络;若按网络的性能,可分为连续型网络与离散型网络,或分为确定性网络与随机型网络;若按突触连接的性质,可分为一阶线性关联网络与高阶非线性关联网络。人工神经网络的局限性:(1)受到脑科学研究的限制:由于生理实验的困难性,因此目前人类对思维和记忆机制的认识还很肤浅,还有很多问题需要解决;(2)还没有完整成熟的理论体系;(3)还带有浓厚的策略和经验色彩;(4)与传统技术的接口不成熟。如果将大量功能简单的形式神经元通过一定的拓扑结构组织起来,构成群体并行分布式处理的计算结构,那么这种结构就是人工神经网络,在不引起混淆的情况下,统称为神经网络。根据神经元之间连接的拓扑结构上的不同,可将神经网络结构分为两大类:分层网络相互连接型网络分层网络可以细分为三种互连形式:简单的前向网络;具有反馈的前向网络;层内有相互连接的前向网络。神经网络的学习分为三种类型:有导师学习、强化学习无导师学习有导师学习:必须预先知道学习的期望结果——教师信息,并依此按照某一学习规则来修正权值。强化学习:利用某一表示“奖/惩”的全局信号,衡量与强化输入相关的局部决策如何。无导师学习:不需要教师信息或强化信号,只要给定输入信息,网络通过自组织调整,自学习并给出一定意义下的输出响应。神经网络结构变化的角度,学习技术还可分为三种:权值修正、拓扑变化、权值与拓扑修正学习技术又还可分为:确定性学习、随机性学习人工神经网络人工神经网络是生物神经网络的某种模型(数学模型);是对生物神经网络的模仿基本处理单元为人工神经元生物神经元(neuron)是基本的信息处理单元是对的模拟。大量简单的以某种形式连接,形成一个.其中某些因素,如:连接连接,其大小决定信号传递强弱);,神经元的输入输出特性);甚至等,可依某种规则随外部数据进人工神经网络计算单元(结点,神经元)网络强度行适当调整,最终实现某种功能。(权值结点神经网络计算特性(激活特性网络结的计算通过网络结构实现;生物神经构系统不同网络结构可以体现各种不同的功能;网络结构的是通过逐渐参数学习修正的。00权值,激活连接权值,突触连接强度权值,抑制输入信号关于神经元突触的线性加权将神经元的输出信号限制在有限范围内一组连接一个加法器一个激励函数人工神经元模型的三要素:()网络结构或拓扑(连接形式)神经元的计算特性传递函数学习规则上述要素不同组合,形成各种神经网络模型3.人工神经网络三个要素23HopfieldSOM.1网络神经网络feedfrowardnetworkfeedbacknetworkcompetitivelearningnetwork4神经网络三种基本前馈型模神经网络-反馈网络竞争学习重点介绍网络型多层感知器BP网络RBF网络自学习自适应并行处理分布表达与计算回归状态预测可应用到众多领域,如:优化计算;信号处理;智能控制;模式识别;机器视觉;等等。神经网络特点神经网络应用神经网络本质上,可以理解为函数逼近前馈(forward)神经网络各神经元接受来自前级的输入,并产生输出到下一级,无反馈,可用一有向无环图表示。网络中的节点分两类:输入节点;计算节点(神经元节点)节点按层(layer)组织:第i层的输入只与第i-1层的输出相连。输入信号由输入层输入,由第一层节点输出,传向下层,……前馈:信息由低层向高层单向流动。可见层输入层(inputlayer)输入节点所在层,无计算能力输出层(outputlayer)节点为神经元隐含层(hiddenlayer)中间层,节点为神经元BP神经网络训练的两个阶段(1)信号正向传递过程输入信息从输入层经隐层逐层、正向传递,直至得到各计算单元的输出(2)误差反向传播过程输出层误差从输出层开始,逐层、反向传播,可间接计算隐层各单元的误差,并用此误差修正前层的权值.1011,,20121301,...,14B,...,P-1=维输入向量层神经网络层号输入层层号隐含层层号输出层各层节点输入节点,计算节点数目,输入层输出层相邻层连接权值来自与第层的当前的连接节点第层节点权值TnlLlijnxxxLllLlLnlLnnnliljm算法训练过程描述约定:标准化1115111,...,,1,...,,1,...,i,j,kjOijjkBP:第层为当前处理层;其前一层、当前层、后一层的计算单元序号为;位于当前层第个计算单元的输出为,前层第个单元到本层第个单元的连接权值为本层第个单元到后层第个单元的连接权值为注:采用修正权值,输出函数应连续可微,选ljllijlljkllllljninknsigm算法训练过程描述假定梯度法函数。oid,00~0~11.3.10.3.9BP输入向量,期望输出,如小随机数如:之间通常固定之间;也可动态调整通常之间包括输入层节点数;隐含层数目;各隐含层节点数目;输出层节点数;各神经元节点的激活函数最大可允许迭代ppxDSTEP训练样本权值初始化首先明确学习步长惯性算法步骤样本集的标准化冲量项系数确定神经网络结构,设定终止条件:处理;0次数硬条件;训练精度软条件记训练时间时间t以小随机数初始化网络权值;111121121,,,,,2,,1mj=1yfyDBP:按随机或任意顺序从训练集中抽取1个训练样本计算输入时,当前网络的续TnnTmmTnlLlrsrjknliisjiSTEPxDxxxRddRxyyffx重复如下过程直至满足算法终止条件样本输入期望输出实际输出算法步骤2121,...,11'11激活函数其中Lnrmfeefffe11311,...,1,...,111,...,BP-1对于第层,修正权值权值修正项输出层,具体为间层:中lllijijijllllijiljjjjljjltttinjntxlLyydyjml算法步权骤调整值从输出层开始1111111,...,lnllllljjjkjkklLxxtjn41B1P1213更新全部权值,对所有训练样本重新计算输出;计算更新后网络输出与期望输出的误差;检查算法若不满足终止条件,则,转向若条件满足,则终止,转向:算法结束.输出各层连接权值。可以是如下之一:网络实际输出与期望输出最近轮训练中所有权值变化算法达到最大允tt+1STEP3STEP3终止条件终止条件总误差最大值算法步骤阈值阈值2=许的阈值3总训练次数BP网络的优点①特别适合于求解内部机制复杂的问题BP网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能②具有自学习能力网络能通过学习带正确答案的实例集自动提取“合理的”求解规则③网络具有一定的推广、概括能力。BP网络的问题,如:①BP算法的学习速度较慢②网络训练失败的可能性较大③网络结构的选择尚无一种统一而完整的理论指导,一般只能由经验选定。④网络的预测能力(泛化能力、推广能力)与训练能力(逼近能力、学习能力)的矛盾回归估计例:基于BP神经网络的公路运量(客运量、货运量)预测公路运量与该地区人数、机动车数量、公路面积有关。已知某地区20年的公路运量有关数据,对于未来某两年,若明确该地区人数、机动车数量、公路面积,要求:预测该地区的公路运量。分析:(1)明确模型输入输出关系(2)建模:原始数据读取;数据标准化处理;网络训练;(3)模型评价:对原始数据仿真,明确预测误差(4)输出预测结果:对新数据预测结果牛顿法及其收敛性牛顿法是一种线性化方法,其基本思想是将非线性方程逐步归结为某种线性方程来求解.设已知方程0)(xf有近似根kx(假定0)(kxf),将函数)(xf在点kx展开,有),)(()()(kkkxxxfxfxf于是方程0)(xf可近似地表示为.0))(()(kkkxxxfxf这是个线性方程,记其根为1kx,则1kx的计算公式为),,1,0()()(1kxfxfxxkkkk交叉演化算法代码实现%F0是变异率%Gm最大迭代次数Gm=10000;F0=0.5;Np=100;CR=0.9;%交叉概率G=1;%初始化代数D=10;%所求问题的维数Gmin=zeros(1,Gm);%各代的最优值best_x=zeros(Gm,D);%各代的最优解value=zeros(1,Np);%产生初始种群xmin=-5.12;xmax=5.12;functiony=f(v)%Rastrigr函数y=sum(v.^2-10.*cos(2.*pi.*v)+10);X0=(xmax-xmin)*rand(Np,D)+xmin;%产生Np个D维向量XG=X0;XG_next_1=zeros(Np,D);%初始化XG_next_2=zeros(Np,D);XG_next=zeros(Np,D);whileG=Gm%变异操作fori=1:Np%产生j,k,p三个不同的数a=1;b=Np;dx=randperm(b-a+1)+a-1;j=dx(1);k=dx(2);p=dx(3);%要保证与i不同ifj==ij=dx(4);elseifk==ik=dx(4);elseifp==ip=dx(4);endendend%变异算子suanzi=exp(1-Gm/(Gm+1-G));F=F0*2.^suanzi;%变异的个体来自三个随机父代son=XG(p,:)+F*(XG(j,:)-XG(k,:));forj=1:Difson(1,j)xmin&son(1,j)xmax%防止变异超出边界XG_next_1(i,j)=son(1,j);elseXG_next_1(i,j)=(xmax-xmin)*rand(1)+xmin;endendend%-交叉操作fori=1:Nprandx=randperm(D);%[1,2,3,...D]的随机序列forj=1:DifrandCR&randx(1)~=j%CR=0.9XG_next_2(i,j)=XG(i,j);elseXG_next_2(i,j)=XG_next_1(i,j);endendend%-选择操作fori=1:Npiff(XG_next_2(i,:))f(XG(i,:))XG_next(i,:)=XG_next_2(i,:);elseXG_next(i,:)=XG(i,:);endend%找出