BTF表示网络的训练函数,默认为‘trainlm’; BLF表示网络的权值学习函数,默认为‘learngdm’; PF表示性能数,默认为‘mse’。 2)newcf
函数用于创建级联前向BP网络, newfftd函数用于创建一个存在输入延迟的前向网络。
3)train
神经网络训练函数。该函数的调用格式为: [net,tr,Y,E,Pf,Af]=train(NET,P,T,Pi,Ai) [net,tr,Y,E,Pf,Af]=train(NET,P,T,Pi,Ai,VV,TV)
2.5 BP网络的应用举例
例1 在[?1,1]上逼近函数t?sin(?p)的图形。 参考程序如下: %输入样本点 p=-1:0.05:1; t=sin(pi*p);
%在坐标图上绘出样本点 figure; plot(p,t,'O'); title(' 样本点图'); %建立网络
net=newff([-1 1],[10,1],{'tansig','purelin'},'traingdx');
%显示网络初始连接权和偏置值(默认参数值是随机设定) net.iw{1,1}; net.lw{2,1}; net.b{1}; net.b{2};
6
%仿真网络 y1=sim(net,p);
%在坐标图上绘出样本点和网络响应曲线 figure;
plot(p,t,'O',p,y1,'r-'); title('训练前网络响应曲线'); %利用样本点训练网络 net=train(net,p,t);
%显示训练后网络连接权和偏置值 net.iw{1,1}; net.lw{2,1}; net.b{1}; net.b{2};
%计算网络仿真结果 y2=sim(net,p);
%绘出样本点和训练后网络响应曲线 figure;
plot(p,t,'O',p,y2,'r-'); title('训练后网络响应曲线')
注: (1) 网络默认传输函数为:tansig(隐层),purelin(输出层); (2) 缺省训练函数为: trainlm, (Levenberg-Marquardt optimization) 可用训练函数有:
traingd,(gradient descent.);
traingdx(gradient descent momentum and an adaptive learning rate.) trainbfg, (BFGS quasi-Newton method.) trainrp, (resilient backpropagation algorithm) (2) 训练参数设置方法:
net.trainParam.epochs=1000;(最大训练次数) net.trainParam.goal=0.001;(误差函数目标值)
7
net.trainParam.lr=0.3;(学习速率)
3 径向基函数网络
3.1 径向基函数神经网络结构
在人的大脑皮层区域中,局部调节和交叠的感受野是人脑反应的特点。基于感受野这一特性,Moody和Darken提出了一种神经网络结构,即RBF神经网络。网络的结构见图4。
x ??wi y 输入层 隐含层 输出层 图4 RBF神经网络结构图
这是一种前向网络的拓扑结构,输入x?R,输入向量全部直接传递到隐含层的每一个神经元;输出y?R,隐含层到输出层的权值为wi?R,传输函数为线性函数;隐含层的单元是感受野单元,有p个神经元,第i个感受野单元的输出为?i(x)??i(x?ci),(i?1,2,?,p),?i(?)具有局部感受的特点,称?i(?)为径向基函数。经常用的几个典型径向基函数为
122n?(x)?(x?c);?(x)??21(x2?c)(x?c)22?2122;
?(x)?e.?i(?)只有在ci周围的一部分区域有较强反应,这正体现了大脑皮质层的反
映特点。称ci为函数?i(?)的中心,?i为函数的宽度。RBF神经网络的最后
8
输出结果为y??w??(x?ciii?1pi)。
3.2 径向基函数的学习算法
RBF神经网络的参数包括网络权值wj、径向基函数的中心ci及其宽度
?i。参数确定过程主要有以下几种:
方法1:?i预先选定,中心ci随机从学习样本中选取,通过对目标函数的优化计算得到网络权值。
方法2:根据所给样本集用聚类分析方法确定中心ci。具体的算法步骤如下:
1.给定各隐节点的初始中心ci(0);
2.计算距离(欧氏距离)并求出最小距离的节点;
di (t) = ‖p (t) ―ci(t―1)‖, 1≤i≤m
dmin(t)=mindi(t)=dr(t)
式中,ci——第i个隐节点的中心, i=1,2,…,m; ‖·‖——通常为欧氏范数。
3.调整中心:
ci(t)= ci(t―1), 1≤i≤m, i≠r Cr(t)= ci(t―1)+η(p(t)- Cr(t)―1)) 式中,η——学习速率,0<η<1。
4.计算节点r的距离:dr(t)=‖p(t)- Cr(t)‖?i预先选定,或者通过前一步所得中心值,经固定的公式计算得到;然后构造目标函数,选择一种优化方法得到网络的优化权值。
方法3:RBF神经网络的参数值全部通过对目标函数的优化过程求得。
3.3 径向基函数的使用方法
MATLAB中提供了四个径向基函数相关的函数,它们都是创建两层的神经网络,第一层都是径向基层,第二层是线性层或者竞争层。主要的区别是它们权值、阀值计算函数不同或者是否有阀值。
注意:径向基函数网络不需要训练,在创建的时候就自动训练好了。
9
1. net = newrbe(P,T,spread)
newrbe()函数可以快速设计一个径向基函数网络,且设计误差为0。第一层(径向基层)神经元数目等于输入向量的个数,加权输入函数为dist,网络输入函数为netprod;第二层(线性层)神经元数模有输出向量T确定,加权输入函数为dotprod,网络输入函数为netsum。两层都有阀值。 第一层的权值初值为p',阀值初值为0.8326/spread,目的是使加权输入为±spread时径向基层输出为0.5,阀值的设置决定了每一个径向基神经元对输入向量产生响应的区域。
2. [net,tr] = newrb(P,T,goal,spread,MN,DF)
说明
P为输入向量,T为目标向量,GOAL为圴方误差,默认为0,SPREAD为径向基函数的分布密度,默认为1,MN为神经元的最大数目,DF为两次显示之间所添加的神经元神经元数目。
该函数和newrbe一样,只是可以自动增加网络的隐层神经元数模直到均方差满足精度或者神经元数模达到最大为止。 P=-1:0.1:1; T=sin(P); spread=1; mse=0.02;
net=newrb(P,T,mse,spread); t=sim(net,P); plot(P,T,'r*',P,t)
3. net = newgrnn(P,T,spread)泛回归网络(generalized regression neural network)
广义回归网络主要用于函数逼近。它的结构完全与newbre的相同,但是有以下几点区别(没有说明的表示相同): (1)第二网络的权值初值为T (2)第二层没有阀值
(3)第二层的权值输入函数为normpod,网络输入函数为netsum
10
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库智能计算:神经网络(2)在线全文阅读。
相关推荐: