神经网络实用教程讲解与源码课件

PPT
  • 阅读 51 次
  • 下载 0 次
  • 页数 105 页
  • 大小 598.000 KB
  • 2023-04-16 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
神经网络实用教程讲解与源码课件
可在后台配置第一页与第二页中间广告代码
神经网络实用教程讲解与源码课件
可在后台配置第二页与第三页中间广告代码
神经网络实用教程讲解与源码课件
可在后台配置第三页与第四页中间广告代码
神经网络实用教程讲解与源码课件
神经网络实用教程讲解与源码课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 105
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】神经网络实用教程讲解与源码课件.ppt,共(105)页,598.000 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-244300.html

以下为本文档部分文字说明:

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

值。演示程序sum=0;fori=1:20sum=sum+i;ifsum>30%break;disp('sumis30')fprintf('%2d,sum')x=1continue;endendisum实验二M

ATLAB快速入门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型激活函数');le

gend('tansig');gridon%设置第二个图形的绘图位置为第一行第二列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);%设置图形线条宽度s

et(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('硬限幅激活函数');leg

end('hardlim');gridon谢谢!实验三单层感知器的构建与使用讲解实验三单层感知器的构建与使用实验三单层感知器的构建与使用1、已经对逻辑与的单层感知器实现的权值调整计算过程进行了讲解,请使用MATLAB语言编写程序,实现单层感知器对逻辑与进行分类。演示程序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);演示程序1%对训练后的网络进行仿真,即根据训练后的网络和样本数据%给出输出a=net.b{1};b=net.iw{1};Y=sim(net,P);%计算网络的平均绝对误差,表示网络错误分

类E1=mae(Y-T);%给定测试数据,检测训练好的神经网络的性能Q=[1010;0110];%使用测试数据,对网络进行仿真,仿真输出即为分类的结果Y1=sim(net,Q);%创建一个新的绘图窗口演示程序1figure

;%设置绘图范围,在坐标图中绘制测试数据点,并根据数据%所对应的类别用约定的符号画出v=[-0.52-0.52];plotpv(Q,Y1,v);%利用权值和阈值,在坐标图中绘制分类线%plot

pc(net.iw{1},net.b{1})%为更清楚的看到分类,可以给阈值加一个小的偏移量plotpc(net.iw{1},net.b{1}+0.1)实验三单层感知器的构建与使用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]对构建好的神经网络进行测试,并评价其性能.演示程

序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;演示程序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];%使用测试数据,对网络进行仿真,仿真输

出即为分类的结果演示程序2Y1=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)实验三单层感知器的构建与使用3、有下面一组样本数据:

输入数据为P=[0001;1011],目标值为[0110],能否使用单层感知器对其进行正确分类,请编写MATLAB程序验证,并对结果进行分析?演示程序3%实验三第3题演示程序%设计并训练一个对与运算进行分类的单层感知器神经网络并输出分类结果。%%给定

训练样本数据P=[0101;0011];%给定样本数据所对应的类别,用1和0来表示两种类别T=[0110];%创建一个有两个输入、样本数据的取值范围都在[0,1]之间,%并且网络只有一个神经元的感知器神经网络ne

t=newp([01;01],1);%设置网络的最大训练次数为20次,即训练20次后结束训练net.trainParam.epochs=20;%使用训练函数对创建的网络进行训练net=train(net,P,T);演示程序3%对训练后的网络进行仿真,即根据训练后的网络和样本数据

给出输出a=net.b{1}b=net.iw{1}Y=sim(net,P);%计算网络的平均绝对误差,表示网络错误分类E1=mae(Y-T)%给定测试数据,检测训练好的神经网络的性能Q=[0101;0011];%使用测试数据,对网络进行仿真,仿

真输出即为分类的结果演示程序3Y1=[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)谢谢!实验四线性神经网络的构建与使用讲解实验四线性神经网络的构建与使用实验四线性神经网

络的构建与使用1、有21组单输入矢量和相对应的目标矢量,试设计一个线性神经网络来拟合这对数组的函数关系,并用测试数据进行测试。实验四线性神经网络的构建与使用输入与目标数据如下:输入数据: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演示程序1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.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');%holdon%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);%holdon%plot(T,'s','MarkerEdgeColor','k','MarkerFace

Color','g','MarkerSize',12);%+++++++++++++++++++++++++++实验四线性神经网络的构建与使用思考题1、一线性神经网络的输入为P=[1.1-1.3],目标为T=[0.61];设权值和偏置的初始值为0,学习速率为0.01,请

计算出此网络前二次的权值和偏置的值?实验四线性神经网络的构建与使用1XT输入线性神经元输出w目标值权值输入T2wx2T1wx1b1122xwbTxwbT+=+=112211TbwxxT=T

