完整word版神经网络学习算法matlab仿真word文档良心出品docxWord格式.docx

上传人:b****3 文档编号:15141701 上传时间:2022-10-28 格式:DOCX 页数:15 大小:21.64KB
下载 相关 举报
完整word版神经网络学习算法matlab仿真word文档良心出品docxWord格式.docx_第1页
第1页 / 共15页
完整word版神经网络学习算法matlab仿真word文档良心出品docxWord格式.docx_第2页
第2页 / 共15页
完整word版神经网络学习算法matlab仿真word文档良心出品docxWord格式.docx_第3页
第3页 / 共15页
完整word版神经网络学习算法matlab仿真word文档良心出品docxWord格式.docx_第4页
第4页 / 共15页
完整word版神经网络学习算法matlab仿真word文档良心出品docxWord格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

完整word版神经网络学习算法matlab仿真word文档良心出品docxWord格式.docx

《完整word版神经网络学习算法matlab仿真word文档良心出品docxWord格式.docx》由会员分享,可在线阅读,更多相关《完整word版神经网络学习算法matlab仿真word文档良心出品docxWord格式.docx(15页珍藏版)》请在冰豆网上搜索。

完整word版神经网络学习算法matlab仿真word文档良心出品docxWord格式.docx

clearall;

closeall;

nu=20;

pi=3.1415926;

fori=1:

nu

p(i)=2*pi*i/nu;

t(i)=0.5*(1+cos(p(i)));

end

minmax=[min(p(:

))max(p(:

))]

net=newff([07],[61],{'

logsig'

'

purelin'

},'

traingd'

);

%traingdtraingdmtrainlmnet.trainParam.epochs=10000;

net.trainParam.goal=0.0001;

net.trainParam.show=200;

net.trainParam.lr=0.1;

net.trainParam.mc=0.6;

%0.9defaultvalue;

availableformomentumnet=train(net,p,t);

y1=sim(net,p);

figure

(2);

