MATLAB神经网络实验ppt课件

上传人:优*** 文档编号:136359954 上传时间:2020-06-28 格式:PPT 页数:25 大小:820KB
返回 下载 相关 举报
MATLAB神经网络实验ppt课件_第1页
第1页 / 共25页
MATLAB神经网络实验ppt课件_第2页
第2页 / 共25页
MATLAB神经网络实验ppt课件_第3页
第3页 / 共25页
MATLAB神经网络实验ppt课件_第4页
第4页 / 共25页
MATLAB神经网络实验ppt课件_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《MATLAB神经网络实验ppt课件》由会员分享,可在线阅读,更多相关《MATLAB神经网络实验ppt课件(25页珍藏版)》请在金锄头文库上搜索。

1、MATLAB神经网络工具箱 介绍及实验要求,神经元模型,Neuron Model: 多输入,单输出,带偏置,输入:R维列向量,权值:R维行向量,阈值:标量,求和单元,传递函数,输出,常用传递函数,a,Wp,-b,1,-1,阈值函数,MATLAB函数: hardlim,MATLAB函数: hardlims,线性函数,Purelin Transfer Function :,MATLAB函数: purelin,Sigmoid函数,Sigmoid Function : 特性: 值域a(0,1) 非线性,单调性 无限次可微 |n|较小时可近似线性函数 |n|较大时可近似阈值函数,MATLAB函数: lo

2、gsig(对数), tansig(正切),对数Sigmoid函数,正切Sigmoid函数,前馈神经网络,前馈神经网络(feed forward NN):各神经元接受前级输入,并输出到下一级,无反馈,可用一有向无环图表示。 前馈网络通常分为不同的层(layer),第i层的输入只与第i-1层的输出联结。 可见层:输入层(input layer)和输出层(output layer) 隐藏层(hidden layer) :中间层,BP网络,多层前馈网络,主要功能: 函数逼近, 模式识别, 信息分类,传递函数:隐层采用S形函数,输出层S形函数或线性函数,BP网络的生成,newff,函数newff用来生成

3、一个BP网络,net=newff(PR,S1 S2.SN,TF1 TF2. TFN,BTF,BLF,PF),PR: 一个R2矩阵, 由R维输入向量的每维最小值和最大值组成,Si: 第i层的神经元个数,TFi: 第i层的传递函数, 默认为tansig,BTF: 训练函数, 默认为trainlm,BLF: 学习函数, 默认为learngdm,PF: 性能函数, 默认为mse,net=newff(0,10;-1,2,5,1,tansig,purelin,trainlm);,%生成一个两层BP网络,隐层和输出层神经的个数为5和1, 传递函数分别为tansig和purelin, 训练函数为trainlm

4、, 其他默认,BP网络的初始化,newff 函数在建立网络对象的同时, 自动调用初始化函数, 根据缺省的参数设置网络的连接权值和阈值.,使用函数init可以对网络进行自定义的初始化. 通过选择初始化函数, 可对各层连接权值和阈值分别进行不同的初始化.,BP网络的学习规则,权值和阈值的调节规则采用误差反向传播算法(back propagation). 反向传播算法分二步进行,即正向传播和反向传播。,1正向传播 输入的样本从输入层经过隐单元一层一层进行处理,通过所有的隐层之后,则传向输出层;在逐层处理的过程中,每一层神经元的状态只对下一层神经元的状态产生影响。在输出层把现行输出和期望输出进行比较,

5、如果现行输出不等于期望输出,则进入反向传播过程。 2反向传播 反向传播时,把误差信号按原来正向传播的通路反向传回,并对每个隐层的各个神经元的权系数进行修改,以望误差信号趋向最小。 BP算法实质是求取误差函数的最小值问题。这种算法采用非线性规划中的最速下降方法,按误差函数的负梯度方向修改权系数。,BP网络的快速学习算法与选择,MATLAB神经网络工具箱对常规BP算法进行改进,提供了一系列快速算法,以满足不同问题的需要,BP网络的训练,利用已知的”输入目标”样本向量数据对网络进行训练,采用train 函数来完成. 训练之前, 对训练参数进行设置,net = train(net, P, T),BP网

