MATLAB神经网络工具箱(函数拟合)ppt课件.ppt
《MATLAB神经网络工具箱(函数拟合)ppt课件.ppt》由会员分享,可在线阅读,更多相关《MATLAB神经网络工具箱(函数拟合)ppt课件.ppt(40页珍藏版)》请在三一办公上搜索。
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函数: logsig(对数
2、), tansig(正切),对数Sigmoid函数,正切Sigmoid函数,单层神经网络模型,R维输入, S个神经元的单层神经网络模型,多层神经网络模型,前馈神经网络,前馈神经网络(feed forward NN):各神经元接受前级输入,并输出到下一级,无反馈,可用一有向无环图表示。前馈网络通常分为不同的层(layer),第i层的输入只与第i-1层的输出联结。可见层:输入层(input layer)和输出层(output layer)隐藏层(hidden layer) :中间层,感知器(perceptron):,单层前馈网络 传递函数为阈值函数,主要功能是模式分类,感知器的生成,函数newp用
3、来生成一个感知器神经网络,net = newp( pr, s, tf, lf ),net: 函数返回参数,表示生成的感知器网络 pr: 一个R2矩阵, 由R维输入向量的每维最小值和最 大值组成 s: 神经元的个数 tf: 感知器的传递函数, 默认为hardlim, 可选hardlims lf: 感知器的学习函数,默认为learnp, 可选learnpn,net = newp(-2,+2;-2,+2,2) %生成一个二维输入,两个神经元的感知器,newp,感知器的权值和阈值初始化,newp默认权值和阈值为零(零初始化函数initzero).,net = newp(-2,+2;-2,+2,2);,
4、W=net.IW1,1 %显示网络的权值,b=net.b1 %显示网络的阈值,W =0 00 0,b =0 0,改变默认初始化函数为随机函数rands,net.inputweights1,1.initFcn = rands;,net.biases1.initFcn = rands;,net =init(net); %重新初始化,直接初始化定义权值和阈值,net.IW1,1=1 2;3 4; net.b1=1,感知器学习,感知器学习算法,权值增量:,阈值增量:,权值更新:,阈值更新:,算法改进,输入样本归一化,权值和阈值训练与学习函数,train,net=train(net, P, T),设计好
5、的感知器并不能马上投入使用. 通过样本训练, 确定感知器的权值和阈值.,输入向量,目标向量,被训练网络,net.trainParam.epochs=10 ; %预定的最大训练次数为10, 感知器经过最多训练10次后停止,adapt,net=adapt(net, P, T),自适应训练函数,权值和阈值学习函数,learnp,dW=learnp(W,P,Z,N,A,T,E,D,gW,gA,LP,LS),dW:权值或阈值的增量矩阵,W:权值矩阵或阈值向量,P:输入向量,T:目标向量,E:误差向量,其他可以忽略,设为 ,learnpn,归一化学习函数,网络仿真函数,sim,a = sim(net, P
6、),输入向量,网络输出,分类结果显示绘图函数,plotpv,plotpv(P,T),plotpc,plotpc(W,b),画输入向量的图像,画分类线,根据给定的样本输入向量P和目标向量T, 以及需分类的向量组Q, 创建一个感知器, 对其进行分类.,例: 创建一个感知器,P=-0.5 -0.6 0.7;0.8 0 0.1; %已知样本输入向量T=1 1 0; %已知样本目标向量net=newp(-1 1;-1 1,1); %创建感知器handle=plotpc(net.iw1,net.b1); %返回划分类线的句柄net.trainParam.epochs=10; % 设置训练最大次数net=t
7、rain(net,P,T); %训练网络Q=0.6 0.9 -0.1;-0.1 -0.5 0.5; %已知待分类向量Y=sim(net,Q); %二元分类仿真结果 figure; %新建图形窗口plotpv(Q,Y); %画输入向量handle=plotpc(net.iw1,net.b1,handle) %画分类线,实验一 利用感知器进行分类(1),一个经过训练的感知器对5个输入向量进行分类(2类)。,Step 1,两个长度为5的向量构成输入样本矩阵P,行向量T为目标向量。利用PLOTPV画出这个向量的图像。例如:P = -0.5 -0.5 +0.3 -0.1 -4; -0.5 +0.5 -0
8、.5 +1.0 5;T = 1 1 0 0 1;plotpv(P,T); % plotpv函数利用感知器的输入向量和目标向量来画输入向量的图像,Step 2,建立神经网络,画输入向量的图像,MATLAB提供函数newp来创建一个指定的感知器。第一个参数指定了期望的两个输入向量的取值范围,第二个参数指定了只有一个神经元。net = newp(-40 1;-1 50,1);注意:这个神经元的传递函数是hardlim函数,也就是阶跃函数。取0,1两个值。Hardlims函数,取-1,1两个值。,实验一 利用感知器进行分类(2),添加神经元的初始化值到分类图,Step3,初始化的权值被设为0,因此任何
9、输入都会给出同样的输出,并且分类线不会出现在这个图中,不用害怕,我们会继续训练这个神经网。hold on linehandle = plotpc(net.IW1,net.b1); /plotpc函数用来画分类线,训练神经网络,Step4,Matlab提供了adapt函数来训练感知器,adapt函数返回一个新的能更好的执行分类、网络的输出、和误差的神经网络,这个划线函数允许网络从3个角度去调整,画分类线一直到误差为0为止。E = 1; /E为误差net.adaptParam.passes = 3; /决定在训练过程中重复次数while (sse(E) /sse函数是用来判定误差E的函数net,Y
10、,E = adapt(net,P,T); /利用输入样本调节神经网netlinehandle = plotpc(net.IW1,net.b1,linehandle);/ /画出调整以后的分类线drawnow; /延迟一段时间end,实验一 利用感知器进行分类(3),Step 5 模拟sim sim函数能被用来划分任何别的输入向量,例如划分一个输入向量0.7; 1.2.这个新点的图像为红色,他将用来显示这个感知器如何把这个新点从最初的训练集取分开来。p = 0.7; 1.2;a = sim(net,p); /利用模拟函数sim计算出新输入p的神经网络的输出plotpv(p,a);circle =
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 神经网络 工具箱 函数 拟合 ppt 课件
链接地址:https://www.31ppt.com/p-1376807.html