plot(p,t,'

*-'

p,y1,'

r--'

%**************testdata******************

nu2=nu*3/2;

(nu2)

p2(i)=2*pi*i/(nu2);

t2(i)=0.5*(1+cos(p2(i)));

y2=sim(net,p2);

figure(3);

plot(t2,'

holdon;

plot(y2,'

r'

xlabel('

times'

ylabel('

outputs'

figure(4);

plot(t2-y2);

error'

(b)为了进一步提高学习逼近效果,可以采取那些措施,调节规律如何?

根据所提的每种措施,修改算法程序,给出仿真效果验证、过程以及相应的曲线图,给出适当的评述;

(c)联系、结合前向神经网络的算法样本学习、测试等过程,谈谈本人对神经网络系统的一些认识和看法。

(2)要求

提交完整的报告,包括:

封面(题目、个人学号姓名等信息)、目录、任务要求叙述、系

-3-

统分析及设计原理(包括神经网络学习过程的原理图及文字分析)、完整的设计实现过程(包括

神经网络结构、参数等选择与实现、计算、原理过程等)、仿真验证(算法流程图、实现手段

介绍、系统参数选择、曲线图、结合调参对响应曲线的影响给出必要的分析)、讨论与分析,

总字数要求在2000以上。

二.系统分析及设计原理

(1)神经网络的学习算法

学习过程实质上是针对一组给定的输入xp(p1,2,N)使网络产生相应的期望输出

的过程。

总的来说,神经网络的学习算法分为两大类:

有导师学习和无导师学习。

输入信号X

网络输出Y

神经网络

期望输出T

距离计算

图1:

有导师指导神经网络学习方式图2无导师指导神经网络学习方式

由上图可见,所谓有导师学习就是在训练过程中,始终存在一个期望的网络输出。

期望

输出和实际输出之间的距离作为误差度量并用于调整权值。

而无导师学习指的是网络不存在

一个期望的输出,因而没有直接的误差信息,因此,为实现对网络的训练,徐建立一个简洁

的评价函数,以对网络的某种行为取向做出评价。

(2)多层传播网络的学习算法

给定N组样本

(X1,T1;

X2,T2;

Xp,Tp;

)。

这里Xi为ni维输入矢量,Ti为no维

期望的输出矢量,i

1,2P,.假设矢量y和o分别表示网络的输出层和隐含层的输出

矢量。

则训练过程为:

(1)选

0,Emax作为最大容许误差,并将权系数

Wl,l,l1,2,L,初始化成某

一小的随机权矩阵。

p1,E

(2)训练开始

Op

(1)

Xp,T

Tp

nr

按照Opj(r1)

r1(wrjl

1oplr

jr1),r

0,1,2

L1计算出各隐含层神经元的

i1

-4-

nL

尽力输出,按照

ypj

L(NetpjL

L(

wLjiopiL1

jL),L1,2no计算出各输

出层神经元的激励输出。

(3)

计算误差E

(tk

yk)2/2

E,k

1,2

no

(4)

按公式

L

Ep

Ep

(t

pj

NetpjL

ypj

r

orpj

Netpjr

(orpk

1wkjr1)

r(Netpjr))

k

pjypj)L(NetLpj)

Netpkr1

r(Netpjr))

Netpkr

opjr

计算出pjL,pjr

(5)调整权阵系数

rr1

wji

pj,opj

j

(6)若pP,pp1,跳转到

(2),否则跳转到(7)

(7)若EEmax,结束,否则p1,E0,跳转到

(2)。

三.设计实现

(1)神经网络的结构(BP算法的神经网络结构)

下图是一个多层传播结构。

即在输入层和输出层之间嵌入一层或多层隐含层的网络结

构。

隐含层单元既可以与叔叔出单元相连也可以与其他隐含层单元相连。

隐含层单元与输入

单元之间通过突触权系数wij1连接,并可用矩阵w1表示全部关系。

隐含层单元与输出单元之间通过突触权系数wij21连接,全部关系可用矩阵w2表示。

图3:

神经网络结构图

-5-

(2)Maltab神经网络工具箱

1函数介绍

①newc()创建级联前向网络

②②newff()创建前向BP网络

③③newffd()创建存在输入延迟的前向网络

在此次实验中,采用第二个函数即创建的是前向BP网络。

前向网络中各神经元接

受前一级的输入,并输出到下一级,网络中没有反馈,可以用一个有向无环路图表示,

这种神经网络称为前向网络。

前向网络中节点分为两类,输入节点和计算节点。

每个输

入节点可以有任意个输入,但只有一个输出。

而输出可以耦合到任意多个其他节点的输

入。

前向网络通常可以分为不同的层,第i层的输入仅与第i-1层的输出连接。

一般认

为输入节点为第一层,具有一层计算节点的网络实际上是一个两层网络。

由于输入节点

和输出节点可以和外界连接,直接接受环境的影响,所以称为可见层。

而其他中间层则称为隐层。

2Newff()函数参数介绍

newff函数的格式为:

net=newff(PR,[S1S2...SN],{TF1TF2...TFN},BTF,BLF,PF),

函数newff建立一个可训练的前馈网络。

输入参数说明:

PR:

Rx2的矩阵以定义R个输入向量的最小值和最大值;

Si:

第i层神经元个数;

TFi:

第i层的传递函数,默认函数为tansig函数;

BTF:

训练函数,默认函数为trainlm函数;

BLF:

权值/阀值学习函数,默认函数为learngdm函数;

PF:

性能函数,默认函数为mse函数。

3程序中参数含义

(1)Newff()函数中的参数

a)传递函数有三种tansig(n)=2/(1+exp(-2*n))-1logsig(n)=1/(1+exp(-n))purelin(n)=n

b)训练函数有12种

trainbrBayes规范化BP训练函数trainc循环顺序渐增训练函数

traincgbPowell-Beale连接梯度BP训练函数traincgfFletcher-Powell连接梯度BP训练函数

traincgpPolak-Ribiere连接梯度BP训练函数

traingda自适应lrBP的梯度递减训练函数

traingdx动量及自适应lrBP的梯度递减训练函数

trainlmLevenberg-MarquardtBP训练函数

-6-

trainoss一步正切BP训练函数

trainr随机顺序递增更新训练函数

trainrp带反弹的BP训练函数

trains顺序递增BP训练函数

trainscg量化连接梯度BP训练函数

(2)其他参数

net.trainParam.epochs=10000;

允许最大训练步数

10000

net.trainParam.goal=0.001;

训练目标最小误差

0.001

每间隔200步显示一次训练结果

学习步长0.1

动量因子

四.仿真验证

(1)参数调节方法

首先改变传递函数,保持其他参数不变的条件下,将传递函数换成其余两个传递函数,

观察运行结果,比较选出

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1