6、络的设计(1),网络层数,已经证明,单隐层的BP网络可以实现任意非线性映射. BP网络的隐层数一般不超过两层.,输入层的节点数,输入层接收外部的输入数据, 节点数取决于输入向量的维数,输出层的节点数,输出层的节点数取决于输出数据类型和该类型所需的数据大小.,对于模式分类问题,节点数为,BP网络的设计(2),隐层的节点数,隐层的节点数与求解问题的要求,输入输出单元数多少有关. 对于模式识别/分类的节点数可按下列公式设计,传递函数,隐层传递函数采用S型函数, 输出层采用S型函数或线性函数,训练方法及其参数选择,针对不同应用, BP网络提供了多种训练学习方法.,其中,为隐层节点数,为输入节点数,为1

7、10之间的整数,BP网络设计实例,采用动量梯度下降算法训练BP网络. 训练样本,%定义训练样本 p=-1 -1 3 1;-1 1 5 -3; t=-1 -1 1 1; %创建一个新的BP网络 net=newff(minmax(p),3 1,tansig,purelin,traingdm); %设置训练参数 net.trainParam.epochs=1000; net.trainParam.goal=0.001; net.trainParam.show=50; net.trainParam.lr=0.05; net.trainParam.mc=0.9;%动量因子,缺省为0.9 net=trai

8、n(net,p,t); % 训练网络 A=sim(net,p) %网络仿真,目标线,训练误差变化曲线,训练误差变化曲线(每次不同),实验2: BP网络用于曲线拟合,要求设计一个简单的BP网络,实现对非线性函数的逼近。通过改变该函数的参数以及BP网络隐层神经元的数目,来观察训练时间以及训练误差的变化情况。,Step1: 将要逼近的非线性函数设为正弦函数,k = 1; p = -1:.05:1; t = sin(k*pi*p); plot(p,t,-) title(要逼近的非线性函数); xlabel(时间); ylabel(非线性函数);,Step 2: 网络建立 应用函数newff()建立BP

9、网络结构,为二层BP网络。隐层神经元数目n可以改变,暂设为10,输出层有一个神经元。选择隐层和输出层神经元传递函数分别为tansig函数和purelin函数,网络训练算法采用trainlm,n = 10; net = newff(minmax(p), n,1, tansig purelin, trainlm); % 对于该初始网络,可以应用sim()函数观察网络输出 y1 = sim(net,p); % 同时绘制网络输出曲线,并与原函数相比较 figure; plot(p,t,-,p,y1,-) title(未训练网络的输出结果); xlabel(时间); ylabel(仿真输出 原函数 );

10、,因为使用newff()函数建立网络时,权值和阈值的初始化是随机的,所以网络输出的结果很差,根本达不到函数逼近的目的,并且每次运行结果也有所不同。,Step 3: 网络训练 应用函数train()对网络进行训练之前,要先设置训练参数。将训练时间设置为50,精度设置为0.01,其余用缺省值。 训练后得到的误差变化过程如图:,net.trainParam.epochs = 50; net.trainParam.goal = 0.01; net = train(net,p,t);,Stet 4: 网络测试 对于训练好的网络进行仿真 并绘制网络输出曲线,与原始非线性函数曲线以及未训练网络的输出结果曲线

11、相比较,y2 = sim(net,p); figure; plot(p,t,-,p,y1,-,p,y2,-.) title(训练后网络的输出结果); xlabel(时间); ylabel(仿真输出);,从图中可以看出,得到的曲线和原始的非线性函数曲线很接近。这说明经过训练后,BP网络对非线性函数的逼近效果相当好。,后面内容直接删除就行 资料可以编辑修改使用 资料可以编辑修改使用 资料仅供参考,实际情况实际分析,主要经营:课件设计,文档制作,网络软件设计、图文设计制作、发布广告等 秉着以优质的服务对待每一位客户,做到让客户满意! 致力于数据挖掘,合同简历、论文写作、PPT设计、计划书、策划案、学习课件、各类模板等方方面面,打造全网一站式需求,感谢您的观看和下载,The user can demonstrate on a projector or computer, or print the presentation and make it into a film to be used in a wider field,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号