您的当前位置:首页正文

智能传感器实验--BP神经网络

2020-03-25 来源:步旅网


BP神经网络实验

2010年12月

目录

1自主学习模块..................................................................................................... 2

1.1书面回答预习问题.................................................................................. 2

1.1.1训练神经网络网络之前,需要进行的三个步骤的准备工作是什么?............................................................................................................ 2

1.1.2神经网络(例如BP 训练仪)训练的中止条件是什么? ....... 2 1.1.3如何根据检验结果判断训练好的网络可用来实测?............... 2 1.2远程测控实验室网上学习与练习.......................................................... 2

1.2.1经典常规传感器的交叉敏感与传感器的稳定性....................... 2 1.2.2多传感器数据融合改善传感器稳定性的基本原理................... 3 1.2.3数据融合算法简介....................................................................... 4 1.2.4 BP神经网络 ................................................................................. 6

2自主训练模块................................................................................................... 12

2.1实验目的................................................................................................ 12 2.2实验内容............................................................................................... 12

2.2.1基本训练部分一......................................................................... 12 2.2.2基本训练部分二......................................................................... 14 2.2.3用BP 网络训练仪消除压力传感器对工作电流的交叉敏感,提高压力测量精度...................................................................................... 19

2.2.4 组建智能压力传感器系统........................................................ 22

3自主应用模块................................................................................................... 23

3.1实验目的................................................................................................ 23 3.2实验内容................................................................................................ 23 3.3实验步骤................................................................................................ 23

3.3.1 消除压力传感器对温度的交叉敏感........................................ 24 3.3.2消除压力传感器对电流的交叉敏感......................................... 26

4.自主提高模块................................................................................................ 27

4.1 神经网络结构的移植与实测............................................................... 27 4.2思考问题................................................................................................ 28

1

1自主学习模块

1.1书面回答预习问题

1.1.1训练神经网络网络之前,需要进行的三个步骤的准备工作是什么?

训练神经网络网络之前,需要进行的三个步骤的准备工作是:准备训练样本、根据实际情况设置神经网络各层节点数及测量误差目标值与迭代次数(反向传播次数)、输入样本训练及检验。

1.1.2神经网络(例如BP 训练仪)训练的中止条件是什么?将网

络输出结果与期望输出样本比较,计算其偏差。若偏差小于给定的目标值,则训练结束;反之,则要调整网络结构参数,进行新的网络训练,直至偏差小于目标值。如设置网络训练终止条件:如训练代数为1000,均方差指标为1*10-61.1.3

如何根据检验结果判断训练好的网络可用来实测?将检验输入样本

输入训练好的网络,并计算网络输出结果与期望输出样本的偏差。偏差满足实测要求,则可进行实测;反之,则要调整网络结构参数,进行新的网络训练与检验,直至偏差小于目标值。1.2远程测控实验室网上学习与练习

神经网络法以强大的信息处理能力在模式识别、智能控制、组合优化及预测等领域得到了成功应用。本模块以改善一个测量系统性能为例,介绍BP 神经网络在拟合系统输入输出关系、消除系统交叉敏感及改善系统稳定性方面的作用。

1.2.1经典常规传感器的交叉敏感与传感器的稳定性

常规的经典传感器都存在交叉灵敏度。表现在传感器的输出值不只决定于一个标称的目标参量,当其它非目标参量变化时,其输出值也随之发生变化。如:压力传感器,其目标参量压力恒定,而环境温度T或供电电压U/电流I等参量变化时,其输出值也发生变化,则压力传感器就存在对环境温度或供电电压/电流的交叉灵敏度。也就是说,经典压力传感器的标成参量压力P 不是传感器输出电压U 的一元函数,而是与非目标参量温度T,供电电流I 等参量有关的多元函数,即:

U f (P, I,T,) (1-1)

但是,常规做法却是将压力传感器的输入压力P与输出电压U的关系作为一元函数处理,即:

2

U = f (P) (1-2)

常规传感器测量与输出显示系统框图如图1-1所示

图 1-1 常规(压力)传感器测量系统

图 1-1 中,传感器及调理电路单元的静态模型为U = f (x = P),由输入P输出U特性表征,经静态标定实验获得。

信号处理单元的基本功能是进行刻度转换,根据U = f (x = P) 函数关系的反函数P = f -1(U),将接收到的电压U值转换为被测量压力值P输出。称U = f (x = P)函数关系为正模型,其反函数P = f -1(U)为逆模型。由于正模型不能完备代表多元敏感的实际系统,再根据不完备的正模型建立逆模型获得的被测量值将会有很大的误差。例如不同温度条件下的正逆模型U = f (P)与P = f -1(U)如图1-2 所示:

由图示清楚可见,当传感器系统工作环境温度从T1 变至T3,其特性也随之漂移,但仍按T1时之正、逆模型获得的测量值P1’与实际值P1之间存在很大偏离。故存在交叉灵敏度的传感器及其系统性能不稳定,测量结果精度低,准确性差。这是常规经典传感器普遍存在的问题。

1.2.2多传感器数据融合改善传感器稳定性的基本原理

传感器数据融合改善传感器稳定性的基本思路有两个:一是模型法;二是冗余法;本实验介绍模型法,改善稳定性的多传感器----智能传感器系统框图如图1-3所示:

3

(1)传感器单元

x1为主传感器及其调理电路单元。其目标参量为压力x1=P,x2、x3分别为辅传感器及其调理电路单元,它们的目标参量分别是温度x2=T与电流x3=I,这些参量是主传感器的干扰量。每个传感器的输出分别为: 主传感器Yp=Fp(x1,x2,x3)=Fp(P,T,I),是三元函数模型

辅传感器(温度)Yt=Ft(x1,x2,x3)=Ft(T),可用一元函数模型近似 辅传感器(电流)Yi=F1(x1,x2,x3)=Fi(I),可用一元函数模型近似

图 1-3的多传感器—智能传感器系统,是为消除n=2个干扰量(温度T,电流I)改善压力传感器 x1=P(压力)而建立的(m=3)三传感器---智能传感器系统。系统中传感器的总数m等于欲消除的干扰量数n再加1,即:

m=n+1 (1-3)

(2)信号处理单元

图 1-3 种的信号处理单元是在计算机内完成的智能化软件模块,该模块实现将m=3 个传感器输出数据P T I y , y , y 的某种融合算法,建立的由P T I y , y , y 与主传感器目标参量x1=P,也可以是主传感器的干扰量T与I关系的逆模型。由该逆模型的输出值P=x1=g(Yp,Yt,Yi)是消除干扰量T与I影响的更接近实际值P的。

