神经网络实用教程讲解与源码_第1页
神经网络实用教程讲解与源码_第2页
神经网络实用教程讲解与源码_第3页
神经网络实用教程讲解与源码_第4页
神经网络实用教程讲解与源码_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

神经网络实用教程讲解与源码第1页/共105页实验二

MATLAB快速入门

第2页/共105页实验二

MATLAB快速入门3、使用MATLAB中的条件语句和循环语句,编程实现下面的功能:从1累加到20,即:1+2+3+4+…+20,当累加和超过30时,跳出FOR循环,在命令窗口中输出此时的累加次数和累加值。

第3页/共105页演示程序sum=0;fori=1:20sum=sum+i;ifsum>30%break;disp('sumis30')fprintf('%2d,sum')x=1continue;endendisum第4页/共105页实验二

MATLAB快速入门4、神经网络常用的激活函数有S型、对数S型、线性型和硬限幅等,在MATLAB中有tansig()、logsig()、purelin()和hardlim()四个函数对应,请使用MATLAB编程,按下画所示图形,画出四个激活函数的图形。

第5页/共105页演示程序x=-10:0.2:10;y1=tansig(x);y2=logsig(x);y3=purelin(x);y4=hardlim(x);h=figure('name','这是一个显示多个激活函数图形的程序');subplot(2,2,1);%绘制第一个图形hnd1=plot(x,y1);%设置图形线条宽度set(hnd1,'linewidth',1);%设置图形线条颜色set(hnd1,'color','red');title('S型激活函数');legend('tansig');gridon第6页/共105页%设置第二个图形的绘图位置为第一行第二列subplot(2,2,2);hnd2=plot(x,y2);%设置图形线条宽度set(hnd2,'linewidth',2);%设置图形线条颜色set(hnd2,'color','green');title('对数S型激活函数');legend('logsig');gridon%设置第三个图形的绘图位置为第二行第一列

subplot(2,2,3);hnd3=plot(x,y3);第7页/共105页%设置图形线条宽度set(hnd3,'linewidth',3);%设置图形线条颜色set(hnd3,'color','blue');title('线性激活函数');legend('purelin');gridon%设置第四个图形的绘图位置为第二行第二列

subplot(2,2,4);hnd4=plot(x,y4);%设置图形线条宽度set(hnd4,'linewidth',4);%设置图形线条颜色set(hnd4,'color','yellow');title('硬限幅激活函数');legend('hardlim');gridon第8页/共105页谢谢!第9页/共105页实验三单层感知器的构建与使用讲解第10页/共105页实验三单层感知器的构建与使用第11页/共105页实验三单层感知器的构建与使用

1、已经对逻辑与的单层感知器实现的权值调整计算过程进行了讲解,请使用MATLAB语言编写程序,实现单层感知器对逻辑与进行分类。

第12页/共105页演示程序1%实验三第1题演示程序%设计并训练一个对与运算进行分类的单层感知器%神经网络并输出分类结果。%给定训练样本数据P=[0011;0101];%给定样本数据所对应的类别,用1和0来表示两种类别T=[0001];%创建一个有两个输入、样本数据的取值范围都在[0,1]之间,%并且网络只有一个神经元的感知器神经网络net=newp([01;01],1); %设置网络的最大训练次数为20次,即训练20次后结束训练net.trainParam.epochs=20;%使用训练函数对创建的网络进行训练net=train(net,P,T);第13页/共105页演示程序1%对训练后的网络进行仿真,即根据训练后的网络和样本数据%给出输出a=net.b{1};b=net.iw{1};Y=sim(net,P);%计算网络的平均绝对误差,表示网络错误分类E1=mae(Y-T);%给定测试数据,检测训练好的神经网络的性能Q=[1010;0110];%使用测试数据,对网络进行仿真,仿真输出即为分类的结果Y1=sim(net,Q);%创建一个新的绘图窗口第14页/共105页演示程序1figure;%设置绘图范围,在坐标图中绘制测试数据点,并根据数据%所对应的类别用约定的符号画出

