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

下载本文档

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

文档简介

实验二Matlab快速入门讲解,实验二 MATLAB快速入门,实验二 MATLAB快速入门,3、使用MATLAB中的条件语句和循环语句,编程实现下面的功能: 从1累加到20,即:1+2+3+4+20,当累加和超过30时,跳出FOR循环,在命令窗口中输出此时的累加次数和累加值。,演示程序,sum=0; for i=1:20 sum=sum+i; if sum30 % break; disp(sum is 30) fprintf(%2d,sum) x=1 continue; end end i sum,实验二 MATLAB快速入门,4、神经网络常用的激活函数有S型、对数S型、线性型和硬限幅等,在MATLAB中有tansig()、logsig()、purelin()和hardlim()四个函数对应,请使用MATLAB编程,按下画所示图形,画出四个激活函数的图形。,演示程序,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); grid on,% 设置第二个图形的绘图位置为第一行第二列 subplot(2,2,2); hnd2=plot(x,y2); %设置图形线条宽度 set(hnd2,linewidth,2); %设置图形线条颜色 set(hnd2,color,green); title(对数S型激活函数); legend(logsig); grid on % 设置第三个图形的绘图位置为第二行第一列 subplot(2,2,3); hnd3=plot(x,y3);,%设置图形线条宽度 set(hnd3,linewidth,3); %设置图形线条颜色 set(hnd3,color,blue); title(线性激活函数); legend(purelin); grid on % 设置第四个图形的绘图位置为第二行第二列 subplot(2,2,4); hnd4=plot(x,y4); %设置图形线条宽度 set(hnd4,linewidth,4); %设置图形线条颜色 set(hnd4,color,yellow); title(硬限幅激活函数); legend(hardlim); grid on,谢谢!,实验三单层感知器的构建与使用讲解,实验三单层感知器的构建与使用,实验三单层感知器的构建与使用,1、已经对逻辑与的单层感知器实现的权值调整计算过程进行了讲解,请使用MATLAB语言编写程序,实现单层感知器对逻辑与进行分类。,演示程序1,%实验三第1题演示程序 % 设计并训练一个对与运算进行分类的单层感知器 % 神经网络并输出分类结果。 %给定训练样本数据 P= 0 0 1 1; 0 1 0 1; %给定样本数据所对应的类别,用1和0来表示两种类别 T= 0 0 0 1; %创建一个有两个输入、样本数据的取值范围都在0,1之间, % 并且网络只有一个神经元的感知器神经网络 net=newp(0 1;0 1,1); %设置网络的最大训练次数为20次,即训练20次后结束训练 net.trainParam.epochs = 20; %使用训练函数对创建的网络进行训练 net=train(net,P,T);,演示程序1,%对训练后的网络进行仿真,即根据训练后的网络和样本数据 % 给出输出 a=net.b1; b=net.iw1; Y=sim(net,P); %计算网络的平均绝对误差,表示网络错误分类 E1=mae(Y-T); %给定测试数据,检测训练好的神经网络的性能 Q=1 0 1 0; 0 1 1 0; %使用测试数据,对网络进行仿真,仿真输出即为分类的结果 Y1=sim(net,Q); %创建一个新的绘图窗口,演示程序1,figure; %设置绘图范围,在坐标图中绘制测试数据点,并根据数据 % 所对应的类别用约定的符号画出 v=-0.5 2 -0.5 2; plotpv(Q,Y1,v); %利用权值和阈值,在坐标图中绘制分类线 % plotpc(net.iw1,net.b1) % 为更清楚的看到分类,可以给阈值加一个小的偏移量 plotpc(net.iw1,net.b1+0.1),实验三单层感知器的构建与使用,2、现需要对一组数据进行分类,设样本数据的输入数据为P=-0.4 -0.5 0.6 -0.1; 0.9 0 0.1 0.5,其期望值为T=1 1 0 1,请构建一个单层感知器对数据进行分类,并用测试数据Q=0.6 0.9 -0.1 0.7;-0.1 -0.5 0.5 -0.3对构建好的神经网络进行测试,并评价其性能.,演示程序2,%实验三第2题演示程序 % 设计并训练一个对与运算进行分类的单层感知器神经网络 % 并输出分类结果。 % %给定训练样本数据 P=-0.4 -0.5 0.6 -0.1; 0.9 0 0.1 0.5; %给定样本数据所对应的类别,用1和0来表示两种类别 T=1 1 0 1; %创建一个有两个输入、样本数据的取值范围都在0,1之间, % 并且网络只有一个神经元的感知器神经网络 net=newp(0 1;0 1,1); %设置网络的最大训练次数为20次,即训练20次后结束训练 net.trainParam.epochs = 20;,演示程序2,%使用训练函数对创建的网络进行训练 net=train(net,P,T); %对训练后的网络进行仿真,即根据训练后的网络和样本数据给出输出 a=net.b1 b=net.iw1 Y=sim(net,P); %计算网络的平均绝对误差,表示网络错误分类 E1=mae(Y-T) %给定测试数据,检测训练好的神经网络的性能 Q=0.6 0.9 -0.1 0.7;-0.1 -0.5 0.5 -0.3; %使用测试数据,对网络进行仿真,仿真输出即为分类的结果,演示程序2,Y1=sim(net,Q); %创建一个新的绘图窗口 figure; %设置绘图范围,在坐标图中绘制测试数据点,并根据数据所对应的类别用约定的符号画出 v=-1 2 -1 2; plotpv(Q,Y1,v); %利用权值和阈值,在坐标图中绘制分类线 plotpc(net.iw1,net.b1) % 为更清楚的看到分类,可以给阈值加一个小的偏移量 % plotpc(net.iw1,net.b1+0.1),实验三单层感知器的构建与使用,3、有下面一组样本数据:输入数据为P=0 0 0 1;1 0 1 1,目标值为0 1 1 0,能否使用单层感知器对其进行正确分类,请编写MATLAB程序验证,并对结果进行分析?,演示程序3,%实验三第3题演示程序 % 设计并训练一个对与运算进行分类的单层感知器神经网络并输出分类结果。 % %给定训练样本数据 P=0 1 0 1; 0 0 1 1; %给定样本数据所对应的类别,用1和0来表示两种类别 T=0 1 1 0; %创建一个有两个输入、样本数据的取值范围都在0,1之间, % 并且网络只有一个神经元的感知器神经网络 net=newp(0 1;0 1,1); %设置网络的最大训练次数为20次,即训练20次后结束训练 net.trainParam.epochs = 20; %使用训练函数对创建的网络进行训练 net=train(net,P,T);,演示程序3,%对训练后的网络进行仿真,即根据训练后的网络和样本数据给出输出 a=net.b1 b=net.iw1 Y=sim(net,P); %计算网络的平均绝对误差,表示网络错误分类 E1=mae(Y-T) %给定测试数据,检测训练好的神经网络的性能 Q=0 1 0 1; 0 0 1 1; %使用测试数据,对网络进行仿真,仿真输出即为分类的结果,演示程序3,Y1=0 1 1 0; %创建一个新的绘图窗口 figure; %设置绘图范围,在坐标图中绘制测试数据点,并根据数据所对应的类别用约定的符号画出 v=-1 2 -1 2; plotpv(Q,Y1,v); %利用权值和阈值,在坐标图中绘制分类线 % plotpc(net.iw1,net.b1) % 为更清楚的看到分类,可以给阈值加一个小的偏移量 plotpc(net.iw1,net.b1+0.1),谢谢!,实验四线性神经网络的构建与使用讲解,实验四 线性神经网络的构建与使用,实验四 线性神经网络的构建与使用,1、有21组单输入矢量和相对应的目标矢量,试设计一个线性神经网络来拟合这对数组的函数关系,并用测试数据进行测试。,实验四 线性神经网络的构建与使用,输入与目标数据如下: 输入数据:P=-1:0.1:1 期望目标数据:T=-0.96 0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.3449 0.1816 -0.0312 -0.2183 -0.3201 测试数据为:P2=-1:0.025:1,演示程序 1,P=-1:0.1:1; % T=-0.96 0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.3449 0.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);,演示程序 1,% 有-标记间的部分为拟合函数时的程序,有+标记间的部分为测试时的程序 % - % y=sim(net,P); % %求解网络的均方误差值 % E=mse(y-T); % %获取绘图句柄 % hndl1=plot(P,y); % %设置线宽为2 % set(hndl1,linewidth,2); % %设置线的颜色为红色 % set(hndl1,color,red); % hold on % hndl2=plot(P,T);,演示程序 1,% set(hndl2,linewidth,2); % %设置图形标题 % title(线性神经网络逼近非线性函数的MATLAB实现); % %设置图例 % legend(线性神经网络逼近非线性函数,原线性数据) % % - % 从此处到标记为+的部分为测试时的程序,测试用此部分程序替换-间的程序 % % 测试数据 % P2=-1:0.025:1; % ytest=sim(net,P2); % plot(ytest,d,MarkerFaceColor,r,MarkerSize,8); % hold on % plot(T,s,MarkerEdgeColor,k,MarkerFaceColor,g,MarkerSize,12); % +,实验四 线性神经网络的构建与使用,思考题 1、一线性神经网络的输入为P=1.1 -1.3,目标为T=0.6 1;设权值和偏置的初始值为0,学习速率为0.01,请计算出此网络前二次的权值和偏置的值?,实验四 线性神经网络的构建与使用,权值调整公式(见神经网络实用教程p27),实验四 线性神经网络的构建与使用,第一次调整 实际输出:,实验四 线性神经网络的构建与使用,第一次调整 实际输出:,实验四 线性神经网络的构建与使用,思考题 2、用MATLAB编程实现第1题,要求输出每一次迭代后的权值和偏置。,演示程序2,% 线性神经网络拟合曲线输出权值演示程序 %输入样本数 NPATS = 2; % 输入样本值矩阵 Patterns = 1.1 -1.3; % 输出目标值 Target = 0.6 1; % 学习率 LearnRate = 0.01;,演示程序2,% 将偏置看作输入的第一个分量,组成网络输入值 Inputs = ones(1,2); Patterns; % 权值初始化 Weights = 0 0; % 循环计算权值和偏置的改变值 for i = 1:3 % 计算神经元的输出 Result = (Weights * Inputs);,演示程序2,% 判断实际输出与目标值是否相等,相等则结束迭代,否则进入下一轮迭代 if Result = Target, break, end % 按LMS误差学习算法调整权值 Weights = Weights + 2*LearnRate*(Target-Result) * Inputs; %在显示器上输出权值编号其对应值 fprintf(%2d. Weights = ,i); disp(Weights); end,谢谢!,实验五BP神经网络的构建与使用(一)讲解,实验五BP神经网络的构建与使用,实验五 BP神经网络的构建与使用,1、有21组单输入矢量和相对应的目标矢量,试设计一个线性神经网络来拟合这对数组的函数关系,并用测试数据进行测试。,实验五 BP神经网络的构建与使用,存在的问题 1、激活函数的选择 tansig的定义域为负无穷到正无穷,值域为-1到1,logsig的定义域为负无穷到正无穷,值域为0到1 2、结果如何显示?,实验五 BP神经网络的构建与使用,输入与目标数据如下: 输入数据:P=-1:0.1:1 期望目标数据:T=-0.96 0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.3449 0.1816 -0.0312 -0.2183 -0.3201 测试数据为:P2=-1:0.025:1,BP演示程序,% 本函数演示BP网络对非线性数据的逼近效果 % 下面为用BP神经网络逼近非线性数据的演示程序 %输入样本 P=-1:0.1:1; T=-0.96 0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.3449 0.1816 -0.0312 -0.2183 -0.3201; %创建一个BP神经网络,每一个输入向量的取值范围为-1 ,1,隐含层有5个神经元,输出层 %有一个神经元,隐含层的激活函数为tansig,输出层的激活函数为logsig,训练函数为梯度下 %降函数,即2.3.2节中所描述的标准学习算法 net=newff(-1 1,5,1,tansig,tansig,traingd); %可以改变训练步数为3000、5000、10000来查看网络的训练结果 net.trainParam.epochs=5000; %目标误差设为0.01 net.trainParam.goal=0.01;,BP演示程序,%设置学习速率为0.1 LP.lr=0.1; net=train(net,P,T); % 有-标记间的部分为拟合函数时的程序,有+标记间的部分为测试时的程序 % - y=sim(net,P); figure hndl1=plot(P,y); %设置线宽为2 set(hndl1,linewidth,2); %设置线的颜色为红色 set(hndl1,color,red); hold on hndl2=plot(P,T);,BP演示程序,set(hndl2,linewidth,2); %设置图形标题 title(BP神经网络逼近非线性函数的MATLAB实现); %设置图例 legend(BP神经网络逼近非线性函数,原数据) % - % 从此处到标记为+的部分为测试时的程序,测试用此部分程序替换-间的程序 % 测试数据 %测试 % P2=-1:0.05:1; % ytest=sim(net,P2); % figure % hndl1=plot(P2,ytest);,BP演示程序,% %设置线宽为2 % set(hndl1,linewidth,2); % %设置线的颜色为红色 % set(hndl1,color,red); % hold on % hndl2=plot(P,T); % set(hndl2,linewidth,2); % %设置图形标题 % title(BP神经网络逼近非线性函数的MATLAB实现); % %设置图例 % legend(BP神经网络逼近非线性函数,原数据) % +,线性网络演示程序,% 本函数演示线性神经网络对非线性数据的逼近效果 % 下面为用线性神经网络逼近非线性数据的演示程序 P=-1:0.1:1; T=-0.96 0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.3449 0.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); % 有-标记间的部分为拟合数据时的程序,有+标记间的部分为测试时的程序 % - y=sim(net,P); %求解网络的均方误差值 E=mse(y-T); figure %获取绘图句柄 hndl1=plot(P,y); %设置线宽为2 set(hndl1,linewidth,2); %设置线的颜色为红色 set(hndl1,color,red);,线性网络演示程序,hold on hndl2=plot(P,T); set(hndl2,linewidth,2); %设置图形标题 title(线性神经网络逼近非线性函数的MATLAB实现); %设置图例 legend(线性神经网络逼近非线性函数,原线性数据) % - % 从此处到标记为+的部分为测试时的程序,测试用此部分程序替换-间的程序 % 测试数据 % P2=-1:0.025:1; % ytest=sim(net,P2); % figure,线性网络演示程序,% 获取绘图句柄 % hndl1=plot(P2,ytest); % 设置线宽为2 % set(hndl1,linewidth,2); % 设置线的颜色为红色 % set(hndl1,color,red); % hold on % hndl2=plot(P,T); % set(hndl2,linewidth,2); % 设置图形标题 % title(线性神经网络逼近非线性函数的MATLAB实现); % 设置图例 % legend(线性神经网络逼近非线性函数,原线性数据) % +,谢谢!,实验六 BP神经网络的构建与使用(二)讲解,实验六BP神经网络的构建与使用(二),实验六 BP神经网络的构建与使用(二),使用BP神经网络对正弦函数进行逼近,实验六 BP神经网络的构建与使用(二),存在的问题 1、激活函数的选择 2、训练次数的确定 3、隐含层神经元个数的确定,实验六 BP神经网络的构建与使用(二),实验内容1数据: 输入样本数据:P = -2:0.1:2; 期望目标数据:T =sin(2*P); 测试数据:P = -2:0.05:2;,实验六 BP神经网络的构建与使用(二),实验内容2: 探测网络合适的训练次数 最大训练次数设置为 3000、5000、10000 观测效果,实验六 BP神经网络的构建与使用(二),实验内容3: 探测合适的隐含层的神经元个数 设置隐含层神经网络的个数为 2个、8个、10个、20个,比较效果,实验六 BP神经网络的构建与使用(二),实验内容4: 输入的正弦函数改为 sin(3*P) 、sin(4*P) 、sin(8*P)时 观测逼近效果,实验六 BP神经网络的构建与使用(二),思考题 1、实验中构建的BP神经网络的合适的训练次数在什么范围内? 2、实验中构建的BP神经网络的合适的隐含层神经元的个数在什么范围内?,演示程序,% 本函数演示BP网络对非线性数据的逼近效果 % 下面为用BP神经网络逼近非线性数据的演示程序 clc clear close all %输入样本 P=-2:0.1:2; T=sin(4*P); %创建一个BP神经网络,每一个输入向量的取值范围为-1 ,1,隐含层有5个神经元, % 输出层有一个神经元,隐含层的激活函数为tansig,输出层的激活函数为logsig, % 训练函数为梯度下降函数,即2.3.2节中所描述的标准学习算法。 % 可改变隐含层神经元个数为2、8、10、20测试网络性能 net=newff(-1 1,5,1,tansig,tansig,traingd); %可以改变训练步数为3000、5000、10000来查看网络的训练结果 net.trainParam.epochs=2000;,演示程序,%目标误差设为0.01 net.trainParam.goal=0.01; %设置学习速率为0.1 LP.lr=0.1; net=train(net,P,T); % 有-标记间的部分为拟合函数时的程序,有+标记间的部分为测试时的程序 % - y=sim(net,P); subplot(2,1,1) hndl1=plot(P,y); %设置线宽为2 set(hndl1,linewidth,2); %设置线的颜色为红色 set(hndl1,color,red); hold on,演示程序,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),演示程序,hndl1=plot(P2,ytest); %设置线宽为2 set(hndl1,linewidth,2); %设置线的颜色为红色 set(hndl1,color,red); hold on hndl2=plot(P,T); set(hndl2,linewidth,2); %设置图形标题 title(使用测试数据测试BP神经网络逼近非线性函数); %设置图例 % legend(BP神经网络逼近非线性函数,原数据) % +,谢谢!,实验七 RBF神经网络的构建与使用讲解,实验七RBF神经网络的构建与使用,实验七 RBF神经网络的构建与使用,使用RBF神经网络对指定函数进行逼近,实验七 RBF神经网络的构建与使用,存在的问题 1、点乘的使用 2、仿真输出与实际函数的显示 3、扩展参数的确定 4、基神经元个数的确定,实验七 RBF神经网络的构建与使用,实验内容1 对下述函数的逼近,演示程序,% 建立一个径向基神经网络,对非线性函数进行逼近,并作出网络的逼近误差曲线。 % clc clear close all %输入从0开始变化到4,每次变化幅度为0.1 p=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);,演示程序,subplot(2,1,1) hndl1=plot(p,ysim); %设置线宽为2 set(hndl1,linewidth,2); %设置线的颜色为红色 set(hndl1,color,red); hold on % 因原函数与逼近函数重合,要看到两个图像y应该加一个小的偏移 % hndl2=plot(p,t+0.01); hndl2=plot(p,t); set(hndl2,linewidth,2);,演示程序,%设置图形标题 title(使用训练数据测试RBF神经网络逼近非线性函数); % 下面为使用测试数据对训练好的神经网络效果进行测试 xtest=0:0.01:4; % ttest=exp(-xtest).*sin(xtest); ytestsim=sim(net,xtest); subplot(2,1,2) hndl1=plot(xtest,ytestsim);,演示程序,%设置线宽为2 set(hndl1,linewidth,2); %设置线的颜色为红色 set(hndl1,color,red); hold on % hndl2=plot(p,t+0.01); hndl2=plot(p,t); set(hndl2,linewidth,2); %设置图形标题 title(使用测试数据测试RBF神经网络逼近非线性函数);,实验七 RBF神经网络的构建与使用,实验内容2: 观测改变扩展参数的影响 扩展参数(分布密度)设置为x 0.1、0.5、0.8 观测效果,实验七 RBF神经网络的构建与使用,实验内容3: 观测隐含层神经元最大个数改变的影响 隐含层神经元的个数的最大值: 1个、5个、10个、30个,实验七 RBF神经网络的构建与使用,补充: 与BP神经网络的比较,演示程序,% 本函数演示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(-1 1,21,1,tansig,tansig,traingd); %可以改变训练步数为3000、5000、10000来查看网络的训练结果 net.trainParam.epochs=500; %目标误差设为0.01 net.trainParam.goal=0.01; %设置学习速率为0.1,演示程序,LP.lr=0.1; net=train(net,P,T); % 有-标记间的部分为拟合函数时的程序,有+标记间的部分为测试时的程序 % - y=sim(net,P); subplot(2,1,1) hndl1=plot(P,y); %设置线宽为2 set(hndl1,linewidth,2); %设置线的颜色为红色 set(hndl1,color,red); hold on,演示程序,hndl2=plot(P,T); set(hndl2,linewidth,2); %设置图形标题 title(BP神经网络逼近函数); % 下面为BRF神经网络对函数的逼近 % 建立一个径向基神经网络,对非线性函数进行逼近,并作出网络的逼近误差曲线。 % %输入从0开始变化到4,每次变化幅度为0.1 p=0:0.2:4; t=exp(-p).*sin(p); %建立一个目标误差为0,径向基函数的分布密度为0.5,隐含层神经元个数的最大值为21,每 %增加5个神经元显示一次结果 net=newrb(p,t,0,0.5,21,5);,演示程序,ysim=sim(net,p); subplot(2,1,1) hndl1=plot(p,ysim); %设置线宽为2 set(hndl1,linewidth,2); %设置线的颜色为红色 set(hndl1,color,red); hold on % 因原函数与逼近函数重合,要看到两个图像y应该加一个小的偏移 % hndl2=plot(p,t+0.01); hndl2=plot(p,t); set(hndl2,linewidth,2); %设置图形标题 title(RBF神经网络逼近函数);,实验七 RBF神经网络的构建与使用,思考题 1、实验中构建的RBF神经网络的合适的扩展参数在什么范围内? 2、实验中构建的RBF神经网络的合适的隐含层神经元的个数最大值在什么范围内?,谢谢!,实验八 SOM神经网络的构建与使用讲解,实验八SOM神经网络的构建与使用,实验八 SOM神经网络的构建与使用,使用SOM神经网络对指定数据进行聚类,实验八 SOM神经网络的构建与使用,存在的问题 1、单值向量与下标向量的转换 2、竞争层的网络拓扑结构 3、聚类结果的显示 4、竞争层神经元的数量,实验八 SOM神经网络的构建与使用,实验内容1 对指定数据进行聚类并测试,实验八 SOM神经网络的构建与使用,实验内容2: 单值向量与下标向量的转换 结果显示,实验八 SOM神经网络的构建与使用,vec2ind() 功能 将单值向量组变换成下标向量 格式 ind = vec2ind(vec) 说明 式中,vec为m行n列的向量矩阵x,x中的每个列向量i,除包含一个1外,其余元素均为0, ind为n个元素值为1所在的行下标值构成的一个行向量。,实验八 SOM神经网络的构建与使用,C=1 1 1 2 2 2 2 1 1 1,(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) 1,实验八 SOM神经网络的构建与使用,实验内容3: 观测竞争层神经元个数改变的影响 隐含层神经元的布置: 3 5、4 5、5 8,演示程序1,% % clc clear close all % 建立一个自组织神经网络对上述数据分类, % 测试训练后的自组织神经网络的性能,判断其属于哪个类别。 P=-6 -4 -2 -4 -6 0 -4 -6 4 -6; 0 2 -2 2 0 -2 2 0 -2 0; %创建一个自组织神经网络,0 1;0 1表示输入数据的取值范围在0,1之间, % 3,4表示竞争层组织结构为3 4,其余参数取默认值。,演示程序1,% 竞争层也可以选取下面布局形式:3 5、4 5、5 8,拓扑结构有gridtop, hextop, randtop net=newsom(0 1;0 1,5 8); net.trainParam.epochs=100; net=init(

温馨提示

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

评论

0/150

提交评论