1.2.3数据融合算法简介

改善传感器静态特性,提高系统稳定性的多传感器数据融合算法是建立多传感器输出数据Y1,Y2,…,与主传感器目标参量x 之间的对应关系,该对应关系称为逆模型。如图1-4 所示:

4

m 个传感器的输出1 2 m y、y Ly 与主传感器目标参量x 之间的对应关系---逆模型,有两种类型表示方式:一种是严格的数学解析表达式---回归分析法;另一种是建立某种结构的映射关系---神经网络法或支持向量机法。根据不同神经网络又有:BP误差反向传播神经网络、RBF径向基函数神经网络、GANN遗传神经网络。

(1)回归分析法

1)二传感器信息融合算法m=2

该融合算法可消除一个干扰量,设为温度T,由二维回归方程给出逆模型,所以压力传感器为主传感器,温度传感器为辅传感器作为例子。二传感器的输出量分别为yP=U,yT=UT,二者与主传感器目标参量压力P及干扰量温度T的关系由二维回归方程描述如下:

为了求解式(1-4)中6个未知系数需建立6个方程,36 个已知数据;求解式(1-5)中6个未知系数也需建立6 个方程,36 个已知数据;按最小二乘法原理,由实验标定数据计算出均方误差最小条件下的方程系数,那么测量时由压力传感器输出值U与温度传感器输出值UT就可由式(1-4)计算出被测目标参量P;同理由式(1-5)就可计算出干扰量温度。 2)三传感器信息融合算法m=3

仍以压力传感器为例,该融合算法可消除二个干扰量,设为温度T,供电电流I,添加二个辅传感器:温度与电流传感器。主传感器的目标参量压力P 与干扰量温度T、电流I 的关系由三维回归方程描述如下:

5

根据三维(P、T、I)标定实验数据,按最小二乘法原理,可求得均方误差最小条件下的A0~A9.已知后,测量时,由三个传感器的输出值U、UT、UI值代入式(1-6)中就可计算出被测目标参量压力的值P,其值是消除了干扰量温度T、电流变化的影响的,故是更接近实际压力值P 的更为准确的值。

1.2.4 BP神经网络

BP 神经网络是由于其权值和阈值采用反向传播(Back Propagation)的学习算法而得名。BP 神经网络一般采用三层(输入层、隐层、输出层)网络结构,如图1-5所示。网络中隐层节点和输出节点(神经元)的输入为前一层网络输出的加权和,例如:

BP神经网络是由于其权值采用反向传播(Back Propagation)的学习算法而得名。Rumelhart、McClelland和他们的同事于1982年成立了一个PDP小组,研究并行分布信息处理方法,探索人类认知的微结构,经过3年的努力,于1985年发展了BP神经网络学习算法。BP网络也是一种多层前馈神经网络,其神经元的变换函数是S型函数,因此其输出量为0到1之间的连续量,它可以实现从输入到输出的任意的非线性映射。在确定了BP网络的结构后,利用输入输出样本集对其进行训练,也即对网络的权值和偏置值(bias)进行学习和调整,以使网络实现给定的输入输出映射关系。经过训练的BP网络,对于不是样本集中的输入,也能给出合适的输出,这种性质称为泛化(generalization)功能,因此,BP神经网络具有拉格朗日(Lagrange)插值法、牛顿(Newton)插值法等类似

6

的插值功能,只是拉格朗日(Lagrange)插值法和牛顿插(Newton)值只能用于二维空间的曲线插值,而BP神经网络可实现多维空间的曲面插值。

(1) BP神经网络的神经元模型

BP神经网络一般由多层神经元构成,因此它的神经元可以有多种类型,其神经元的选用需要示具体情况而定。由于BP神经网络是通过误差反向传播来实现的,因此,BP神经网络中的神经元必须是连续可微的,所以,BP神经网络的神经元函数不能选用限幅函数。对于输出范围比较小的网络,可以将其所有的神经元全部选为S型函数,若网络的输出范围比较大,则一般把隐含层神经元选为S型函数,而把输出层神经元选用纯线性函数,从理论上讲,这样选择神经元函数可以任意精度地逼近任意的一个平滑函数。

(2) BP网络结构

BP神经通常有一个或多个隐层。在实际应用中,用得最多的还数三层BP神经网络。如图7-6,是三层BP神经网络的网络模型。网络的输入层包含i个节点,隐层包含j个节点,输出层有k个节点。连接权值w(j, i)表示输入层第i个节点与隐层的第j个节点的连接权值。v(k, j)表示隐层第j个节点与输出层第k个节点的连接权值。

(a)神经

(b) 网

图7-7 BP神经网络

(3) BP神经网络的学习算法 1) 初始化

从BP神经网络的网络结构和神经元的函数可知,BP神经网络本身含有待定的参数,即连接权值和神经元的偏置值(bias),这些参数一般不能象求解方程组一样直接求得,只能亦步亦趋地逐步逼近。BP神经网络的学习过程实质上就是对网络参数的调节过程,使得网络的参数一步一步地从远离最佳点的位置走向最佳位置点。因此,在进行参数调节之前,网络的参数必须有一个初始值,对网络参数的初始值的确定,就是网络的初始化。

BP神经网络参数的初始化在网络的训练中非常重要,如果参数的初始值不合适,网络可能不收敛,或是收敛速度比较慢。通过多方的验证发现,网络的权值随机地在[-1,1]范围内取初始值,而偏置值(bias)在[-3,3]内,网络的收敛速度较快。

7

2) 训练

BP神经网络的训练是通过误差反向传播来实现的,所有参数都是根据总误差对其本身的一阶偏微分来修正的,因此,在网络正式进行训练前,首先要确定总误差对每一参数的偏微分的数学表达式。一般地,神经网络的总误差取为:

E1[y(k)d(k)]22k (7.10)

式中E为某一次训练的总误差,y(k)为网络输出层第k个神经元的实际输出,d(k)为对应于y(k)的期望输出。网络的训练,也就是调整网络的参数,使得E足够小。若网络的神经元函数全部选为对数S型函数,那么网络参数的修正数学表达式的求取如下:

 求总误差对输出层神经元的输入和的偏微分

ykEk[ykdk][ykdk]yk[yk1]pkpk (7.11)

式中pk为输出层第k个神经元的总输入。相应地,总误差对输出层神经元的偏置值(bias)的偏微分为

