整理神经网络基础知识.docx

上传人:b****8 文档编号:13176441 上传时间:2023-06-11 格式:DOCX 页数:15 大小:223.24KB
下载 相关 举报
整理神经网络基础知识.docx_第1页
第1页 / 共15页
整理神经网络基础知识.docx_第2页
第2页 / 共15页
整理神经网络基础知识.docx_第3页
第3页 / 共15页
整理神经网络基础知识.docx_第4页
第4页 / 共15页
整理神经网络基础知识.docx_第5页
第5页 / 共15页
整理神经网络基础知识.docx_第6页
第6页 / 共15页
整理神经网络基础知识.docx_第7页
第7页 / 共15页
整理神经网络基础知识.docx_第8页
第8页 / 共15页
整理神经网络基础知识.docx_第9页
第9页 / 共15页
整理神经网络基础知识.docx_第10页
第10页 / 共15页
整理神经网络基础知识.docx_第11页
第11页 / 共15页
整理神经网络基础知识.docx_第12页
第12页 / 共15页
整理神经网络基础知识.docx_第13页
第13页 / 共15页
整理神经网络基础知识.docx_第14页
第14页 / 共15页
整理神经网络基础知识.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

整理神经网络基础知识.docx

《整理神经网络基础知识.docx》由会员分享,可在线阅读,更多相关《整理神经网络基础知识.docx(15页珍藏版)》请在冰点文库上搜索。

整理神经网络基础知识.docx

整理神经网络基础知识

实验十二:

神经网络及其在数据拟合中的应用(设计性实验)

一、实验目的

1、了解神经网络的基本知识。

2、学会用matlab神经网络工具箱进行数据拟合。

3、通过实例学习matlab神经网络工具箱的应用。

二、实验原理

人工神经网络是在对复杂的生物神经网络研究和理解的基础上发展起来的。

我们知道,人脑是由大约

个高度互连的单元构成,这些单元称为神经元,每个神经元约有

个连接。

仿照生物的神经元,可以用数学方式表示神经元,引入人工神经元的概念,并由神经元的互连可以定义出不同种类的神经网络。

1、神经网络的概念及结构

单个人工神经元的数学表示形式如图1所示。

其中,

为一组输入信号,它们经过权值

加权后求和,再加上阈值

,则得出

的值。

可以认为该值为输入信号与阈值所构成的广义输入信号的线性组合。

该信号经过传输函数

可以得出神经元的输出信号

图1

由若干个神经元相互连接,则可以构成一种网络,称为神经网络。

由于连接方式的不同,神经网络的类型也不同。

这里仅介绍前馈神经网络,因为其权值训练中采用误差逆向传播的方式,所以这类神经网络更多地称为反向传播(backpropagation)神经网络,简称BP神经网络。

BP网的基本结构如下图所示:

MATLAB的神经网络工具箱提供了现成的函数和神经网络类,可以使用newff()函数来建立一个前馈的BP神经网络模型。

newff()的具体调用格式如下:

net=newff(x,y,[h1,h2,…,hk],{f1,f2,…,fk})

其中,x为输入向量,y为输出(目标)向量。

[h1,h2,…,hk]是一个行向量,用以存储神经网络各层的节点数,该向量的大小等于神经网络隐层的层数。

{f1,f2,…,fk}为一个元胞数组,由若干个字符串构成,每个字符串对应于该层的传输函数类型。

当这些参数设定好后,就建立了一个神经网络数据对象net,它的一些重要属性在下表给出。

2、神经网络的训练和泛化

若建立了神经网络模型net,则可以调用train()函数对神经网络参数进行训练。

该函数的调用格式为:

[net,tr,y1,e]=train(net,x,y)

其中,变量x为

的矩阵,

为输入变量的维数,

为样本的组数,y为

的矩阵,

为输出变量的维数,x,y分别存储样本点的输入和输出数据。

由样本点数据进行训练,则可以得出训练后的神经网络对象net,且可以返回其它相关的内容,tr为结构体数据,返回训练的相关跟踪信息,tr.epochs为训练步数,tr.perf为各步目标函数的值。

y1和e矩阵分别返回由神经网络计算出的输出和误差矩阵。

在训练过程中将每隔25步自动显示一次训练指标。

训练结束后还可以用下面的语句绘制出目标值曲线:

plotperf(tr)

如果在给出的最大训练步数下无法得出满足要求的网络,则将给出错误的信息提示。

用户可以再调用该函数一次,这时将以上次的训练结果加权矩阵为初值继续训练,用户可以循环调用该语句。