v=[-0.52-0.52];plotpv(Q,Y1,v);%利用权值和阈值,在坐标图中绘制分类线%plotpc(net.iw{1},net.b{1})%为更清楚的看到分类,可以给阈值加一个小的偏移量

plotpc(net.iw{1},net.b{1}+0.1)第15页/共105页实验三单层感知器的构建与使用2、现需要对一组数据进行分类,设样本数据的输入数据为P=[-0.4-0.50.6-0.1;0.900.10.5],其期望值为T=[1101],请构建一个单层感知器对数据进行分类,并用测试数据Q=[0.60.9-0.10.7;-0.1-0.50.5-0.3]对构建好的神经网络进行测试,并评价其性能.

第16页/共105页演示程序2%实验三第2题演示程序%设计并训练一个对与运算进行分类的单层感知器神经网络%并输出分类结果。%%给定训练样本数据P=[-0.4-0.50.6-0.1;0.900.10.5];%给定样本数据所对应的类别,用1和0来表示两种类别T=[1101];%创建一个有两个输入、样本数据的取值范围都在[0,1]之间,%并且网络只有一个神经元的感知器神经网络net=newp([01;01],1); %设置网络的最大训练次数为20次,即训练20次后结束训练net.trainParam.epochs=20;第17页/共105页演示程序2%使用训练函数对创建的网络进行训练net=train(net,P,T);%对训练后的网络进行仿真,即根据训练后的网络和样本数据给出输出a=net.b{1}b=net.iw{1}Y=sim(net,P);%计算网络的平均绝对误差,表示网络错误分类E1=mae(Y-T)%给定测试数据,检测训练好的神经网络的性能Q=[0.60.9-0.10.7;-0.1-0.50.5-0.3];%使用测试数据,对网络进行仿真,仿真输出即为分类的结果第18页/共105页演示程序2Y1=sim(net,Q);%创建一个新的绘图窗口figure;%设置绘图范围,在坐标图中绘制测试数据点,并根据数据所对应的类别用约定的符号画出

v=[-12-12];plotpv(Q,Y1,v);%利用权值和阈值,在坐标图中绘制分类线

plotpc(net.iw{1},net.b{1})%为更清楚的看到分类,可以给阈值加一个小的偏移量%plotpc(net.iw{1},net.b{1}+0.1)第19页/共105页实验三单层感知器的构建与使用3、有下面一组样本数据:输入数据为P=[0001;1011],目标值为[0110],能否使用单层感知器对其进行正确分类,请编写MATLAB程序验证,并对结果进行分析?

第20页/共105页演示程序3%实验三第3题演示程序%设计并训练一个对与运算进行分类的单层感知器神经网络并输出分类结果。%%给定训练样本数据P=[0101;0011];%给定样本数据所对应的类别,用1和0来表示两种类别T=[0110];%创建一个有两个输入、样本数据的取值范围都在[0,1]之间,%并且网络只有一个神经元的感知器神经网络net=newp([01;01],1); %设置网络的最大训练次数为20次,即训练20次后结束训练net.trainParam.epochs=20;%使用训练函数对创建的网络进行训练net=train(net,P,T);第21页/共105页演示程序3%对训练后的网络进行仿真,即根据训练后的网络和样本数据给出输出a=net.b{1}b=net.iw{1}Y=sim(net,P);%计算网络的平均绝对误差,表示网络错误分类E1=mae(Y-T)%给定测试数据,检测训练好的神经网络的性能Q=[0101;0011];%使用测试数据,对网络进行仿真,仿真输出即为分类的结果第22页/共105页演示程序3Y1=[0110];%创建一个新的绘图窗口figure;%设置绘图范围,在坐标图中绘制测试数据点,并根据数据所对应的类别用约定的符号画出

v=[-12-12];plotpv(Q,Y1,v);%利用权值和阈值,在坐标图中绘制分类线%plotpc(net.iw{1},net.b{1})%为更清楚的看到分类,可以给阈值加一个小的偏移量

plotpc(net.iw{1},net.b{1}+0.1)第23页/共105页谢谢!第24页/共105页实验四线性神经网络的构建与使用讲解第25页/共105页实验四

