人工神经网络实验指导.docx

上传人:b****6 文档编号:4407224 上传时间:2022-12-01 格式:DOCX 页数:21 大小:391.64KB
下载 相关 举报
人工神经网络实验指导.docx_第1页
第1页 / 共21页
人工神经网络实验指导.docx_第2页
第2页 / 共21页
人工神经网络实验指导.docx_第3页
第3页 / 共21页
人工神经网络实验指导.docx_第4页
第4页 / 共21页
人工神经网络实验指导.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

人工神经网络实验指导.docx

《人工神经网络实验指导.docx》由会员分享,可在线阅读,更多相关《人工神经网络实验指导.docx(21页珍藏版)》请在冰豆网上搜索。

人工神经网络实验指导.docx

人工神经网络实验指导

《人工神经网络》

实验指导

北京工商大学信息工程学院

《人工神经网络》课程组编写

 

 

第一部分实验准备

第1章NeuDesk软件

1.1NeuDesk软件概述

NeuDesk软件是英国NCS公司推出的神经网络专用软件,它的主要特点是输入输出变量都采用电子表格录入的方式,非常直观;网络的设计中可以直观地看到神经元的连接以及权值的正负,网络经过训练以后可以储存其连接权值,便于应用。

1.2NeuDesk软件使用说明

1.2.1样本的输入

打开NeuDesk软件,出现以下界面,其中表TrainingInputs是训练集的输入;TrainingOutputs是训练集的教师信号。

输入向量:

按列输入表中,一列代表一个变量

输出向量:

按列输入表中,一列代表一个变量

归一化处理:

点击spreadsheet-----autoscale

 

1.2.2网络的设计

打开Window,选择进入网络的设计界面

其中,在Edit下拉菜单中选择Randomize为随机初始化;ManualDesign表示手动改变隐层数和隐层节点数;Autodesign是根据输入节点和输出节点来进行自动设计。

1.2.3网络的训练

进入Controlwindow,可以对网络的训练参数进行设计。

其中,

TrainingMethods(训练方法):

用于进行算法和参数设计

TerminateTrainingOn(中止条件):

设置终止条件如最大迭代次数或者是最小误差

CurrentStatus(现在的状态):

网络当前的迭代次数以及当前的误差

Randomize为根据问题随机初始化网络的初始权值和隐层节点数

Train:

训练网络

Query:

用训练好的网络对新的输入来预测输出

1.2.3网络的预测

用训练好的网络对新的输入进行预测。

(1)在QueryInputs键入输入变量

(2)点击ControlWindow上的Query,利用训练好的网络进行前向计算

(3)可以在QueryOutputs窗口得到相应的输出

 

第2章Matlab神经网络工具箱

MATLAB名字由MATrix和LABoratory两词的前三个字母组合而成。

20世纪七十年代后期,时任美国新墨西哥大学计算机科学系主任的CleveMoler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。

MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的UMIST,瑞典的LUND和SIMNON,德国的KEDDC)纷纷淘汰,而改以MATLAB为平台加以重建。

在时间进入20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。

在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。

这几乎成了九十年代教科书与旧版书籍的区别性标志。

在那里,MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。

MATLAB的推出得到了各个领域的专家学者的广泛关注,在此基础上,专家们相继推出了MATLAB工具箱,主要包括信号处理、控制系统、神经网络、图像处理、鲁棒控制、非线性系统控制设计、系统辨识、最优化、模糊逻辑、小波等工具箱,这些工具箱给各个领域的研究和工程应用提供了有力的工具。

2.1MATLAB神经网络工具箱概述

神经网络工具箱(NNToolbox)几乎完整地概括了现有的神经网络的新成果,所涉及的网络模型有:

感知器、线性网络、BP网络、径向基网络、自组织网络和反馈网络等。

对于各种网络模型,神经网络工具箱集成了多种学习算法,为用户提供了方便。

2.1.1神经网络工具箱的帮助和安装