ykEk[ykdk][ykdk]yk[1yk]kk (7.12)

 求总误差对输出层神经元与隐含层神经元的连接权值的偏微分

vk,jpkEE•kojvk,jpkvk,j (7.13)

式中Oj为隐含层第j个神经元的实际输出。 相应地,总误差对隐含层的输出的偏微分为:

ojEEpk•kvk,jojpkoj (7.14)

 求总误差对隐含层神经元的输入和的偏微分

EEojj•oj[oj1]kvk,jqjojqjk式中qj为隐含层第j个神经元的总输入。

(7.15)

相应地,总误差对隐含层神经元的偏置值(bias)的偏微分为

EEojj•oj[1oj]kvk,jjojjk 求总误差对输入层与隐含层的连接权值的偏微分

(7.16)

wj,i

ojEE•xijwj,iojwj,i8

(7.17)

于是得到网络的参数的修正公式为:

vk,j(t)vk,j(t1)vk,j(t1) (7.18)

k(t)k(t1)(t1) (7.19)

wj,i(t)wj,i(t1)wj,i(t1)j(t)j(t1)(t1)这里η为学习步长。

从上述算法的推导可知,标准的BP算法是一种最速下降静态寻优算法,其参数的修正只按t时刻的负梯度方式进行修正,而没有考虑以前的积累经验,从使得标准的BP算法存在如下的3个主要缺点:

1)收敛速度慢; 2)局部极值;

3)难以确定隐层和隐层节点的个数。

为了克服这些缺点,从事神经网络研究的科学工作者在标准BP算法上作了改进,在对网络参数进行修正时,把以前的学习经验也考虑进去。例如,权值wji的修正公式改为下式:

(7.20)

(7.21)

wji(t)wji(t1)[(1)wji(t1)wji(t2)]这里α为学习率,λ为动量因子,且0≤λ≤1。

(7.22)

这种算法后来被称之为动量法。动量法减小了学习过程的振荡趋势,降低了网络对于误差曲面局部细节的敏感性,能有效地抑制网络陷于局部最小,从而改善了收敛性。

在Matlab环境中,可以用newff函数来创建一个BP神经网络。 §7.2.1.3 径向基函数(RBF)网络

网络的函数逼近角度来说,神经网络可分为全局逼近神经网络和局部逼近神经网络。前面谈到的BP神经网络由于对每个输入输出数据对,网络的每一个权值均需要调整,因此是全局逼近网络。RBF神经网络对于每个输入输出对,只有少量的权值需要进行调整,所以是局部逼近神经网络。也正因为RBF网络的局部逼近特性,使得它在逼近能力、分类能力和学习速度等方面均优于BP网络。

(1) RBF神经网络模型

RBF神经网络的神经元相应函数采用高斯型函数,其神经元模型如图7-8。它同前面所谈到的神经元有所不同,前面谈到的感知器神经元和BP网络的神经元的总输入是对各输入和偏置值(bias)进行加权求和得到,即

x(k)xi(k)i。

而如图7-8所示的RBF网络的神经元的总输入是权值矩阵的行向量与输入向量的

9

向量距与偏置值(bias)的乘积,其数学表达式为:

nibi2(wp)ijjij (7.23)

式中ni为网络隐层第i个神经元的总输入,bi为第i个神经元的偏置值(bias),wij为隐层权值矩阵的第i个行向量的第j个元素,pji是第j个输入向量的i时刻输入值。

RBF神经网络模型同BP网络类似,通常其输出层是纯线性神经元,只是其隐层神经元是称之为radbas型的神经元。RBF神经网络模型如图7-9。

图基神经

(2) RBF神经网络的的训练

由高斯函数的函数表达式可知,其输出最大值为1,当输入向量与权值向量的向量矩减小时,神经元的输出增大。偏置b用来调节高斯函数对输入的灵敏度, b的绝对值越大,神经元对输入越灵敏,也就是说,神经元的响应函数曲线越“宽”。对应于图7-5,也就是函数的输出为0.5时的两个总输入之差的绝对值越大。对于b的取值,一般由训练样本的样本距和样本的范围决定,b的取值大于两个相邻样本点的最大距离,而小于任意两个样本的最大距离。例如,对于一个单输入单输出的RBF神经网络,输入的样本为{-6,-4,0,2,4,7},那么b的取值应大于4而小于13。

RBF神经网络中,其隐层神经元的数量可以说是由样本点的数量来决定,有多少个输入样本点,就有多少个隐层神经元。对于每个隐层神经元的输入,其输出满足下列条件:

1)若是其对应的样本点,我们也称其为该神经元的特征输入点,那么其对应的输出应趋于1;

2)对于非样本点输入,输入与特征输入的点距离越远,则神经元的输出越小。

10

7-9 径向网络模型

因此,RBF神经网络的输入权值是由样本决定的,而与期望输出并没有太大关系。

在输入权值、隐层神经元的偏置值(bias)全部确定好之后,那么隐层的输出也就确定了。由于RBF神经网络的输出层神经元的响应函数是纯线性函数,因此,在选定输出层神经元之后,隐层与输出层之间的神经元连接权值可以由下式确定:

w1,1w1,2w2,1w2,2ws2,1ws2,2w1,s1w2,s1ws2,s1ab11a2b2Tas2bs21 (7.24)

式中wi,j为输出层第i个神经元与隐层第j个神经元的连接权值;bi为输出层第i个神经元的偏置值(bias);aj为隐层第j个神经元的输出向量;T为理想输出矩阵。求解(7.24)式,即可得到输出层与隐层的连接权值。

在Matlab环境中,可以用newrb函数来创建一个RBF神经网络。

11

2自主训练模块

2.1实验目的

1. 掌握BP网络训练仪的使用方法;2. 消除压力传感器对工作电流的交叉敏感,提高压力测量精度。

2.2实验内容

2.2.1基本训练部分一