(1)()2()()wkwkekk+=+pT(1)()2()()wkwkekk+=+p权值调整公式(见《神经网络实用教程》p27)实验四线性神经网络的构建与使用第一次调整➢实际输出:1211110

0001.1-1.3bwxx==1XT输入线性神经元输出w目标值权值输入T2wx2T1wx1b1122xwbTxwbT+=+=112211TbwxxT=

T(1)()2()()wkwkekk+=+pT0.61-000.6111(1)(0)2*0.01**1.11.311.100.02*0.6111.3=0.0320.0128eT

Ywwe=−===+−=+−−实验四线性神经网络的构建与使用第一次调整➢实际输出:1211110.0320.01281.1-1.3=0.01790.0486bwxx=−T0.6

1-0.01790.04860.58210.951411(2)(1)2*0.01**1.11.311.10.0320.01280.02*0.58210.951411.3=0.0627-0.0247eTYwwe=−==

=+=−+1XT输入线性神经元输出w目标值权值输入T2wx2T1wx1b1122xwbTxwbT+=+=112211TbwxxT=T(1)()2()()wkwkekk+=+p实验四线性神经网络的构建与使用思考题2、用MATL

AB编程实现第1题,要求输出每一次迭代后的权值和偏置。1XT输入线性神经元输出w目标值权值输入T2wx2T1wx1b1122xwbTxwbT+=+=112211TbwxxT=T(1)()2()()

wkwkekk+=+p演示程序2%线性神经网络拟合曲线输出权值演示程序%输入样本数NPATS=2;%输入样本值矩阵Patterns=[1.1-1.3];%输出目标值Target=[0.61];%学习率LearnRate=0.01;演

示程序2%将偏置看作输入的第一个分量,组成网络输入值Inputs=[ones(1,2);Patterns];%权值初始化Weights=[00];%循环计算权值和偏置的改变值fori=1:3%计算神经元的输出Result=(Weights*Inpu

ts);演示程序2%判断实际输出与目标值是否相等,相等则结束迭代,否则进入下一轮迭代ifResult==Target,break,end%按LMS误差学习算法调整权值Weights=Weights+2*LearnRate*(Target-Result)*Input

s';%在显示器上输出权值编号其对应值fprintf('%2d.Weights=',i);disp(Weights);end谢谢!实验五BP神经网络的构建与使用(一)讲解实验五BP神经网络的构建与使用实验五B

P神经网络的构建与使用1、有21组单输入矢量和相对应的目标矢量,试设计一个线性神经网络来拟合这对数组的函数关系,并用测试数据进行测试。实验五BP神经网络的构建与使用存在的问题1、激活函数的选择tansig的定义域为负无

穷到正无穷,值域为-1到1,logsig的定义域为负无穷到正无穷,值域为0到12、结果如何显示?实验五BP神经网络的构建与使用输入与目标数据如下:输入数据:P=-1:0.1:1期望目标数据:T=[-0.9

60.577-0.07290.3770.6410.660.4610.13360.201-0.434-0.5-0.393-0.16470.09880.30720.3960.34490.1816-0.031

2-0.2183-0.3201]测试数据为:P2=-1:0.025:1BP演示程序%%本函数演示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.01n

et.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');holdon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');%h

oldon%hndl2=plot(P,T);%set(hndl2,'linewidth',2);%%设置图形标题%title('BP神经网络逼近非线性函数的MATLAB实现');%%设置图例

%legend('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.3

201];%创建一个只有一个输出,输入延时为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');线性网络演示程序holdonhndl2=plot(P,T);set(hndl2

,'linewidth',2);%设置图形标题title('线性神经网络逼近非线性函数的MATLAB实现');%设置图例legend('线性神经网络逼近非线性函数','原线性数据')%-----------

-------------------------------------%从此处到标记为+++++++++++的部分为测试时的程序,测试用此部分程序替换-------------间的程序%测试数据%P2=-1:0.0

25:1;%ytest=sim(net,P2);%figure线性网络演示程序%获取绘图句柄%hndl1=plot(P2,ytest);%设置线宽为2%set(hndl1,'linewidth',2);%设置线的颜色为红色%set(hndl1,'co

lor','red');%holdon%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closea

ll%输入样本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;演示程序%目标误差设为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');holdon演示程序hndl2=plot(P,T);set(hndl2,'linewidt

h',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');holdonhndl2=plot(P,T);se

t(hndl2,'linewidth',2);%设置图形标题title('使用测试数据测试BP神经网络逼近非线性函数');%设置图例%legend('BP神经网络逼近非线性函数','原数据')%+++++++++