神经网络工具箱包含在nnet目录中,键入helpnnet可得到帮助主题。

工具箱包含了许多示例。

每一个例子讲述了一个问题,展示了用来解决问题的网络并给出了最后的结果。

显示向导要讨论的神经网络例子和应用代码可以通过键入helpnndemos找到。

安装神经网络工具箱的指令可以在下列两份MATLAB文档中找到:

theInstallationGuideforMS-WindowsandMacintosh或者theInstallationGuideforUNIX。

2.2MATLAB神经网络工具箱函数

说明:

下面列出的函数适用于MATLAB5.3以上版本,为简明起见,只列出了函数名,

如需要了解函数的详细说明和使用,请参阅MATLAB的帮助文档。

2.2.1网络创建函数

newp创建感知器网络

newlind设计一线性层

newlin创建一线性层

newff创建一前馈BP网络

newcf创建一多层前馈BP网络

newfftd创建一前馈输入延迟BP网络

newrb设计一径向基网络

newrbe设计一严格的径向基网络

newgrnn设计一广义回归神经网络

newpnn设计一概率神经网络

newc创建一竞争层

newsom创建一自组织特征映射

newhop创建一Hopfield递归网络

newelm创建一Elman递归网络

2.2.2网络应用函数

sim仿真一个神经网络

init初始化一个神经网络

adapt神经网络的自适应化

train训练一个神经网络

2.2.3权函数

dotprod权函数的点积

ddotprod权函数点积的导数

distEuclidean距离权函数

normprod规范点积权函数

negdistNegative距离权函数

mandistManhattan距离权函数

linkdistLink距离权函数

2.2.4网络输入函数

netsum网络输入函数的求和

dnetsum网络输入函数求和的导数

 

2.2.5转移函数

hardlim硬限幅转移函数

hardlims对称硬限幅转移函数

purelin线性转移函数

tansig正切S型转移函数

logsig对数S型转移函数

dpurelin线性转移函数的导数

dtansig正切S型转移函数的导数

dlogsig对数S型转移函数的导数

compet竞争转移函数

radbas径向基转移函数

satlins对称饱和线性转移函数

2.2.6初始化函数

initlay层与层之间的网络初始化函数

initwb阈值与权值的初始化函数

initzero零权/阈值的初始化函数

initnwNguyen_Widrow层的初始化函数

initconConscience阈值的初始化函数

midpoint中点权值初始化函数

2.2.7性能分析函数

mae均值绝对误差性能分析函数

mse均方差性能分析函数

msereg均方差w/reg性能分析函数

dmse均方差性能分析函数的导数

dmsereg均方差w/reg性能分析函数的导数

2.2.8学习函数

learnp感知器学习函数

learnpn标准感知器学习函数

learnwhWidrow_Hoff学习规则

learngdBP学习规则

learngdm带动量项的BP学习规则

learnkKohonen权学习函数

learnconConscience阈值学习函数

learnsom自组织映射权学习函数

2.2.9自适应函数

adaptwb网络权与阈值的自适应函数

2.2.10训练函数

trainwb网络权与阈值的训练函数

traingd梯度下降的BP算法训练函数

traingdm梯度下降w/动量的BP算法训练函数

traingda梯度下降w/自适应lr的BP算法训练函数

traingdx梯度下降w/动量和自适应lr的BP算法训练函数

trainlmLevenberg_Marquardt的BP算法训练函数

trainwbl每个训练周期用一个权值矢量或偏差矢量的训练函数

2.2.11分析函数

maxlinlr线性学习层的最大学习率

errsurf误差曲面

2.2.12绘图函数

plotes绘制误差曲面

plotep绘制权和阈值在误差曲面上的位置

plotsom绘制自组织映射图

2.2.13符号变换函数

ind2vec转换下标成为矢量

vec2ind转换矢量成为下标矢量

2.2.14拓扑函数

gridtop网络层拓扑函数