线性神经网络的构建与使用

第26页/共105页实验四

线性神经网络的构建与使用

1、有21组单输入矢量和相对应的目标矢量,试设计一个线性神经网络来拟合这对数组的函数关系,并用测试数据进行测试。第27页/共105页实验四

线性神经网络的构建与使用

输入与目标数据如下:

输入数据:P=-1:0.1:1

期望目标数据:T=[-0.960.577-0.07290.3770.6410.660.4610.13360.201-0.434-0.5-0.393-0.16470.09880.30720.3960.34490.1816-0.0312-0.2183-0.3201]

测试数据为:P2=-1:0.025:1

第28页/共105页演示程序1P=-1:0.1:1;%T=[-0.960.577-0.07290.3770.6410.660.4610.13360.201-0.434-0.5-0.393-0.16470.09880.30720.3960.34490.1816-0.0312-0.2183-0.3201];%创建一个只有一个输出,输入延时为0,学习速率为0.01的%线性神经网络,minmax(P)表示样%本数据的取值范围%net=newlin(minmax(P),1,0,0.01);%%对创建的线性神经网络进行初始化,设置权值和阈值的初始值%net=init(net);%net.trainParam.epochs=500;%%设置网络训练后的目标误差为0.0001%net.trainParam.goal=0.0001;%net=train(net,P,T);第29页/共105页演示程序1%有-------标记间的部分为拟合函数时的程序,有+++++++++++标记间的部分为测试时的程序%-----------------------------%y=sim(net,P);%%求解网络的均方误差值%E=mse(y-T);%%获取绘图句柄%hndl1=plot(P,y);%%设置线宽为2%set(hndl1,'linewidth',2);%%设置线的颜色为红色%set(hndl1,'color','red');%holdon%hndl2=plot(P,T);第30页/共105页演示程序1%set(hndl2,'linewidth',2);%%设置图形标题%title('线性神经网络逼近非线性函数的MATLAB实现');%%设置图例%legend('线性神经网络逼近非线性函数','原线性数据')%%------------------------------------------------%从此处到标记为+++++++++++的部分为测试时的程序,测试用此部分程序替换-------------间的程序%%测试数据%P2=-1:0.025:1;%ytest=sim(net,P2);%plot(ytest,'d','MarkerFaceColor','r','MarkerSize',8);%holdon%plot(T,'s','MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',12);%+++++++++++++++++++++++++++第31页/共105页实验四

线性神经网络的构建与使用

思考题

1、一线性神经网络的输入为P=[1.1-1.3],目标为T=[0.61];设权值和偏置的初始值为0,学习速率为0.01,请计算出此网络前二次的权值和偏置的值?第32页/共105页实验四

线性神经网络的构建与使用

权值调整公式(见《神经网络实用教程》p27)

第33页/共105页实验四

线性神经网络的构建与使用第一次调整实际输出:第34页/共105页实验四

线性神经网络的构建与使用第一次调整实际输出:第35页/共105页实验四

线性神经网络的构建与使用思考题2、用MATLAB编程实现第1题,要求输出每一次迭代后的权值和偏置。

第36页/共105页演示程序2%线性神经网络拟合曲线输出权值演示程序%输入样本数NPATS=2;%输入样本值矩阵Patterns=[1.1-1.3];%输出目标值Target=[0.61];%学习率LearnRate=0.01;第37页/共105页演示程序2%将偏置看作输入的第一个分量,组成网络输入值Inputs=[ones(1,2);Patterns];%权值初始化Weights=[00];%循环计算权值和偏置的改变值fori=1:3%计算神经元的输出Result=(Weights*Inputs);第38页/共105页演示程序2%判断实际输出与目标值是否相等,相等则结束迭代,否则进入下一轮迭代ifResult==Target,break,end%按LMS误差学习算法调整权值Weights=Weights+2*LearnRate*(Target-Result)*Inputs';%在显示器上输出权值编号其对应值fprintf('%2d.Weights=',i);disp(Weights);end第39页/共105页谢谢!第40页/共105页实验五BP神经网络的构建与使用(一)讲解第41页/共105页实验五BP神经网络的构建与使用

