已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
神经网络建模及Matlab中重要的BP网络函数一、神经组织的基本特征1细胞体是一个基本的初等信号处理器,轴突是信号的输出通路,树突是信号的输入通路。信号从一个神经细胞经过突触传递到另一个细胞。2不同的神经元之间有不同的作用强度,称为联接强度。当某细胞收到信号时,它的电位发生变化,如果电位超过某一阈值时,该细胞处于激发态,否则处于抑制状态。3两神经元之间的联接强度随其激发与抑制行为相关性的时间平均值正比变化,也就是说神经元之间的联接强度不是一成不变的。这就是生物学上的Hebb律。二、人工神经元的M-P模型(McCulloch、Pitts,1943)1构造一个模拟生物神经组织的人工神经网络的三要素:(1)对单个神经元给出定义;(2)定义网络结构:决定神经元数量及连接方式;(3)给出一种方法,决定神经元之间的联接强度。2M-P模型其中,t表示时间Si(t)表示第i个神经元在t时刻的状态,Si(t)=1表示处于激发态,Si(t)=0表示处于抑制态wij表示第j个神经元到第i个神经元的联接强度,称之为权,可正可负表示第i个神经元在t时刻所接收到的所有信号的线性迭加。i表示神经元i的阈值, 可以在模型中增加一个Sk(t)=1神经元k,并且wik=-i,则阈值可归并到和号中去。注:1M-P神经元虽然简单,但可以完成任何计算。2神经元的状态可以取0,1中的连续值,如用以下函数代替(x):iWi1Wi2Wi3I2H2H3I3O1H1I4I1O2输出层Oi输入层Ik隐含层Hj权Wjk权Wij三、多层前传网络1.特点: 相邻层全互连 同层没有连接 输出与输入没有直接联系2各层神经元个数的确定输入层、输出层的神经元个数由研究对象的输入、输出信息来确定。隐含层:3符号说明:表示一个确定的已知样品的标号;i, j, k:分别对应于输出层、隐含层、输入层的下标;将第个样品的原始数据输入网络时,相应输出单元状态;将第个样品的原始数据输入网络时,相应隐含单元状态;将第个样品的原始数据输入网络时,相应输入单元数据;wij:从隐含层第j个神经元到输出层第i个神经元的联接强度;wjk:从输入层第k个神经元到隐含层第j个神经元的联接强度;4网络数据流程对应于输入层的输入:隐单元j的输入是:对应的输出是:输出单元i收到的迭加信号是:输出单元i的输出是:显然输出是所有权w=wij,wjk的函数四、向后传播算法(Back-Propagation)设样品在输出单元i上的理想输出为,则函数:表示了在一定的权下,理想输出与实际输出的差异。因此,确定权w的问题化为求E(w)的极小值问题。可以采用最速下降算法。最速下降算法步骤:1)任取初始点w0,计算出w0的负梯度方向:-E(w0)2)取新点w1=w0+w=w0-E(w0),使E(w1)E(w0)3)判断其中w的计算如下:对于隐单元到输出单元的权的修正量为其中对于输入单元到隐单元的权的修正量为其中五、Matlab中 BP神经网络的实现1BP神经网络的初始化 各层神经元个数,各层神经元之间的连接强度, 各层神经元的传递函数1).人工初始化 如下例例1.有一个三输入两层神经网络,隐层有两个对数S形神经元,输出层有一个正切S形神经元,用于预测两个一元目标矢量.p=0 0.5 -0.2;1 0.2 0.3;%输入t=0.5,-0.5;%理想输出r=3;s1=2;s2=1;%输入层、隐层、输出层的神经元个数w1=rands(s1,r);输入层到隐层的连接强度b1=rands(s1,1); 隐层的阈值w2=rands(s2,s1); 隐层到输出层的连接强度b2=rands(s2,1);输出层的阈值lr=1;学习速率for epoch=1:40 训练网络40次 a1=logsig(w1*p,b1);隐层的输出 a2=tansig(w2*a1,b2);输出层的输出 e=t-a2;与理想输出的误差 d2=deltatan(a2,e);输出层的值 d1=deltalog(a1,d2,w2);隐层的值 dw1,db1=learnbp(p,d1,lr);进行学习,获取隐层连接强度、阈值的调整值 w1=w1+dw1;调整隐层的连接强度 b1=b1+db1;调整隐层的阈值 dw2,db2=learnbp(a1,d2,lr);进行学习,获取输出层连接强度、阈值的调整值 w2=w2+dw2;调整输出层的连接强度 b2=b2+db2;调整输出层阈值end;a1=logsig(w1*p,b1);学习后,对网络进行验证a2=tansig(w2*a1,b2)2)调用系统提供的函数 格式:w1,b1,w2,b2=initff(p,s1,f1,s2,f2) w1,b1,w2,b2=initff(p,s1,f1,t,f2) 功能:至多三层的BP网络初始化,得到每层的权值和阈值。 说明:1)P为输入向量,P中每一行必须包含网络期望输入的最大值和最小值,这样才能合理地初始化连接强度与阈值。2)T为理想输出向量3)S1为隐层的神经元数,S2为输出层的神经元数,可用理想输出向量T代替S2,此时S2T向量的行数4)F1为隐层传递函数名,F2为输出层传递函数名例2 例2 应用两层BP网络进行函数逼近,其中隐层神经元个数设为5个clf reset;figure(gcf)colordef(gcf,none)setfsize(500,200);echo onclc%INITFF - Initializes a feed-forware network.%TRAINBP - Trains a feed-forward network with backpropagation.% SIMUFF - Simulates a feed-forward network.% FUNCTION APPROXIMATION WITH TANSIG/PURELIN NETWORK:%Using the above functions two-layer network is trained%to respond to specific inputs with target outputs.% DEFINING A VECTOR ASSOCATION PROBLEM% =%P defines twenty-one 1-element input vectors (column vectors):P = -1:.1:1;% T defines the associated 1-element targets (column vectors):T=-.9602 -.5770 -.0729 .3771 .6405 .6600 .4609 . .1336 -.2013 -.4344 -.5000 -.3930 -.1647 .0988 . .3072 .3960 .3449 .1816 -.0312 -.2189 -.3201;% PLOTTING THE DATA POINTS% =% Here the data points are plotted:plot(P,T,+);title(Training Vectors);xlabel(Input Vector P);ylabel(Target Vector T);% The function the neural network learns must pass through% these data points.pause % Strike any key to design the network.clc% DESIGN THE NETWORK% =% A two-layer TANSIG/PURELIN network will be trained.%The number of hidden TANSIG neurons should reflect the% complexity of the problem.S1 = 5;%INITFF is used to initialize the weights and biases for%the TANSIG/PURELIN network.w1,b1,w2,b2 = initff(P,S1,tansig,T,purelin);echo off% TRAINING THE NETWORK% =%TRAINBP uses backpropagation to train feed-forward networks.df = 10; % Frequency of progress displays (in epochs).me = 8000; % Maximum number of epochs to train.eg = 0.02; % Sum-squared error goal.lr = 0.01; % Learning rate.tp = df me eg lr;%Training begins.please wait (this takes a while!).w1,b1,w2,b2,ep,tr=trainbp(w1,b1,tansig,w2,b2,purelin,P,T,tp);% .and finally finishes.%TRAINBP has returned new weight and bias values, the number% of epochs trained EP, and a record of training errors TR.pause % Strike any key to see a plot of errors.clc% PLOTTING THE ERROR CURVE% =%Here the errors are plotted with respect to training epochs:ploterr(tr,eg);pause % Strike any key to use the function approximator.clc% USING THE PATTERN ASSOCIATOR% =% We can now test the associator with one of the origonal% inputs, 0.5, and see if it returns the target, 0.3960.p = 0.5;a = simuff(p,w1,b1,tansig,w2,b2,purelin)% The result is fairly close. Training to a lower error% goal would result in a closer approximation.echo offdisp(End of DEMOBP2)2、传递函数 PURELIN 纯线性形函数格式: PURELIN(Z,B)成批处理向量Z,并提供阈值B 对数S形LOGSIG函数格式:LOGSIG(Z,B) 双曲正切S形TANSIG函数格式:TANSIG(Z,B)3反向传播误差导数函数1) 1) DELTALIN(A,E)计算线性输出层的误差导数阵,A、E分别为这一层的输出向量与误差2) 2) DELTALIN(A,D,W)3) 2)计算线性隐层的误差导数阵,D为下一层的向量,W为与下一层的连接强度4) 3) DELTALOG(A,E)5) 4) DELTALOG(A,D,W)6) 5) DELTATAN(A,E)7) 6) DELTATAN(A,D,W)4、BP网络的学习规则1)反向传播学习规则格式:LEARNBP(P,D,LR)DW,DBLEARNBP(P,D,LR)其中P为本层的输入向量,D为向量(可以通过反向传播误差导数函数计算),LR为学习速率可同时得到连接强度的修正矩阵DW与阈值修正向量DB。利用本函数之前,首先要计算出网络输出层的误差向量的导数2向量,然后通过网络反向传播,直到计算出每个隐层的误差导数(1向量),可利用函数DELTALIN、DELTALOG、DELTATAN来计算。2)利用动量规则的改进BP算法格式:LEARNBPM(P,D,LR,MC,DW) DW,DB= LEARNBPM(P,D,LR,MC,DW,DB)其中MC为动量常数,0MC1。说明:标准BP算法在修正权值时,只是按照当时的负梯度方向进行修改,而没有考虑到以前的梯度方向,从而常常使学习过程发生振荡,收敛缓慢。而动量法则是考虑先前的梯度方向。5、BP神经网络的训练1).利用BP算法训练前向网络格式:W,B,TE,TRTRAINBP(W,B,F,P,T,TP)W1,B1,W2,B2,TE,TR=TRAINBP(W1,B1,F1,W2,B2,F2,P,T,TP)W1,B1,W2,B2,W3,B3,TE,TR=TRAINBP(W1,B1,F1,W2,B2,F2,W2,B3,F3,P,T,TP)说明:(1)W为连接强度,B为阈值,F为传递函数名(2)T为理想输出向量,P为输入(3)TP为可选训练参数l l TP(1)指定两次更新显示间的训练次数,其缺省值为25l l TP(2)指定训练的最大次数,其缺省值为100l l TP(3)指定误差平方和的指标,其缺省值为0.02l l TP(4)指定学习速率,其缺省值为0.01(4)w,b,te,tr为训练结果TE为网络的实际训练次数TR为网络训练误差平方和向量2)利用快速BP算法训练前向网络格式:W,B,TE,TRTRAINBPX(W,B,F,P,T,TP)W1,B1,W2,B2,TE,TR=TRAINBPX(W1,B1,F1,W2,B2,F2,P,T,TP)W1,B1,W2,B2,W3,B3,TE,TR=TRAINBPX(W1,B1,F1,W2,B2,F2,W2,B3,F3,P,T,TP)说明:(1)TRAINBPX采用了动量法和学习率自适用调整策略,从而提高了学习速度及增加了算法的可靠性(2)TP为可选训练参数l l TP(1)指定两次更新显示间的训练次数,其缺省值为25l l TP(2)指定训练的最大次数,其缺省值为100l l TP(3)指定误差平方和的指标,其缺省值为0.02l l TP(4)指定学习速率,其缺省值为0.01l l TP(5)指定学习速率增加的比率,其缺省值为1.05l l TP(6)指定学习速率减少的比率,其缺省值为0.7l l TP(7)指定动量常数,其缺省值为0.9l l TP(8)指定最大误差比率,其缺省值为0.43)利用Levenberg-Marquardt算法训练前向网络格式:W,B,TE,TRTRAINLM(W,B,F,P,T,TP)W1,B1,W2,B2,TE,TR=TRAINLM(W1,B1,F1,W2,B2,F2,P,T,TP)W1,B1,W2,B2,W3,B3,TE,TR=TRAINLM(W1,B1,F1,W2,B2,F2,W2,B3,F3,P,T,TP)说明:(1)TRAINBPX采用了动量法和学习率自适用调整策略,从而提高了学习速度及增加了算法的可靠性(2)TP为可选训练参数l l TP(1)指定两次更新显示间的训练次数,其缺省值为25l l TP(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年上海安全员C2核心考点速记速练300题(附答案)
- 鼻窦炎常见症状解析及护理方法培训
- 2025年德保县中小学教师招聘笔试备考试题及答案解析
- 2025年万年县中小学教师招聘笔试参考题库及答案解析
- 2025年来凤县中小学教师招聘笔试参考试题及答案解析
- 2025年连城县教师招聘考试参考题库及答案解析
- 上海市曹扬第二中学2025-2026学年生物高二上期末教学质量检测模拟试题含解析
- 山东省平邑县曾子学校2025年高一化学第一学期期中质量检测试题含解析
- 四川省成都市龙泉一中、新都一中等九校2025-2026学年高一上化学期中经典试题含解析
- 2025年证券从业资格考试(金融市场基础知识)模拟卷后附答案
- 2025中国电信股份有限公司重庆分公司社会成熟人才招聘笔试考试参考题库及答案解析
- 人教版(2024)八年级上册英语Unit 7 When Tomorrow Comes 素养测试卷(含答案)
- 蛛网膜下腔出血的课件
- 贵州省2025年高中学业水平考试政治模拟试卷(含答案详解)
- 老年人面瘫针灸治疗课件
- 儿科水痘患儿护理措施
- 皇帝的新装课本剧课件
- 柯达伊小星星手势课件
- 2025年农村应用文写作试题及答案大全
- 2025至2030中国光谱红外探测器行业项目调研及市场前景预测评估报告
- 政务大模型发展研究报告(2025年)
评论
0/150
提交评论