hextop六角层拓扑函数

randtop随机层拓扑函数

2.3MATLAB使用说明

2.3.1MATLAB界面

打开MATLAB,会出现如下操作界面:

2.3.2在MATLAB环境下运行程序

在MATLAB环境下运行程序可以采用如下方式:

一是在命令窗口中直接键入命令行,缺点是无法进行编辑;另一个方式是将多个命令语句放入到m文件中,然后运行m文件,优点是利于编辑。

 

(1)直接键入命令行

(2)编辑成m文件,运行m文件

a.建立一个新的m文件,操作过程如下图所示:

b.编辑m文件的内容,并运行(Run)

结果在命令窗口处显示。

2.3.3MATLAB中Demo的使用

在MATLAB中有许多工具箱的演示例子,这些例子有助于学生更快的掌握工具箱函数的使用。

(1)在命令窗口键入Demo,可以进入MATLAB的例子演示中。

键入demo

可以运行demo(演示程序)、可以阅读demo的源程序、利用源程序建立自己的m文件

(2)进入工具箱(Toolboxes)

 

(3)进入神经网络工具箱(NeuralNetworkToolbox)演示

神经网络

设计、仿真神经网络

 

 

第二部分实验

第3章BP网络的设计

实验3.1NeuDesk软件环境下的BP网络设计

3.1.1试设计BP神经网络解决异或问题

一、实验目的

掌握NeuDesk软件环境下的BP网络设计,理解BP算法可以解决线性不可分问题的原因。

二、实验内容

用BP网络解决异或问题。

三、实验步骤

(1)把异或问题表达成神经网络可以处理的输入输出向量对。

(2)根据问题的需要,利用NeuDesk软件设计网络的隐层节点数和训练参数,开始训练;

(3)在预测输入窗口键入输入向量,考察预测输出窗口的输出是否正确,考察BP网络是否可以解决异或问题。

3.1.2试设计BP神经网络实现非线性函数映射。

一、实验目的

掌握NeuDesk软件环境下的BP网络设计,理解BP网络的非线性映射能力。

二、实验内容

用BP网络解决函数非线性映射问题:

函数y=x1/2;y=x2;y=sin(x)

三、实验步骤

(1)训练集可取{0.1、0.3、0.5、0.7、0.9、1};测试集可取:

{0.2、0.4、0.6、0.8}

(2)根据问题的需要,利用NeuDesk软件设计网络的隐层节点数和训练参数,开始训练;

(3)在预测输入窗口键入输入向量,考察预测输出窗口的输出与教师信号之间的偏差,考察BP网络是否可以实现函数非线性映射。

3.1.2试设计BP神经网络实现分类功能。

一、实验目的

掌握NeuDesk软件环境下的BP网络设计,理解BP网络的分类功能。

二、实验内容

用BP网络解决分类问题:

1类:

X2=(0.8,0.5,0)T,X3=(0.9,0.7,0.3)T,X4=(1,0.8,0.5)T

2类:

X4=(0,0.2,0.3)T,X5=(0.2,0.1,1.3)T,X6=(0.2,0.7,0.8)T

用BP学习规则训练一分类器,算法中η=1,α=0。

写出训练后的权值和阈值。

三、实验步骤

(1)训练集如上6个样本;

(2)根据问题的需要,利用NeuDesk软件设计网络的隐层节点数和训练参数,开始训练;

(3)在预测输入窗口键入输入向量,考察预测输出窗口的输出与教师信号之间的偏差,考察BP网络是否可以正确实现分类。

实验3.2掌握NeuDesk软件环境下的BP网络应用

3.2.1基于BP算法的多层前馈网用于催化剂配方建模

一、实验目的

二、实验内容

用BP网络建立催化剂配方模型,即采用BP神经网络对脂肪醇催化剂配方的实验数据进行学习,以训练后的网络作为数学模型映射配方与优化指标之间的复杂非线性关系。