第42页/共105页实验五

BP神经网络的构建与使用

1、有21组单输入矢量和相对应的目标矢量,试设计一个线性神经网络来拟合这对数组的函数关系,并用测试数据进行测试。第43页/共105页实验五

BP神经网络的构建与使用

存在的问题1、激活函数的选择

tansig的定义域为负无穷到正无穷,值域为-1到1,logsig的定义域为负无穷到正无穷,值域为0到12、结果如何显示?

第44页/共105页实验五

BP神经网络的构建与使用

输入与目标数据如下:

输入数据:P=-1:0.1:1

期望目标数据:T=[-0.960.577-0.07290.3770.6410.660.4610.13360.201-0.434-0.5-0.393-0.16470.09880.30720.3960.34490.1816-0.0312-0.2183-0.3201]

测试数据为:P2=-1:0.025:1

第45页/共105页BP演示程序%%本函数演示BP网络对非线性数据的逼近效果%%下面为用BP神经网络逼近非线性数据的演示程序%输入样本P=-1:0.1:1;T=[-0.960.577-0.07290.3770.6410.660.4610.13360.201-0.434-0.5-0.393-0.16470.09880.30720.3960.34490.1816-0.0312-0.2183-0.3201];%创建一个BP神经网络,每一个输入向量的取值范围为[-1,1],隐含层有5个神经元,输出层%有一个神经元,隐含层的激活函数为tansig,输出层的激活函数为logsig,训练函数为梯度下%降函数,即2.3.2节中所描述的标准学习算法net=newff([-11],[5,1],{'tansig','tansig'},'traingd');%可以改变训练步数为3000、5000、10000来查看网络的训练结果net.trainParam.epochs=5000;%目标误差设为0.01net.trainParam.goal=0.01;第46页/共105页BP演示程序%设置学习速率为0.1LP.lr=0.1;net=train(net,P,T);%有-------标记间的部分为拟合函数时的程序,有+++++++++++标记间的部分为测试时的程序%-----------------------------y=sim(net,P);figurehndl1=plot(P,y);%设置线宽为2set(hndl1,'linewidth',2);%设置线的颜色为红色set(hndl1,'color','red');holdonhndl2=plot(P,T);第47页/共105页BP演示程序set(hndl2,'linewidth',2);%设置图形标题title('BP神经网络逼近非线性函数的MATLAB实现');%设置图例legend('BP神经网络逼近非线性函数','原数据')%-----------------------------%从此处到标记为+++++++++++的部分为测试时的程序,测试用此部分程序替换-------------间的程序%测试数据%测试%P2=-1:0.05:1;%ytest=sim(net,P2);%figure%hndl1=plot(P2,ytest);第48页/共105页BP演示程序%%设置线宽为2%set(hndl1,'linewidth',2);%%设置线的颜色为红色%set(hndl1,'color','red');%holdon%hndl2=plot(P,T);%set(hndl2,'linewidth',2);%%设置图形标题%title('BP神经网络逼近非线性函数的MATLAB实现');%%设置图例%legend('BP神经网络逼近非线性函数','原数据')%+++++++++++++++++++++++++++++++第49页/共105页线性网络演示程序%%本函数演示线性神经网络对非线性数据的逼近效果%%下面为用线性神经网络逼近非线性数据的演示程序P=-1:0.1:1;T=[-0.960.577-0.07290.3770.6410.660.4610.13360.201-0.434-0.5-0.393-0.16470.09880.30720.3960.34490.1816-0.0312-0.2183-0.3201];%创建一个只有一个输出,输入延时为0,学习速率为0.01的%线性神经网络,minmax(P)表示样本数据的取值范围net=newlin(minmax(P),1,0,0.01);%对创建的线性神经网络进行初始化,设置权值和阈值的初始值net=init(net);net.trainParam.epochs=500;%设置网络训练后的目标误差为0.0001net.trainParam.goal=0.0001;第50页/共105页线性网络演示程序net=train(net,P,T);%有-------标记间的部分为拟合数据时的程序,有+++++++++++标记间的部分为测试时的程序%-----------------------------y=sim(net,P);%求解网络的均方误差值E=mse(y-T);figure%获取绘图句柄hndl1=plot(P,y);%设置线宽为2set(hndl1,'linewidth',2);%设置线的颜色为红色set(hndl1,'color','red');第51页/共105页线性网络演示程序holdonhndl2=plot(P,T);set(hndl2,'linewidth',2);%设置图形标题title('线性神经网络逼近非线性函数的MATLAB实现');%设置图例legend('线性神经网络逼近非线性函数','原线性数据')%------------------------------------------------%从此处到标记为+++++++++++的部分为测试时的程序,测试用此部分程序替换-------------间的程序%测试数据%P2=-1:0.025:1;%ytest=sim(net,P2);%figure第52页/共105页线性网络演示程序%获取绘图句柄%hndl1=plot(P2,ytest);%设置线宽为2%set(hndl1,'linewidth',2);%设置线的颜色为红色%set(hndl1,'color','red');%holdon%hndl2=plot(P,T);%set(hndl2,'linewidth',2);%设置图形标题%title('线性神经网络逼近非线性函数的MATLAB实现');%设置图例%legend('线性神经网络逼近非线性函数','原线性数据')%+++++++++++++++++++++++++++++++第53页/共105页谢谢!第54页/共105页实验六BP神经网络的构建与使用(二)讲解第55页/共105页实验六BP神经网络的构建与使用(二)