+++++++++++谢谢!实验七RBF神经网络的构建与使用讲解实验七RBF神经网络的构建与使用实验七RBF神经网络的构建与使用使用RBF神经网络对指定函数进行逼近实验七RBF神经网络的构建与使用存在的问题1、点乘的使用2、仿真输出与实

际函数的显示3、扩展参数的确定4、基神经元个数的确定实验七RBF神经网络的构建与使用实验内容1➢对下述函数的逼近sin()xyex−=演示程序%建立一个径向基神经网络,对非线性函数进行逼近,并作出网络的逼近误差曲线。%

clcclearcloseall%输入从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');holdon%因原函数与逼近函数重合,要看到两个图像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);subplo

t(2,1,2)hndl1=plot(xtest,ytestsim);演示程序%设置线宽为2set(hndl1,'linewidth',2);%设置线的颜色为红色set(hndl1,'color','red');

holdon%hndl2=plot(p,t+0.01);hndl2=plot(p,t);set(hndl2,'linewidth',2);%设置图形标题title('使用测试数据测试RBF神经网络

逼近非线性函数');实验七RBF神经网络的构建与使用实验内容2:➢观测改变扩展参数的影响➢扩展参数(分布密度)设置为x0.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([-11],[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(h

ndl1,'linewidth',2);%设置线的颜色为红色set(hndl1,'color','red');holdon演示程序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');holdon%因原函数与逼近函数重合,要看到两个图像y应该加一个小的偏移%hndl2=plot(p,t+0.01);hndl2=plo

t(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=[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实验八SOM神经网络的构建与使用实验内容3:➢观测竞争层神经元个数改

变的影响➢隐含层神经元的布置:[35]、[45]、[58]演示程序1%%clcclearcloseall%建立一个自组织神经网络对上述数据分类,%测试训练后的自组织神经网络的性能,判断其属于哪个类别。P=[-6-4-2-4-60-4-64-6;02-

220-220-20];%创建一个自组织神经网络,[01;01]表示输入数据的取值范围在[0,1]之间,%[3,4]表示竞争层组织结构为34,其余参数取默认值。演示程序1%竞争层也可以选取下面布局形式

:[35]、[45]、[58],拓扑结构有gridtop,hextop,randtopnet=newsom([01;01],[58]);net.trainParam.epochs=100;net=init(net);net=

train(net,P);y=sim(net,P)%pausey=vec2ind(y)演示程序1%pause%获取训练后的自组织神经网络的权值w1=net.IW{1,1};%绘出训练后自组织神经网络的权值分布图

plotsom(w1,net.layers{1}.distances);q=1:1:10;plot(q,y,'bd','MarkerFaceColor','b','MarkerSize',10)演示程序1holdon%输入测试数据p=[-6;0];%对网

络进行测试y_test=sim(net,p);%将测试数据所得到的将单值向量组变换成下标向量y_test=vec2ind(y_test);r=1;plot(r,y_test,'ro','Mar

kerFaceColor','r','MarkerSize',10)实验八SOM神经网络的构建与使用思考题1、实验中构建的SOM神经网络合适的竞争层神经元布局中哪种?2、构建的SOM神经网络每一次运行的结果是不是都一样?谢谢!实验九Elman神经

网络实验程序%根据预测方法得到输入向量和目标向量P=[0.44130.47070.69530.81330.43790.46770.69810.80020.45170.47250.70060.8201;0.43790.46770

.69810.80020.45170.47250.70060.82010.45570.47900.70190.8211;0.45170.47250.70060.82010.45570.47900.70190.

82110.46010.48110.71010.8298;]';T=[0.45570.47900.70190.8211;0.46010.48110.71010.8298;0.46120.48450.71880.8312]

';%输入向量的取值范围为[01],用threshold来标记threshold=[01;01;01;01;01;01;01;01;01;01;01;01];%创建一个Elman神经网络,隐含层的神经元个数为17个,4个输出层神经元,隐含层激活函%数为tansig,输出层激活

函数为purelinnet=newelm(threshold,[17,4],{'tansig','logsig'},'trainlm');net.trainParam.epochs=3000;net.trainParam.goal=0.01;LP.lr=0.1;net=train(ne

t,P,T);%输入测试数据P_test=[0.45570.47900.70190.82110.46010.48110.71010.82980.46120.48450.71880.8312]';T_te

st=[0.46150.48910.72010.8330]';y=sim(net,P_test)%在测试数据下,计算网络的输出和实际目标向量之间的差值error=y-T_test;%在坐标平面上画出差值曲线plot(1:4,

error,'-');figure%%测试数据的目标数据与预测数据的关系图plot(y,T_test,'r--');holdonx=0:0.2:1;u=0:0.2:1;plot(x,u,'b-')

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 19949
  • 被下载 8
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?