实验数据如下:

表3.1催化剂配方的神经网络模型与回归方程模型输出结果对比

No

A/Cu

Zn/Cu

B/Cu

C/Cu

Mn/Cu

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

0.0500

0.0650

0.0800

0.0950

0.1100

0.1250

0.1400

0.155

0.1700

0.0500

0.0650

0.0800

0.095

0.110

0.125

0.140

0.155

0.170

0.130

0.070

0.190

0.110

0.050

0.170

0.090

0.030

0.150

0.070

0.190

0.130

0.050

0.170

0.110

0.030

0.150

0.090

0.080

0.120

0.080

0.060

0.020

0.000

0.160

0.120

0.100

0.060

0.040

0.000

0.160

0.140

0.100

0.080

0.040

0.020

0.140

0.160

0.060

0.160

0.060

0.140

0.040

0.140

0.040

0.120

0.020

0.120

0.020

0.100

0.000

0.100

0.000

0.080

0.040

0.020

0.000

0.040

0.020

0.000

0.040

0.020

0.000

0.050

0.030

0.010

0.050

0.030

0.010

0.050

0.030

0.010

94.50

88.05

60.25

93.05

94.65

96.05

61.00

70.40

83.30

84.50

69.50

94.55

70.95

87.20

64.20

86.15

77.15

96.05

94.62

88.05

60.43

93.11

94.72

95.96

61.13

70.39

83.32

85.27

69.45

94.60

69.51

87.16

64.08

86.15

77.17

96.00

83.83

92.43

82.03

94.31

85.79

97.08

65.39

80.44

70.22

70.22

80.77

94.75

92.88

78.64

69.59

82.40

75.23

87.05

96.30

75.50

40.21

97.31

88.55

95.50

59.72

37.50

82.85

90.90

61.80

97.60

62.54

91.00

58.30

75.65

71.90

94.60

96.56

75.97

41.43

96.29

88.06

96.69

58.90

41.83

82.48

90.46

65.03

95.74

60.40

89.19

59.12

61.43

71.72

94.62

95.98

76.50

44.87

105.11

77.89

105.43

54.76

46.36

59.50

91.51

55.22

92.44

52.50

76.92

54.02

29.93

83.94

94.61

97.80

86.5

96.25

99.30

95.20

99.50

67.35

52.25

99.20

95.90

88.20

103.40

60.10

103.60

58.90

86.50

91.80

98.00

97.24

86.67

95.36

99.39

97.49

99.52

69.10

51.38

96.53

97.87

92.41

97.93

62.63

99.36

60.22

78.07

91.74

99.12

102.83

79.65

81.92

103.08

87.12

104.71

73.52

71.45

74.30

92.75

98.44

101.65

68.12

92.22

72.50

79.28

94.23

90.35

表中,下标1表示实测结果,下标2表示神经网络输出结果,下标表示回归方程计算结果。

三、实验步骤

(1)确定输入变量和教师信号

(2)根据输入向量和教师信号的维数确定如下的神经网络结构。

图3.28催化剂配方的神经网络模型

(3)从18组数据中选择16组数据用于]训练,其余2组用于预测,考察网络训练参数的选择对网络性能的影响。

 

第4章SOM网络的设计

实验4.1掌握MATLAB软件环境下的SOM网络设计

4.1.1输出为一维线阵的SOM网络对二维数据进行聚类

一、实验目的

掌握输出为一维线阵的SOM网络的设计

二、实验内容

产生100个(0,0.5pi)之间的角度,用其sin和cos值作为输入向量,利用输出为二维平面阵的SOM网络对其进行聚类。

三、参考程序

angles=0:

0.5*pi/99:

0.5*pi;

P=[sin(angles);cos(angles)];

plot(P(1,:

),P(2,:

),'+r')

net=newsom([01;01],[10]);

net.trainParam.epochs=10;

net=train(net,P);

plotsom(net.iw{1,1},net.layers{1}.distances)