第56页/共105页实验六

BP神经网络的构建与使用(二)

使用BP神经网络对正弦函数进行逼近第57页/共105页实验六

BP神经网络的构建与使用(二)存在的问题1、激活函数的选择2、训练次数的确定3、隐含层神经元个数的确定

第58页/共105页实验六

BP神经网络的构建与使用(二)实验内容1数据:输入样本数据:P=-2:0.1:2;期望目标数据:T=sin(2*P);测试数据:P=-2:0.05:2;

第59页/共105页实验六

BP神经网络的构建与使用(二)实验内容2:探测网络合适的训练次数最大训练次数设置为3000、5000、10000

观测效果

第60页/共105页实验六

BP神经网络的构建与使用(二)实验内容3:探测合适的隐含层的神经元个数设置隐含层神经网络的个数为2个、8个、10个、20个,比较效果

第61页/共105页实验六

BP神经网络的构建与使用(二)实验内容4:输入的正弦函数改为sin(3*P)、sin(4*P)、sin(8*P)时

观测逼近效果

第62页/共105页实验六

BP神经网络的构建与使用(二)思考题1、实验中构建的BP神经网络的合适的训练次数在什么范围内?2、实验中构建的BP神经网络的合适的隐含层神经元的个数在什么范围内?第63页/共105页演示程序%%本函数演示BP网络对非线性数据的逼近效果%%下面为用BP神经网络逼近非线性数据的演示程序clcclearcloseall%输入样本P=-2:0.1:2;T=sin(4*P);%创建一个BP神经网络,每一个输入向量的取值范围为[-1,1],隐含层有5个神经元,%输出层有一个神经元,隐含层的激活函数为tansig,输出层的激活函数为logsig,%训练函数为梯度下降函数,即2.3.2节中所描述的标准学习算法。%可改变隐含层神经元个数为2、8、10、20测试网络性能net=newff([-11],[5,1],{'tansig','tansig'},'traingd');%可以改变训练步数为3000、5000、10000来查看网络的训练结果net.trainParam.epochs=2000;第64页/共105页演示程序%目标误差设为0.01net.trainParam.goal=0.01;%设置学习速率为0.1LP.lr=0.1;net=train(net,P,T);%有-------标记间的部分为拟合函数时的程序,有+++++++++++标记间的部分为测试时的程序%-----------------------------y=sim(net,P);subplot(2,1,1)hndl1=plot(P,y);%设置线宽为2set(hndl1,'linewidth',2);%设置线的颜色为红色set(hndl1,'color','red');holdon第65页/共105页演示程序hndl2=plot(P,T);set(hndl2,'linewidth',2);%设置图形标题title('使用训练数据测试BP神经网络逼近非线性函数');%设置图例%legend('BP神经网络逼近非线性函数','原数据')%-----------------------------%从此处到标记为+++++++++++的部分为测试时的程序,测试用此部分程序替换-------------间的程序%测试数据%测试P2=-2:0.05:2;ytest=sim(net,P2);subplot(2,1,2)第66页/共105页演示程序hndl1=plot(P2,ytest);%设置线宽为2set(hndl1,'linewidth',2);%设置线的颜色为红色set(hndl1,'color','red');holdonhndl2=plot(P,T);set(hndl2,'linewidth',2);%设置图形标题title('使用测试数据测试BP神经网络逼近非线性函数');%设置图例%legend('BP神经网络逼近非线性函数','原数据')%++++++++++++++++++++第67页/共105页谢谢!第68页/共105页实验七RBF神经网络的构建与使用讲解第69页/共105页实验七RBF神经网络的构建与使用