1. 打开仪器面板,选择example1,此时训练的为“消除气体传感器在四组份混合气体(C2H2,H2,CO,C2H4)中的交叉敏感”。输入的测试样本(b1),测试期望(b2),学习样本(b3),学习期望(b4)分别为 b1=[-0.5925 -0.2594 0.0434 0.3489 0.6501 0.9543 -0.6219 -0.1950

0.2156 0.6272 1.0387 1.4515 -0.6591 -0.0885 0.5292 1.1484 1.76842.3860 -0.7975 -0.0454 0.6647 1.3767 2.0880 2.8030 -1.0451 -0.02750.7300 1.4884 2.2440 3.0020

-0.5897 -0.2576 0.0447 0.3478 0.6510 0.9547 -0.6957 -0.1936 0.21650.6282 1.0395 1.4518 -0.7483 -0.0873 0.5309 1.1503 1.7701 2.3880-0.8387 -0.0431 0.6681 1.3805 2.0900 2.8050 -0.8925 -0.0272 0.72751.4838 2.2400 2.9970

0.3000 0.3000 0.3000 0.3000 0.3000 0.3000 0.4000 0.4000 0.40000.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.60000.7000 0.7000 0.7000 0.7000 0.7000 0.7000 0.7500 0.7500 0.75000.7500 0.7500 0.7500]

b2=[0.0000 0.1000 0.2000 0.3000 0.4000 0.5000 0.0000 0.10000.2000 0.3000 0.4000 0.5000 0.0000 0.1000 0.2000 0.3000 0.40000.5000 0.0000 0.1000 0.2000 0.3000 0.4000 0.5000 0.0000 0.10000.2000 0.3000 0.4000 0.5000]

b3=[-0.5925 -0.1950 0.3666 1.1484 2.0880 -0.5897 -0.1936 0.3670 1.1503 2.0900 0.3000 0.4000 0.5000 0.6000 0.7000]

b4=[0.0000 0.1000 0.2000 0.3000 0.4000]

2. 在参数输入窗中,输入:输入层几点数(3),学习样本组数(30),输出层节

点数(1),隐层节点数(5),测试样本组数(5),训练次数(1000)。 3. 运行程序,从输出窗口看出测试误差,测试样本结果,测试期望值,以

12

及均方差,遗传因子,步长,训练结束时的最大样本误差,还有学习次数与误差图。

13

2.2.2基本训练部分二:

1.在样本文件输入窗中,选择example1, 此时训练的为消除压力传感器在四组份混合气体(C2H2,H2,CO,C2H4)中的交叉敏感, 输入的测试样本(bm1),测试期望(bm2),学习样本(bm3),学习期望(bm4)分别为:

bm1=[ 0.3300 0.3400 0.3500 0.3900 0.4100 0.4200 0.4400 0.4600

0.4900 0.5200 0.5400 0.4400 0.5100 0.3900 0.5600 0.3000 0.35000.4200 0.4400 0.4500 0.4600 0.4600 0.4700 0.7900 0.8300 0.88000.9600 1.0000 1.0700 0.8600 0.9000 0.9500 0.9800 1.0100 1.04000.6200 0.6900 0.7200 0.7500 0.7700 0.8000 0.7600 0.8100 0.85000.8600 0.8800 0.9000 0.7300 0.7600 0.8300 0.9200 0.9500 1.04000.9100 1.0300 1.0600 0.6100 0.7100 0.9200 0.9600

0.7100 0.7300 0.7500 0.7800 0.8000 0.8200 0.8400 0.8600 0.88000.9000 0.9200 0.9600 1.0300 0.8200 1.0700 0.7100 0.8400 0.93001.0200 1.0600 1.1500 1.2400 1.2700 1.5900 1.6700 1.7500 1.86001.9500 2.0400 1.9300 1.9800 2.0300 2.0500 2.0700 2.0900 1.50001.6000 1.6400 1.6600 1.6800 1.7000 1.8500 1.9200 1.9600 2.02002.0600 2.0700 1.8600 1.9600 2.0500 2.1500 2.1800 2.2600 2.07002.0700 2.2000 1.4700 1.7600 2.2500 2.3500

0.9000 0.9900 1.0400 1.1300 1.1900 1.2300 1.2700 1.3100 1.36001.4000 1.4400 2.6300 2.6300 1.9900 2.6100 2.1100 2.5400 1.94002.3700 2.5300 2.7700 2.9600 3.0300 2.5600 2.7100 2.8300 3.01003.1200 3.2500 3.2200 3.2600 3.2800 3.2900 3.3000 3.3100 2.92002.9800 2.9800 2.9900 3.0100 3.0200 3.2300 3.3500 3.4500 3.56003.6700 3.7000 3.4000 3.4500 3.5500 3.6400 3.6600 3.7500 3.77003.8000 3.8200 3.1700 3.4500 3.8400 3.9400

0.6600 0.6800 0.7000 0.7500 0.7700 0.7900 0.8000 0.8200 0.8400

14

0.8700 0.8800 1.8000 1.8100 1.1300 1.8200 1.2000 1.6300 1.22001.5400 1.6600 1.9100 2.1100 2.1600 2.0300 2.1500 2.2500 2.42002.5500 2.6600 2.7100 2.7600 2.7700 2.7700 2.7800 2.7900 2.23002.3200 2.3400 2.3500 2.3600 2.3700 2.7100 2.8200 2.9200 3.03003.1100 3.1400 2.7500 2.9000 3.0000 3.1400 3.1900 3.3200 3.23003.3200 3.3400 2.2600 2.8100 3.3500 3.5400

0.6400 0.6400 0.6500 0.6700 0.6900 0.7000 0.7200 0.7400 0.77000.7900 0.8000 0.9700 1.0100 0.7700 1.0500 0.7200 0.8600 0.87000.9500 1.0400 1.1400 1.2500 1.2700 1.7200 1.7900 1.8300 1.92001.9700 2.0300 2.0500 2.0700 2.0900 2.1000 2.1100 2.1200 1.61001.6600 1.6800 1.7000 1.7100 1.7200 1.9800 2.0200 2.0700 2.11002.1500 2.1600 2.1400 2.1500 2.2200 2.2600 2.2700 2.3300 2.16002.2200 2.2200 1.5500 1.9500 2.4400 2.5700

0.3100 0.3200 0.3300 0.3400 0.3500 0.3600 0.3700 0.3700 0.39000.4000 0.4000 0.4000 0.4300 0.3500 0.4500 0.3100 0.3600 0.41000.4400 0.4500 0.4600 0.5000 0.4500 1.0500 1.0800 1.0700 1.11001.1100 1.1100 1.0400 1.0500 1.0600 1.0600 1.0700 1.0700 0.75000.7500 0.7700 0.7900 0.8000 0.8200 0.9300 0.9400 0.9700 1.01001.0500 1.0700 0.9500 1.0100 1.0400 1.1100 1.1200 1.1500 1.05001.0500 1.1100 0.8000 0.9500 1.2400 1.3500

0.3400 0.3700 0.3800 0.4100 0.4200 0.4400 0.4600 0.4700 0.49000.5100 0.5200 0.5000 0.5500 0.4300 0.5600 0.3600 0.4200 0.54000.5700 0.5600 0.5500 0.6500 0.6300 1.4400 1.4900 1.5100 1.57001.5600 1.6300 1.6000 1.6100 1.6300 1.6300 1.6500 1.6600 1.15001.1900 1.2000 1.2100 1.2200 1.2300 1.3700 1.4000 1.4200 1.43001.4600 1.4700 1.5500 1.5500 1.5900 1.6400 1.6600 1.7000 1.50001.5100 1.5200 1.1100 1.4000 1.8100 1.9400

0.2800 0.2900 0.2900 0.3100 0.3200 0.3300 0.3400 0.3400 0.36000.3800 0.3800 0.4300 0.4600 0.3500 0.4600 0.3200 0.3700 0.36000.4200 0.4300 0.4500 0.5000 0.5000 0.5600 0.6100 0.6000 0.64000.7600 0.8300 0.6400 0.7300 0.6100 0.7700 0.8800 0.8900 0.54000.5700 0.6000 0.6100 0.6200 0.7100 0.8000 0.8300 0.8600 0.91000.9400 0.9600 0.7200 0.7600 0.7900 0.9900 1.0500 0.9500 0.91000.9500 0.9700 0.5500 0.6400 0.8600 0.9600

0.5400 0.5300 0.5400 0.5500 0.5500 0.5500 0.5600 0.5600 0.58000.5800 0.5800 0.5400 0.5500 0.5500 0.5600 0.4800 0.5100 0.57000.5500 0.6000 0.6200 0.6400 0.6400 0.7000 0.7200 0.7400 0.7700

15

0.7600 0.8100 0.7700 0.7800 0.8000 0.8100 0.8200 0.8300 0.66000.6700 0.6800 0.6900 0.7000 0.6900 0.7300 0.7600 0.7700 0.81000.8300 0.8400 0.7500 0.8200 0.8300 0.8600 0.8700 0.8500 0.85000.8600 0.8500 0.7000 0.8200 0.9500 1.0500

0.4400 0.4500 0.4600 0.4800 0.4900 0.5000 0.5100 0.5200 0.53000.5400 0.5500 0.5000 0.5200 0.4900 0.5400 0.4000 0.4500 0.45000.5000 0.5300 0.5400 0.5700 0.5700 0.3300 0.3600 0.3900 0.43000.4500 0.4500 0.4200 0.4400 0.5000 0.5000 0.5400 0.5600 0.44000.6000 0.6200 0.6400 0.6500 0.6700 0.6900 0.7100 0.7600 0.76000.8000 0.8100 0.4400 0.4600 0.5100 0.5300 0.5500 0.6300 0.53000.6000 0.6200 0.6000 0.7200 0.9400 1.0400

0.5700 0.5600 0.5600 0.5700 0.5700 0.5700 0.5700 0.5800 0.58000.5900 0.5900 0.6200 0.6400 0.5700 0.6500 0.5300 0.5800 0.64000.6500 0.7100 0.7500 0.8000 0.8200 0.7300 0.7700 0.8000 0.86000.8600 0.9300 0.9100 0.9300 0.9500 0.9700 0.9800 0.9900 0.81000.8200 0.8300 0.8400 0.8400 0.8500 0.9300 0.9700 1.0200 1.06001.1000 1.1200 1.0500 1.1300 1.1600 1.1900 1.2000 1.2300 1.12001.1600 1.1700 0.8500 1.0300 1.2600 1.3400

0.4900 0.4800 0.4800 0.4900 0.4900 0.5000 0.5000 0.5100 0.52000.5200 0.5300 0.6300 0.6500 0.5200 0.6700 0.4900 0.5600 0.56000.6600 0.6500 0.7600 0.8300 0.8600 0.9200 0.9800 1.0200 1.10001.1400 1.2000 1.1600 1.2000 1.2300 1.2600 1.2700 1.2800 0.89000.9300 0.9500 0.9700 0.9800 0.9800 1.1100 1.1800 1.2500 1.30001.3500 1.3700 1.2300 1.3000 1.3400 1.4100 1.4200 1.4600 1.25001.3600 1.3700 0.8600 1.1000 1.5000 1.6400]