如果误差在几次循环调用后仍无显著改善,则说明网络结构有问题,应该修改网络结构。

神经网络训练完成后,可以利用该网络对样本区域内的其他输入量求解其输出值,这种求值的方法称为神经网络的仿真或泛化(generalization),可以理解为利用神经网络进行数据拟合,对新的输入点数据x1调用sim()函数进行泛化,得出这些输入点处的输出矩阵y1,且

y1=sim(net,x1)

神经网络是否成功不在于对样本点本身拟合误差的大小,而关键在于其泛化效果。

如果对样本点以外的其他输入点均有较好的拟合效果,则说明该神经网络结构合理。

否则,训练出来的神经网络没有应用价值。

例:

产生一组数据:

x=-1 :

0.2 :

1 ;y=1./(1+25*x.^2) ;

x0=-1 :

0.1 :

1 ;y0=1./(1+25*x0.^2) ;

其中,x,y为训练数据,x1,y1为测试数据。

由数据可知,输入变量x为一维数据,取值范围分别为[-1,1]。

利用newff()函数建立BP神经网络。

设定其有2个隐层,第1隐层有5个节点,该层神经元采用tansig传输函数,第2隐层含1个节点,传输函数为tansig()函数,建立神经网络模型:

net=newff(x,y,5,{‘tansig’}) ;

net=train(net,x,y);%用x,y训练网络

y1=sim(net,x0);%调用sim()函数进行泛化

figure,plot(x,y,'o',x0,y0,x0,y1,':

');%从图形上看神经网络的泛化能力c

用神经网络对二元函数进行曲面拟合。

例:

 

[x,y]=meshgrid(-3:

.6:

3,-2:

.4:

2);x=x(:

)';y=y(:

)';%生成训练样本数据

z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);%注意x,y,z均应为行向量

net=newff([x;y],z);%二维输入,3个隐层

net.trainParam.epochs=1000;net.trainFcn='trainlm';%设定最大训练步数和训练算法

[net,b]=train(net,[x;y],z);%训练神经网络

[x2,y2]=meshgrid(-3:

.1:

3,-2:

.1:

2);x1=x2(:

)';y1=y2(:

)';%生成测试样本数据

figure;z1=sim(net,[x1;y1]);%求出测试样本数据的拟合输出值

z2=reshape(z1,size(x2));surf(x2,y2,z2)%画出拟合曲面

[x,y]=meshgrid(-3:

.6:

3,-2:

.4:

2);x=x(:

)';

y=y(:

)';

z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);

z=z(:

)';

net=newff([-33;-22],[10,10,1],{'tansig','tansig','tansig'});

net.trainParam.epochs=1000;net.trainFcn='trainlm';

net=train(net,[x;y],z);

[x2,y2]=meshgrid(-3:

.1:

3,-2:

.1:

2);x1=x2(:

)';y1=y2(:

)';

figure;z1=sim(net,[x1;y1]);

z2=reshape(z1,size(x2));surf(x2,y2,z2)

 

三、实验内容

1、神经网络对一元函数进行曲线拟合。

2、神经网络对二元函数进行曲面拟合。

3、神经网络在数据拟合具体实例上的应用。

四、实验报告

 

实验十二:

神经网络在数据拟合中的应用

实验名称:

实验日期:

年月日

姓名:

班级学号:

成绩:

一、实验目的

1、了解神经网络的基本知识。

2、学会用matlab神经网络工具箱进行数据拟合。

3、通过实例学习matlab神经网络工具箱的应用。

二、实验内容及步骤

1、已知数据:

x

0

.1

.2

.3

.4

.5

.6

.7

.8

.9

1

y

.3

.5

1

1.4

1.6

1.9

.6

.4

.8

1.5

2

利用神经网络在[0.1]区间上绘制出样本对应的函数曲线。

尝试不同的神经网络结构和训练算法,将神经网络的曲线拟合结果和实验十一的三次多项式拟合结果进行比较。

(1)利用神经网络算法拟合曲线。

程序:

x=0:

0.1:

1;

y=[0.30.511.41.61.90.60.40.81.52];

x0=0:

0.01:

1;

net=newff([0,1],[20,1],{'tansig','tansig'});

net.trainParam.epochs=1000;

net=train(net,x,y);

figure;

y0=sim(net,x0);

plot(x,y,'+',x0,y0,'o')

legend('原始数据','拟合数据')

运行结果:

 

(2)不同神经网络结构和训练算法的比较。

程序:

x=0:

0.1:

1;