第70页/共105页实验七

RBF神经网络的构建与使用

使用RBF神经网络对指定函数进行逼近第71页/共105页实验七

RBF神经网络的构建与使用存在的问题1、点乘的使用2、仿真输出与实际函数的显示3、扩展参数的确定

4、基神经元个数的确定

第72页/共105页实验七

RBF神经网络的构建与使用实验内容1对下述函数的逼近

第73页/共105页演示程序%建立一个径向基神经网络,对非线性函数进行逼近,并作出网络的逼近误差曲线。%clcclearcloseall%输入从0开始变化到4,每次变化幅度为0.1p=0:0.2:4;t=exp(-p).*sin(p);%建立一个目标误差为0,径向基函数的分布密度为0.5,隐含层神经元个数的最大值为21,每%增加5个神经元显示一次结果net=newrb(p,t,0,0.5,50,5);ysim=sim(net,p);第74页/共105页演示程序subplot(2,1,1)hndl1=plot(p,ysim);%设置线宽为2set(hndl1,'linewidth',2);%设置线的颜色为红色set(hndl1,'color','red');holdon%因原函数与逼近函数重合,要看到两个图像y应该加一个小的偏移%hndl2=plot(p,t+0.01);hndl2=plot(p,t);set(hndl2,'linewidth',2);第75页/共105页演示程序%设置图形标题title('使用训练数据测试RBF神经网络逼近非线性函数');%%下面为使用测试数据对训练好的神经网络效果进行测试xtest=0:0.01:4;%ttest=exp(-xtest).*sin(xtest);ytestsim=sim(net,xtest);subplot(2,1,2)hndl1=plot(xtest,ytestsim);第76页/共105页演示程序%设置线宽为2set(hndl1,'linewidth',2);%设置线的颜色为红色set(hndl1,'color','red');holdon%hndl2=plot(p,t+0.01);hndl2=plot(p,t);set(hndl2,'linewidth',2);%设置图形标题title('使用测试数据测试RBF神经网络逼近非线性函数');第77页/共105页实验七

RBF神经网络的构建与使用实验内容2:观测改变扩展参数的影响扩展参数(分布密度)设置为x0.1、0.5、0.8

观测效果

第78页/共105页实验七

RBF神经网络的构建与使用实验内容3:观测隐含层神经元最大个数改变的影响隐含层神经元的个数的最大值:1个、5个、10个、30个

第79页/共105页实验七

RBF神经网络的构建与使用补充:与BP神经网络的比较