bm2=[ 0.0000 1.0000 2.0000 4.0000 5.0000 6.0000 7.0000 8.00009.0000 10.0000 11.0000 6.0000 9.0000 3.0000 11.0000 1.0000 3.00000.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1.0000 1.0000 1.00001.0000 1.0000 1.0000 1.0000 2.0000 4.0000 6.0000 8.000010.0000 1.0000 3.0000 5.0000 7.0000 9.0000 11.0000 4.0000 4.00004.0000 4.0000 4.0000 4.0000 5.0000 5.0000 5.0000 5.0000 5.00005.0000 1.0000 2.0000 4.0000 2.0000 2.0000 2.0000 2.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.00000.0000 0.0000 4.0000 4.0000 2.0000 4.0000 4.0000 4.0000 3.00005.0000 6.0000 8.0000 10.0000 11.0000 1.0000 1.0000 1.0000 1.00001.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.00002.0000 2.0000 2.0000 2.0000 2.0000 1.0000 3.0000 5.0000 7.0000

16

9.0000 10.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.000010.0000 10.0000 10.0000 4.0000 4.0000 4.0000 4.0000

0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.00000.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.00000.0000 0.0000 0.0000 0.0000 0.0000 100.0000 100.0000 200.0000 100.0000 200.0000 300.0000 200.0000

100.0000 200.0000 100.0000 200.0000 300.0000 100.0000

100.0000 200.0000 100.0000 200.0000 300.0000 200.0000

100.0000 200.0000 100.0000 200.0000 300.0000 300.0000

100.0000

200.0000100.0000200.0000300.0000200.0000

200.0000 100.0000 200.0000 300.0000 200.0000 300.0000

0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.00000.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.00000.0000 0.0000 0.0000 0.0000 0.0000 1.0000 2.0000 3.0000 5.00007.0000 9.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 3.00003.0000 3.0000 3.0000 3.0000 3.0000 4.0000 4.0000 4.0000 4.00004.0000 4.0000 1.0000 2.0000 3.0000 5.0000 6.0000 8.0000 8.00008.0000 8.0000 2.0000 2.0000 2.0000 2.0000]