y=[0.30.511.41.61.90.60.40.81.52];

x0=0:

0.01:

1;

net=newff([0,1],[30,1],{'tansig','tansig'});

net.trainParam.epochs=1500;

net.trainFcn='trainlm';

net=train(net,x,y);

figure;

y0=sim(net,x0);

plot(x,y,'+',x0,y0,'o')

legend('原始数据','拟合数据')

 

运行结果:

(3)与三次多项式拟合进行比较。

神经网络的曲线拟合结果远远不如实验十一的三次多项式拟合结果,因为数据个数本身就很有限,所以神经网络的拟合效果不好。

2、“人口问题”是我国最大社会问题之一,估计人口数量和发展趋势是我们制定一系列相关政策的基础。

有人口统计年鉴,可查的我国从1949年至1994年人口数据智料如下:

年份

1949

1954

1959

1964

1969

1974

1979

1984

1989

1994

人口数(百万)

541.67

602.66

672.09

704.99

806.71

908.59

975.42

1034.75

1106.76

1176.74

分析:

(1)在直角坐标系上作出人口数的图象。

(2)用神经网络方法拟合数据,并算出1999年人口数。

(1)

(4)是否满足环境功能区划和生态功能区划标准。

程序:

2.间接市场评估法x=1949:

5:

1994;

y=[541.67602.66672.09704.99806.71908.59975.421034.751106.761176.74];

plot(x,y)

title('1949-1994年我国人口数图像')

运行结果:

按照国家规定实行审批制的建设项目,建设单位应当在报送可行性研究报告前报批环境影响评价文件。

按照国家规定实行核准制的建设项目,建设单位应当在提交项目申请报告前报批环境影响评价文件。

按照国家规定实行备案制的建设项目,建设单位应当在办理备案手续后和开工前报批环境影响评价文件。

3)迁移。

(2)

程序:

(4)化工、冶金、有色、建材、机械、轻工、纺织、烟草、商贸、军工、公路、水运、轨道交通、电力等行业的国家和省级重点建设项目;x=1:

10;

y=[0.541670.602660.672090.704990.806710.908590.975421.034751.106761.17674];

直接市场评估法又称常规市场法、物理影响的市场评价法。

它是根据生产率的变动情况来评估环境质量变动所带来影响的方法。

x0=1:

0.01:

10;

net=newff([1,10],[50,1],{'tansig','tansig'});

net.trainParam.epochs=5000;

1)采取防护措施。

net.trainFcn='trainlm';

(1)规划实施后实际产生的环境影响与环境影响评价文件预测可能产生的环境影响之间的比较分析和评估;net=train(net,x,y);

figure;

4.将环境影响价值纳入项目的经济分析y0=sim(net,x0);

plot(x,y,'+',x0,y0,'o')

legend('原始数据','拟合数据')

运行结果:

(4)化工、冶金、有色、建材、机械、轻工、纺织、烟草、商贸、军工、公路、水运、轨道交通、电力等行业的国家和省级重点建设项目;

 

3、已知某处山区地形选点测量坐标数据为:

x=00.511.522.533.544.55

y=00.511.522.533.544.555.56

海拔高度数据为:

z=8990878592919693908782

9296989995918986848284

9698959290888584838185

8081828995969392898686

8285879899969788858283

8285899495939291868488

8892939495898786838192

9296979896939584828184

8585818280808185909395

8486819899989796958487

8081858283848790958688

8082818485868382818082

8788899899979698949287

实验十一第2题中已画出其原始地貌图,利用神经网络画出其加密后的地貌图。

加密后横坐标数据为50个,纵坐标数据为60个。

(1)程序:

[x,y]=meshgrid(0:

0.5:

5,0:

0.5:

6);

x=x(:

)';

y=y(:

)';

z=[8990878592919693908782

9296989995918986848284

9698959290888584838185

8081828995969392898686

8285879899969788858283

8285899495939291868488

8892939495898786838192

9296979896939584828184

8585818280808185909395

8486819899989796958487

8081858283848790958688

8082818485868382818082

8788899899979698949287];

z=z(:

)';

net=newff([05;06],[10,10,1],{'tansig','tansig','tansig'});

net.trainParam.epochs=1000;

net.trainFcn='trainlm';

net=train(net,[x;y],z);

[x2,y2]=meshgrid(0:

0.1:

5,0:

0.1:

6);

x1=x2(:

)';

y1=y2(:

)';

figure;

z1=sim(net,[x1;y1]);

z2=reshape(z1,size(x2));

surf(x2,y2,z2)

运行结果:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2