第80页/共105页演示程序%%本函数演示BP网络和RBF网络对函数的逼近效果%%下面为用BP神经网络逼近函数%输入样本P=0:0.2:4;T=exp(-P).*sin(P);%创建一个BP神经网络,每一个输入向量的取值范围为[-1,1],隐含层有21个神经元,%输出层有一个神经元,隐含层的激活函数为tansig,输出层的激活函数为logsig,%训练函数为梯度下降函数,即2.3.2节中所描述的标准学习算法。%可改变隐含层神经元个数为2、8、10、20测试网络性能net=newff([-11],[21,1],{'tansig','tansig'},'traingd');%可以改变训练步数为3000、5000、10000来查看网络的训练结果net.trainParam.epochs=500;%目标误差设为0.01net.trainParam.goal=0.01;%设置学习速率为0.1第81页/共105页演示程序LP.lr=0.1;net=train(net,P,T);%有-------标记间的部分为拟合函数时的程序,有+++++++++++标记间的部分为测试时的程序%-----------------------------y=sim(net,P);subplot(2,1,1)hndl1=plot(P,y);%设置线宽为2set(hndl1,'linewidth',2);%设置线的颜色为红色set(hndl1,'color','red');holdon第82页/共105页演示程序hndl2=plot(P,T);set(hndl2,'linewidth',2);%设置图形标题title('BP神经网络逼近函数');%%下面为BRF神经网络对函数的逼近%建立一个径向基神经网络,对非线性函数进行逼近,并作出网络的逼近误差曲线。%%输入从0开始变化到4,每次变化幅度为0.1p=0:0.2:4;t=exp(-p).*sin(p);%建立一个目标误差为0,径向基函数的分布密度为0.5,隐含层神经元个数的最大值为21,每%增加5个神经元显示一次结果net=newrb(p,t,0,0.5,21,5);第83页/共105页演示程序ysim=sim(net,p);subplot(2,1,1)hndl1=plot(p,ysim);%设置线宽为2set(hndl1,'linewidth',2);%设置线的颜色为红色set(hndl1,'color','red');holdon%因原函数与逼近函数重合,要看到两个图像y应该加一个小的偏移%hndl2=plot(p,t+0.01);hndl2=plot(p,t);set(hndl2,'linewidth',2);%设置图形标题title('RBF神经网络逼近函数');第84页/共105页实验七

RBF神经网络的构建与使用思考题1、实验中构建的RBF神经网络的合适的扩展参数在什么范围内?2、实验中构建的RBF神经网络的合适的隐含层神经元的个数最大值在什么范围内?第85页/共105页谢谢!第86页/共105页实验八SOM神经网络的构建与使用讲解第87页/共105页实验八SOM神经网络的构建与使用

第88页/共105页实验八

SOM神经网络的构建与使用

使用SOM神经网络对指定数据进行聚类第89页/共105页实验八

SOM神经网络的构建与使用

存在的问题1、单值向量与下标向量的转换2、竞争层的网络拓扑结构3、聚类结果的显示

4、竞争层神经元的数量

第90页/共105页实验八

SOM神经网络的构建与使用实验内容1对指定数据进行聚类并测试

第91页/共105页实验八

SOM神经网络的构建与使用

实验内容2:单值向量与下标向量的转换结果显示第92页/共105页实验八

SOM神经网络的构建与使用vec2ind()功能将单值向量组变换成下标向量格式

ind=vec2ind(vec)说明式中,vec为m行n列的向量矩阵x,x中的每个列向量i,除包含一个1外,其余元素均为0,ind为n个元素值为1所在的行下标值构成的一个行向量。第93页/共105页实验八

SOM神经网络的构建与使用C=[1112222111]

(1,1)1(1,2)1(1,3)1(2,4)1(2,5)1(2,6)1(2,7)1(1,8)1(1,9)1(1,10)111100001110001111000第94页/共105页实验八

SOM神经网络的构建与使用实验内容3:观测竞争层神经元个数改变的影响隐含层神经元的布置:[35]、[45]、[58]

第95页/共105页演示程序1%%clcclearcloseall%建立一个自组织神经网络对上述数据分类,%测试训练后的自组织神经网络的性能,判断其属于哪个类别。P=[-6-4-2-4-60-4-64-6;02-220-220-20];%创建一个自组织神经网络,[01;01]表示输入数据的取值范围在[0,1]之间,%[3,4]表示竞争层组织结构为34,其余参数取默认值。第96页/共105页演示程序1%竞争层也可以选取下面布局形式:[35]、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论