bm3=[ 0.3700 0.5200 0.3200 0.3800 0.4900 0.4200 0.9100 0.93001.0000 0.7000 0.8400 0.8900

0.7600 1.0400 0.7700 0.8800 1.0000 0.9200 1.8200 2.0100 2.06001.6200 1.9500 2.1200

1.0900 2.6100 2.4200 2.5900 2.6000 2.6300 2.9200 3.2700 3.29002.9800 3.4000 3.6000

0.7300 1.8200 1.4600 1.7000 1.8000 1.7700 2.3400 2.7700 2.77002.3300 2.8700 3.0900

0.6600 1.0300 0.8000 0.8900 0.9900 0.9400 1.8600 2.0900 2.10001.6700 2.0500 2.2500

0.3400 0.4300 0.3400 0.3700 0.4200 0.3500 1.1100 1.0600 1.07000.7600 0.9600 1.0900

0.4000 0.5600 0.4100 0.4500 0.5200 0.4600 1.5500 1.6200 1.63001.2000 1.4100 1.6500

0.2800 0.4700 0.3400 0.3800 0.4400 0.4100 0.6200 0.7600 0.85000.5600 0.8600 0.8900

0.5400 0.5600 0.4900 0.5100 0.5400 0.5300 0.7600 0.7900 0.81000.6800 0.7700 0.8500

0.4700 0.5300 0.4300 0.4600 0.5100 0.4600 0.4100 0.4600 0.5100

17

0.6100 0.7500 0.5300

0.5600 0.6400 0.5600 0.5900 0.6300 0.6100 0.8300 0.9400 0.97000.8300 1.0000 1.1700

0.4900 0.6600 0.5300 0.5800 0.6400 0.6100 1.0600 1.2200 1.27000.9400 1.2200 1.3800]

bm4=[ 3.0000 9.0000 2.0000 4.0000 8.0000 5.0000 1.0000 3.00007.0000 3.0000 5.0000 5.0000

0.0000 4.0000 4.0000 4.0000 4.0000 4.0000 1.0000 1.0000 1.00002.0000 4.0000 5.0000

0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 100.0000 200.0000

100.0000

200.0000

300.0000

200.0000

0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 4.0000 5.0000 5.0000 3.0000 4.0000 4.0000]; 2.入参数如下:输入层几点数(12),学习样本组数(60),输出层节点数(4),

隐层节点数(18),测试样本组数(12),训练次数(1000),可以供实验。 3.行程序,从输出窗口看出测试误差,测试样本结果,测试期望值,以及

均方差,遗传因子,步长,训练结束时的最大样本误差,还有学习次数与误差图。

4.

18

2.2.3用BP 网络训练仪消除压力传感器对工作电流的交叉敏感,提高压力测量精度

本实验使用“NN data 2005”文件夹中的四个样本: p1outdata1.dat, p1outdata2.dat, p1outdata3.dat, p1outdata4.dat,将其输入BP网路设计以进行检验,检验结果如下:

本次实验选择输入层节点数为3,输出层节点数为1,根据样本文件其学习样本组数为30,而测试样本组数为5。通过改变设置隐层节点数和迭代运行次数观察结果的变化。神经网络的隐层响应函数为logsig,输出层响应函数为purelin,迭代次数为1000次。表2-1为多次试验后的数据。

从表中可以看出,当神经网络除了隐层节点数不同,其它参数都相同时,神经网络的计算误差并不是随隐层节点数的增加而减小的。也就是说,我们不能一味的通过增加隐层节点数来挺高神经网络的准确性,隐层节点过少或过多都会是输出值与期望值之间的方差增大。

通过本次实验知道,对于实验所用样本,选择隐层节点数为5会获得最好的效果。

19

表2-1 建立BP神经网络实验数据

输入节点数 3 输出节点数 1 隐层节点数 1 测试样本方差 0.00231359 0.000251556 0.000464382 1.22411E-5 1.0074E-6 4.11082E-5 0.000170398 0.00389089 3 1 2 3 1 3 3 1 4 3 1 5 3 1 6 3 1 7 3 1 8 通过实验还知道,当输入、隐层、输出节点数固定,隐层和输出层响应函数也固定的情况下,迭代次数不同也会造成误差不同,表2-2给出了这些差异。

表2-2 迭代次数对输出误差的影响

隐层节点数 5 5 5 5 迭代运行次数 200 800 1000 1500 20

测试样本均方差 1.06588E-5 8.62903E-5 1.0074E-6 3.52021E-6

5 2000 3.38014E-6 由上表可以看出,对神经网络训练的迭代次数也不是越多越好,对于本次实验,最好的迭代次数应该是1000次。

综上,给出本次实验认为最好的神经网络结构参数及其权值、阈值。 输入层节点数为3,输出层节点数为1,隐层响应函数为logsig,输出层响应函数为purelin,迭代次数为1000次,训练出的神经网络权值与阈值为:

W1——输入层与隐层之间的连接权值: 1号节点与三个输入节点的权值 -1.36029 2号节点与三个输入节点的权值-1.28445 3号节点与三个输入节点的权值-5.10395 4号节点与三个输入节点的权值-4.69643 4号节点与三个输入节点的权值28.7084

W2——隐层与输出层之间的连接权值 -0.919025 -0.444968 8.35203

隐层阈值

-0.271335 -2.32456

输出层阈值 1.38045 测试样本 期望输出 测试样本实际输出 -0.000339985 0.0996224 0.197828 0.299973 0.400237 0 0.1 0.2 0.3 0.4

2.6675

2.5211 46.4856 -8.98434

-0.0100247

0.852558 0.237155 4.16139 3.77235 8.21699

2.18735 12.7179 -6.33347 -6.10966 -27.5779

测试样本均方差为1.0074E-6。

21

2.2.4 组建智能压力传感器系统

进行实验标定,获得电流波动条件下的实验数据。(一)智能压阻式压力传感器的组建流程(二)预习问题(1)写出有各环节灵敏度表达式组成的K的表达式①压力传感器的灵敏度S1=△E/△P②A/D转换器的量化值Q= 0.0024 灵敏度SA/D=△D/△V③放大器的灵敏度K=△V/△E④全系统的总灵敏度S总=△D/△P⑤EVD由各环节灵敏度表达的放大倍数的表达式K=PEV⑥计算压力测量系统分辨力为1K时,需加的最小放大倍数K,此时D1,P1KPa压力传感器的灵敏度S=△D/△P=10-3(三)虚拟数字电压表的设计虚拟数字电压表前面板虚拟数字电压表框图程序