p=[1;0];

a=sim(net,p)

四、实验步骤

(1)确定输入模式;

(2)确定网络的结构,设计参数;

(3)编辑相应的M文件实现SOM对数据进行聚类,运行M文件,在命令窗口察看结果。

4.1.2输出为二维平面阵的SOM网络对二维数据进行聚类

一、实验目的

掌握输出为二维平面阵的SOM网络的设计

二、实验内容

随机产生(0,1)之间的1000个二维数据,利用输出为二维平面阵的SOM网络对其进行聚类。

三、参考程序

P=rands(2,1000);

plot(P(1,:

),P(2,:

),'+r')

net=newsom([01;01],[56]);

plotsom(net.iw{1,1},net.layers{1}.distances)

net.trainParam.epochs=1;

net=train(net,P);

plotsom(net.iw{1,1},net.layers{1}.distances)

p=[0.5;0.3];

a=sim(net,p)

四、实验步骤

(1)确定输入模式;

(2)确定网络的结构,设计参数;

(3)编辑相应的M文件实现SOM对数据进行聚类,运行M文件,在命令窗口察看结果。

实验4.2掌握MATLAB软件环境下的SOM网络应用

4.2.1利用SOM网络对动物属性特征映射

一、实验目的

掌握SOM网络的设计以及连续映射、数据压缩的特征。

二、实验内容

利用SOM网络对动物属性特征映射。

1989年Kohonen给出一个SOM网的著名应用实例,即把不同的动物按其属性特征映射到两维输出平面上,使属性相似的动物在SOM网输出平面上的位置也相近。

该例训练集种共有16种动物,每种动物用一个29维向量来表示,其中前16个分量构成符号向量,对不同的动物进行“16取1”编码;后13个分量构成属性向量,描述动物的13种属性,用1或0表示某动物该属性的有或无。

表4.1中的各列给出16种动物的属性列向量。

表4.116种动物的属性向量

动物

属性

鸽子

母鸡

猫头鹰

狐狸

斑马

2只腿

4只腿

鬃毛

羽毛

1

0

0

1

0

0

0

0

1

0

0

1

0

1

0

0

1

0

0

0

0

1

0

0

0

0

1

0

0

1

0

0

0

0

1

0

0

0

1

1

0

0

1

0

0

0

0

1

0

0

1

1

1

0

0

1

0

0

0

0

1

1

0

1

0

1

0

0

1

0

0

0

0

1

1

0

1

0

0

1

0

1

0

0

0

0

1

1

0

1

0

0

1

0

0

1

1

0

0

0

1

0

0

0

0

1

0

0

1

1

0

0

0

0

1

0

0

0

1

0

0

1

1

0

0

0

1

1

0

0

1

0

0

0

1

1

0

0

0

1

0

0

0

0

0

1

0

1

1

0

0

0

1

1

0

0

0

0

1

0

1

1

0

0

0

1

1

0

0

0

0

1

0

1

1

1

1

0

0

1

0

0

0

0

1

0

1

1

1

1

0

0

1

0

0

0

0

1

0

1

1

1

0

0

0

0

0

0

三、实验步骤

(1)准备输入模式;

(2)设计SOM网络:

SOM网的输出平面上有10⨯10个神经元

(3)SOM网络的训练:

用16个动物模式轮番输入进行训练,考察输出平面上所示情况。

四、注意事项

(1)输入:

P为29×16的矩阵,其中29维输入向量,16为动物的个数---归一化

(2)输出:

10×10

(3)网络的设计:

建立新的网络:

net=newsom(AA,[1010],'gridtop');'hextop'

网络训练参数设定:

net.trainParam.epochs=1000;

网络训练:

net=train(net,P);

(4)训练后的运行:

a=sim(net,P)

由a的值可以得到SOM的哪个输出节点对输入有所响应,即归为哪一类

(5)画出输

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

当前位置:首页 > 初中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1