(完整word版)神经网络学习算法matlab仿真(word文档良心出品).docx
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
东南大学自动化学院
智能控制概论
神经网络学习算法研究
学院:
姓名:
学号:
日期:
目录
1任务要求叙述 .....................................................错误!未定义书签。2系统分析及设计原理 .........................................错误!未定义书签。3设计实现 ..............................................................错误!未定义书签。
4 仿真验证 (6)
5讨论与分析 ..........................................................错误!未定义书签。
一.任务要求叙述
( 1)任务
(a)运行算法,观察和分析现有学习算法的性能;
clear all;close all;
nu=20;pi=3.1415926;
for i=1:nu
p(i)=2*pi*i/nu;
t(i)=0.5*(1+cos(p(i)));
end
minmax=[min(p(:)) max(p(:))]
net = newff([ 0 7],[6 1],{'logsig' 'purelin'},'traingd');% traingd traingdm trainlm
net.trainParam.epochs = 10000;
net.trainParam.goal = 0.0001;
net.trainParam.show=200;
net.trainParam.lr=0.1;
net.trainParam.mc=0.6; %0.9 default value; available for momentum
net = train(net,p,t);
y1 = sim(net,p);
figure(2);
plot(p,t,'*-',p,y1,'r--')
%************** test data ******************
nu2=nu*3/2;
for i=1:(nu2)
p2(i)=2*pi*i/(nu2);
t2(i)=0.5*(1+cos(p2(i)));
end
y2 = sim(net,p2);
figure(3);
plot(t2,'*-');hold on; plot(y2,'r');
xlabel('times');ylabel('outputs');
figure(4);
plot(t2-y2);
xlabel('times');ylabel('error');
(b)为了进一步提高学习逼近效果,可以采取那些措施,调节规律如何?根据所提的每种措
施,修改算法程序,给出仿真效果验证、过程以及相应的曲线图,给出适当的评述;
(c)联系、结合前向神经网络的算法样本学习、测试等过程,谈谈本人对神经网络系统的一
些认识和看法。
( 2)要求
提交完整的报告,包括:封面( 题目、个人学号姓名等信息)、目录、任务要求叙述、系
统分析及设计原理(包括神经网络学习过程的原理图及文字分析)、完整的设计实现过程(包括
神经网络结构、参数等选择与实现、计算、原理过程等)、仿真验证 (算法流程图、实现手段
介绍、系统参数选择、曲线图、结合调参对响应曲线的影响给出必要的分析)、讨论与分析,
总字数要求在2000 以上。
二.系统分析及设计原理
( 1)神经网络的学习算法
学习过程实质上是针对一组给定的输入x p ( p 1,2, N ) 使网络产生相应的期望输出的过程。总的来说,神经网络的学习算法分为两大类:有导师学习和无导师学习。
输入信号 X网络输出 Y
网络输出 Y 神经网络输入信号 X
神经网络
期望输出T
距离计算
图 1:有导师指导神经网络学习方式图 2 无导师指导神经网络学习方式
由上图可见,所谓有导师学习就是在训练过程中,始终存在一个期望的网络输出。期望输出和实际输出之间的距离作为误差度量并用于调整权值。而无导师学习指的是网络不存在
一个期望的输出,因而没有直接的误差信息,因此,为实现对网络的训练,徐建立一个简洁
的评价函数,以对网络的某种行为取向做出评价。
( 2)多层传播网络的学习算法
给定 N 组样本( X 1, T1 ; X 2 ,T2 ; X p , T p ; ) 。这里 X i为 n i维输入矢量, T i为 n o维期望的输出矢量, i1,2 P ,.假设矢量 y 和 o 分别表示网络的输出层和隐含层的输出
矢量。则训练过程为:
(1) 选0 , E m ax作为最大容许误差,并将权系数W l , l ,l 1,2, L, 初始化成某
一小的随机权矩阵。
p 1, E0
(2)训练开始
O p(1)X p ,T T p
n r
按照 O pj(r 1)r 1 ( w r jl1o pl r j r 1 ), r0,1,2L 1 计算出各隐含层神经元的
i 1
n L 1
尽力输出,按照
y
pj
L (Net pj L
)
L (
w L ji o pi L 1
j
L
), L 1,2 n o 计算出各输
i 1
出层神经元的激励输出。
(3) 计算误差 E (t k y k )2 / 2
E,k
1,2
n o
(4) 按公式
L
E p E p
y pj (t
pj
Net pj L
y
pj
Net pj L
r E p E p
o r pj
(
pj
Net pj r
o r
pj Net pj r
(
(o r pk 1 w kj r 1 ) r (Net pj r ))
k
pj
y pj ) L ( Net L pj )
(
E p Net pk r 1 ) r ( Net pj r )) k
Net pk r 1 o pj r
计算出
pj
L
, pj r
(5) 调整权阵系数 r
rr 1
r
r
w ji pj , o
pj j pj
(6) 若 p P , pp 1,跳转到( 2),否则跳转到( 7)
(7) 若 E
E max ,结束,否则 p 1, E 0,跳转到( 2)。
三.设计实现
( 1)神经网络的结构( BP 算法的神经网络结构)
下图是一个多层传播结构。即在输入层和输出层之间嵌入一层或多层隐含层的网络结
构。隐含层单元既可以与叔叔出单元相连也可以与其他隐含层单元相连。
隐含层单元与输入
单元之间通过突触权系数 w ij 1 连接,并可用矩阵 w 1 表示全部关系。 隐含层单元与输出单元之间通过突触权系数 w ij 21连接,全部关系可用矩阵 w 2 表示。
图 3:神经网络结构图