(四)智能压力传感器系统实验标定结果

U(mv) P(MPa ) j i 行程 (ImA) 1 正向 反向 2 正向 反向 3 正向 反向 4 正向 反向 5 正向 反向 7 6.5 6 5.5 5 0 2.48 2.9 -0.12 -0.62 -0.63 0.68 0.36 0.46 0.12 -0.25 0.1 5.96 6.33 4.15 3.13 4.03 5.21 4.72 5.93 5.59 5.21 0.2 9.24 9.72 8.27 7.64 8.7 9.1 10.33 10.99 10.93 10.37 0.3 12.7 13.16 12.24 11.09 13.27 13.85 15.56 15.92 16.12 16.14 0.4 16.72 16.58 16.33 15.43 18.27 18.19 20.63 20.86 21.38 21.08 0.5 20.46 20.38 20.46 20.07 23.09 22.64 25.67 25.81 26.51 26.47 0.6 23.98 23.98 24.32 24.32 27.32 27.32 30.65 30.65 31.44 31.44 1 2 3 4 5 6 7 (五)智能压力传感器系统实验标定结果压力传感器电流灵敏度系数

I1U(I2)U(I1)31.4423.980.1555/mA(I2I1)U(I1)(7-5)23.98Uom2.9(0.63)0.022/mAIUFS(72)31.44压力传感器零位电流灵敏度系

0数

22

3自主应用模块

3.1实验目的

1、进一步掌握BP 网络结构设计仪的使用;2、掌握神经网络训练样本与测试样本的排列;3、消除压力传感器对干扰量(温度、工作电流)的交叉敏感;4、掌握评价系统稳定性的方法。3.2实验内容

1、消除压力传感器对干扰量(温度、工作电流)的交叉敏感。2、自制样本文件:采用教材《智能传感器系统》270 页表6-4 中JCY-101 型压力传感器的二维实验标定数据按照BP 网络的样本格式自制样本文件。3.3实验步骤

23

3.3.1 消除压力传感器对温度的交叉敏感(1)自制样本文件:采用教

材《智能传感器系统》270 页表6-4 中JCY-101 型压力传感器的二维实验标定数据按照BP 网络的样本格式,并以“NN data 2005”文件夹中的4 个样本文件p1outdata1.dat, p1outdata2.dat, p1outdata3.dat, p1outdata4.dat 为例,自制4个样本文件。(2)输入样本,进行网络的训练与检验:将自制的4 个样本文件,例如pressuresensor2.dat,pressuresensor2_01.dat,pressuresensor2test.dat,pressuresensor2testexpect.dat 依次输入BP 网络结构设计仪,进行BP网络的训练与检验,获得检验结果及BP网络的结构参数,并记入表中,作为实验报告的内容提交。(2)调节BP 网络训练参数,在不同的参数条件下,训练并检验BP 网络,获得不同的检验结果及BP 网络结构参数,并记入表中,作为实验报告的内容提交。(3)比较不同条件下的测试均方差,给出最小均方差时的网络结构参数,列出此时的检验结果与检验样本的期望输出值及其偏差的绝对值,并记入表中,作为实验报告的内容提交。一、样本文件的制作采用教材《智能传感器系统》270 页表6-4 中JCY-101 型压力传感器的二维实验标定数据按照BP 网络的样本格式自制样本文件 压力104Pa温度 21.5℃ 28℃ 34℃ 44℃ 50℃ 70℃

1.样本数据对

神经网络样本文件有两种:分别用以对神经网络进行训练或检验用的训练样本文件和检验样本文件。由二维标定实验中的36个标定点,获得36组实验标定数据或者说获得36组样本数据对。如表所示。样本数据对(以下简称样本对),由

24

0 1.0 10.69 26.95 9.32 33.93 7.54 36.92 6.56 53.97 4.86 64.79 3.72 84.94 2.0 28.88 26.43 26.34 33.47 24.84 36.44 23.87 52.87 21.84 63.84 21.25 83.78 3.0 47.05 25.92 43.12 32.93 42.05 35.97 41.21 52.41 38.70 62.91 38.6 82.65 4.0 65.19 25.45 59.99 32.47 59.25 35.39 58.58 51.93 56.32 61.99 55.56 81.55 5.0 83.36 24.94 76.82 31.91 76.38 35.09 75.87 51.55 73.75 61.06 73.28 80.45 UP /mV -13.84 UT/mV 27.64 UP /mV -13.49 UT/mV 34.41 UP /mV -10.80 UT/mV 37.76 UP /mV -9.72 UT/mV 54.88 UP /mV -8.62 UT/mV 65.77 UP /mV -7.72 UT/mV 86.12

输入量与对应输出量两部分组成,下表中每个序号的样本对含输入量有三个:Up、UT与T,对应期 望输出量为P。 序号 Up/mV UT/mV T /C P/104Pa

2.样本文件的制作通常,从标定实验获得的样本数据对总数(本实验的样本对总数为36)中的1/2-2/3,用做神经网络的训练形成训练样本文件,形成网络结构及权值;再用余下的1/2-1/3的样本数据对形成检验样本文件,进行神经网络的检验。(1)训练样本文件训练样本文件有个文件组成。装入了表中除了序号为1、8、15、22、29、36六组样本对以外全部30组样本对。形成30列3行训练用输入样本文件pressuretemperature1.txt,装载的是神经网络的输入数据UT与Up;pressuretemperature2.txt文件有一行30列数据是与输入样本数据相对应的神经网络的期望输出值P。即两个文件的每列是一组样本数据对。文件中每行的样本数据要求等间隔排列,以便程序能够正确读取样本文件数据。

pressuretemperature1.txt: 21.5 21.5 21.5 21.5 21.5 28 28 28 …… 70 70 70 7010.69 28.8 47.05 65.19 83.36 -13.49 26.34 43.12 …… 3.72 21.25 38.6 55.56 26.95 26.43 25.92 25.45 24.94 34.41 33.47 32.93 …… 84.94 83.78 82.65 81.55b2.txt: 1.0 2.0 3.0 4.0 5.0 0.0 2.0 3.0 …… (2)检验样本文件 由pressuretemperature3.txt与

pressuretemperature4.txt两个文件组成,装载了表6-2中序号为1、8、15、22、29、36共计M=6个样本数据对。pressuretemperature3.txt: -13.84

1 -13.84 27.64 21.5 0 2 3 … … … … … 33 21.25 83.78 70 2.0 3.0 38.6 34 82.65 70 4.0 35 55.56 81.55 70 5.0 36 73.28 80.45 70 10.69 28.88 26.95 26.43 21.5 1.0 21.5 2.0 9.32 24.84

28

41.21 56.32 73.2827.64 33.93 36.44

25

52.41 61.99 80.4521.5

34 44 50 70pressuretemperature4.txt:0 1.0 2.0 3.0 4.0 5.0训练结果:

结果分析:测试样本均方差过大,可能原因为测试样本偏差过大。对比 “NN data 2005”文件夹中的4 个样本文件p1outdata1.dat, p1outdata2.dat, p1outdata3.dat, p1outdata4.dat训练样本为p1outdata1.dat(输入样本)和p1outdata2.dat(期望输出样本)p1outdata1.dat中30组数据为0.3000

0.4000 0.6000 0.7000 0.7500各6

0.1000 0.2000 0.3000

组p1outdata2.dat中30组数据为5组重复数据0.0000 输出样本)p1outdata3.dat中5组数据为-0.5925

0.4000 0.5000检验样本为p1outdata3.dat(输入样本)和p1outdata4.dat(期望

-0.1950 0.3666 1.1484

0.4000 0.5000

2.0880-0.5897 -0.1936 0.3670 1.1503 2.09000.3000

0.6000 0.7000p1outdata4.dat中5组数据为0.0000 0.1000 0.2000 0.30000.4000检验样本和训练样本的差异在于第三行0.7500和0.5000时修改

pressuretemperature1.txt,pressuretemperature2.txt,pressuretemperature3.txt,pressuretemperature4.txt中文件与事例中一致二、调节BP网络训练参数,在不同的参数条件下,训练并检验BP网络,获得不同的检验结果及BP网络结构参数。

①隐层响应函数变化 测试均方差最小时 隐层响应函数为tansig 输出层响应函数为purelin②输出层响应函数变化③隐层节点数变化④迭代次数变化三、比较不同条件下的测试均方差,最小均方差时的网络结构参数时的检验结果与检验样本的期望输出值及其偏差的绝对值测试样本均方差最小为4.9428*10-5时 网络结构参数为:输入层节点数 3 ;隐层节点数 5 ;输出层节点数1;迭代次数1000;

隐层响应函数 tansig 输出层响应函数purelin训练样本组数30 ;测试样本组数5;检验结果与检验样本的期望输出值及其偏差的绝对值依次为:0.00134,0.0143,0.0038,0.0047,0.0006;(4)根据教材《智能传感器系统》270页温度灵敏度系数的计算方法,计算压力传感器融合前后的温度灵敏度系数

T1和T2,并进行比较分析,作为实验报告的内容提交。

T1U(t2)-U(t1)55.5665.193.05103/C(t2t1)U(t1)(21.5-70)65.19Pmax0.12476.23104/C压力传感器融合前后

(t2-t1)PFS(21.5-70)4.1247的温度灵敏度系数明显减小。3.3.2消除压力传感器对电流的交叉敏感采用

T2自主训练中通过压力传感器的组建及实验标定获得的实验数据,自制样本,建立BP 网络结构,消除工作电流波动带来的测量误差

26

实验结果分析:数据融合前压力传感器电流灵敏度系数

U(I2)U(I1)31.4423.980.1555/mA压力传感器零位电流灵敏度系

(I2I1)U(I1)(7-5)23.98Uom2.9(0.63)0.022/mA数据融合后压力传感器电流灵敏度系IUFS(72)31.44I1数0Pmax0.00070.00087/mA压力传感器零位电流灵敏度系数数I2(I2-I1)PFS(5-7)0.4I2Pmax0.00050.0005/mA(I2-I1)PFS(5-7)0.5数据融合后压力传感器电流灵敏度系

数和压力传感器零位电流灵敏度系数明显下降。4.自主提高模块

4.1 神经网络结构的移植与实测

(1) BP 网络结构的移植:采用训练并检验好的BP 网络参数,自行编写BP 网络程序(编程语言不限),实现BP 网络的9 个算式-式(1-22)至(1-30);程序源

27

代码如下:function y=BPyizhi2(x1,x2,x3);w=[-7.79552 6.05195 8.1161; -13.1893 10.0406 13.1589; 24.8522 -19.4954 -25.4323; -1.11802 10.0333 -1.73918; 15.3437 -11.3027 -6.9948]; % 输入层与隐层权值

v=[26.1427 -0.60172 0.872525 0.10311 0.22093];%隐层与输出层权值b=[2.65303 -2.59954 2.80781 3.89045 2.22736];%隐层阈值for i=1:5 I(i)=w(i,1)*x1+w(i,2)*x2+w(i,3)*x3+b(i)endfor i=1:5 O(i)=1/(1+exp(-I(i)))endy=0for i=1:5

y=y+O(i)*v(i)endy=y-25.5413;%-25.5413为输出层阈值y (2) 实测:运行编写的程序,输入测试样本中的一组输入样本,获得实测输出结果,并将该输出的偏差与实验步骤中获得的测试样本网络输出值的偏差进行比较,并进行说明。实测运行结果:BPyizhi2(-0.5925,-0.5897,0.3) y = 3.3364e-005BPyizhi2(-0.1950,-0.1936,0.4) y = 0.09941185436516BPyizhi2(0.3666,0.3670,0.5) y = 0.19827724458149BPyizhi2(1.1484,1.1503,0.6) y = 0.30062903196430BPyizhi2(2.088,2.09,0.7) y =

0.39918832438687结果分析:在小数点后第四位出现偏差,原因可能是学习输出结果的显示位数有限,隐层和输出层响应函数与实际函数关系有一定的偏差。

4.2思考问题

1、 总体来说,测试样本误差与训练样本误差,哪个大?为什么?测试样本误差大,测试样本数据量小于训练样本,网络的逼近能力差。2、 如果网络是三个输入,样本如何排列?输入样本第一行为输入层节点一的数据;入样本第二行为输入层节点二的数据;输入样本第三行为输入层节点三的数据。3、 分析训练代数对压力传感器检验结果精度的影响。训练代数取值应使测试样本均方差变化越来越小最终趋于稳定,训练代数过小时测试样本均方差较大测试样本均方差尚未达到稳定状态,训练代数过大时过了测试样本均方差的稳定状态后继续样本均方差变化不大训练无意义。

28

因篇幅问题不能全部显示,请点此查看更多更全内容