1、第6章神经网络技术与其在智能传感器系统中的应用 第6章神经网络技术与其在智能 传感器系统中的应用6.1概述概述6.2神经网络基础知识神经网络基础知识6.3示例示例第6章神经网络技术与其在智能传感器系统中的应用6.1 概概 述述人工神经网络(Artificial Neuron Networks,ANN)是由大量的处理单元组成的非线性大规模自适应动力系统。它是在现代神经生理科学研究成果的基础上提出来的,是人们试图通过模拟大脑神经网络处理、记忆信息的方式设计的一种使之具有人脑那样的信息处理能力的新“机器”。第6章神经网络技术与其在智能传感器系统中的应用Konhonen曾给出一个神经网络的定义,他指出
2、神经网络是由一些简单的(通常为自适应的)单元及其层次组织的大规模并行联结构造的网络,它致力于按照生物神经系统的同样方式处理真实世界的客观事物,从而反映了人脑功能的若干特征,但并非神经系统的真实描写,而是它的简化、抽象和模拟。第6章神经网络技术与其在智能传感器系统中的应用神经网络的研究可以追溯到19世纪40年代。1943年,心理学家麦克洛奇(W.McCulloch)和数理逻辑学家皮兹(W.Pizz)在数学生物物理公报(Bulletin of Mathematical Biophysics)上发表了关于神经网络的数学模型。这个模型后来一直被称为M-P神经网络模型。他们总结了神经元的一些基本生理特征
3、,提出神经元形式化的数学描述和网络的结构方法,神经网络的研究从此开始了。第6章神经网络技术与其在智能传感器系统中的应用到19世纪70年代,虽然由于人工智能、专家系统的发展,使得神经网络的发展一度出现低潮,但神经网络的研究并没有因此停滞不前,80年代神经网络又重新兴起。目前神经网络广泛应用于传感器信息处理、信号处理、自动控制、知识处理、运输与通信等领域。第6章神经网络技术与其在智能传感器系统中的应用6.2 神经网络基础知识神经网络基础知识6.2.1 神经网络结构神经网络结构1.分层网络结构分层网络将一个神经网络模型中的所有神经元按功能分成若干层,通常有输入层、隐层(中间层)和输出层,各层按顺序连
4、接,如图6-1所示。输入层是与外部激励打交道的界面,它接受外部输入模式,并由各输入神经单元传给与之相连的隐层各神经元;隐层(中间层,可以不只一层)是网络内部处理单元的工作区域。第6章神经网络技术与其在智能传感器系统中的应用不同模型的处理功能差别主要反映在对中间层的处理上。输出层将网络计算结果输出,是与外部显示设备或执行机构打交道的界面。同层之间神经元互不相连,相邻层神经元之间的连接强度由连接权值表示。wji为隐层第j个神经元与输入层第i个神经元之间的连接权值;vkj为输出层第k个神经元与隐层第 j个神经元之间的连接权值。第6章神经网络技术与其在智能传感器系统中的应用图6-1 分层网络功能层次第
5、6章神经网络技术与其在智能传感器系统中的应用2.相互连接型网络结构所谓相互连接型网络,是指网络中任意两个单元之间是可达的,即存在连接路径,如图6-2所示。在该网络结构中,对于给定的某一输入模式,由某一初始网络参数出发,在一段给定的时间内网络处于不断改变输出模式的动态变化之中。最后,网络可能会产生某一稳定输出模式,但也有可能进入周期性振荡状态。因此,相互连接型网络可以认为是一种非线性动力学系统。第6章神经网络技术与其在智能传感器系统中的应用图6-2 相互连接型网络第6章神经网络技术与其在智能传感器系统中的应用6.2.2 神经元模型神经元模型神经元是人工神经网络的基本单元,图6-3所示为一个简单的
6、人工神经元模型。p1,p2,pi,pR表示神经元(序号l)的R个输入;wlj表示该神经元(序号为l)与前层第i个神经元的连接权值;b为偏置值,又称阈值;a为神经元的输出,神经元的输入与输出关系的一般数学表达式如下:)(1nfawpbnRilii(6-1)第6章神经网络技术与其在智能传感器系统中的应用其中:n为该神经元(序号l)的总输入;f(n)为表示神经元输入输出关系的函数,称为作用函数、响应函数或传递函数。当b=0时,称为无偏置/无阈值神经元;当b0时,表示当神经元所接受的输入达到一定强度后,才能被激活,称为有偏置/阈值神经元;当R=1时,为单输入神经元;当R1时,称为多输入或矢量输入神经元
7、,此时连接权wl1,wl2,wli,wlR组成一矢量。第6章神经网络技术与其在智能传感器系统中的应用图6-3 神经元模型第6章神经网络技术与其在智能传感器系统中的应用6.2.3 神经元作用函数神经元作用函数1.S型作用函数S型作用函数反映了神经元的非线性输入输出特性,它又分为对数型、正切型等多个类型。(1)对数型(logsig):输入输出特性采用对数函数表示,其函数曲线如图6-4(a)所示,数学表达式如下:第6章神经网络技术与其在智能传感器系统中的应用nnfae11)((6-2)其中:n表示神经元的总输入;a 为神经元的输出。函数f(n)的值域为(0,1),是一个单边函数;如果将f(n)减去0
8、.5就可得到一个双边函数。(2)正切型(tansig):函数曲线如图6-4(b)所示,数学表达式如下:1e122na(6-3)第6章神经网络技术与其在智能传感器系统中的应用图6-4 S型神经元作用函数(a)对数型sig函数;(b)正切型sig函数第6章神经网络技术与其在智能传感器系统中的应用2.线性型(line)(1)饱和线性函数:函数曲线如图6-5(a)所示,数学表达式如下:111 00 0nnnna如果如果如果(6-4)第6章神经网络技术与其在智能传感器系统中的应用图6-5 线性作用函数(a)饱和线性函数;(b)对称饱和线性函数;(c)纯线性函数第6章神经网络技术与其在智能传感器系统中的应
9、用(2)对称饱和线性函数:函数曲线如图6-5(b)所示,数学表达式如下:nnnna111 111如果如果如果 (6-5)(3)纯线性函数:函数曲线如图6-5(c)所示,数学表达式如下:a=n (6-6)第6章神经网络技术与其在智能传感器系统中的应用3.硬限幅型(hardlim)(1)硬限幅函数:函数曲线如图6-6(a)所示,数学表达式如下:其它若00 1na(6-7)(2)对称硬限幅函数:函数曲线如图6-6(b)所示,数学表达式如下:其它若00 1na(6-8)第6章神经网络技术与其在智能传感器系统中的应用图6-6 硬限幅作用函数(a)硬限幅函数;(b)对称硬限幅函数第6章神经网络技术与其在智
10、能传感器系统中的应用4.高斯型函数(Gauss)高斯型函数的函数曲线如图6-7所示,数学表达式如下:a=en2 (6-9)高斯函数的输出为1和0.5时所对应的输入之间的差值称为函数的分散度(spread),明显地,对应于式(6-9)的分散度为0.833。高斯神经元函数通常用作RBF网络的隐层传递函数。第6章神经网络技术与其在智能传感器系统中的应用图6-7 高斯型函数第6章神经网络技术与其在智能传感器系统中的应用对于神经元作用函数的选择,目前还没有定性的法则,一般根据应用情况的不同而定,但对于S型非线性函数,一般用于多层神经网络的隐层,而线性函数和限幅函数则多用于神经网络的输出层。大脑中的各个神
11、经元之间的连接方式多种多样。根据大脑中神经元连接方式的不同,我们同样可以构造出各种各样的人工神经网络模型。就目前常用的比较成熟的网络而言,可以从不同的角度进行分类。第6章神经网络技术与其在智能传感器系统中的应用若从网络的结构上进行分类,可将神经网络分为前馈神经网络和反馈神经网络。有代表性的网络模型有感知器、多层映射BP、RBF、双向联想记忆(BAM)、Hopfield模型等,它们是从不同的角度对生物神经系统不同层次的描述和模拟。利用这些网络模型可实现函数逼近、数据采集聚类、模式分类、优化计算等功能。因此,神经网络广泛应用于人工智能、自动控制、机器人、统计学等领域的信息处理中。第6章神经网络技术
12、与其在智能传感器系统中的应用6.2.4 BP神经网络神经网络1.BP神经网络BP神经网络由于其权值采用反向传播(Back Propagation)的学习算法而得名。Rumelhart、McClelland和他们的同事于1982年成立了一个PDP小组,研究并行分布信息处理方法,探索人类认知的微结构,经过三年的努力,于1985年发展了BP神经网络学习算法。BP网络是一种多层前馈神经网络,其神经元的变换函数是S型函数,因此其输出量为0到1之间的连续量,它可以实现从输入到输出的任意的非线性映射。第6章神经网络技术与其在智能传感器系统中的应用在确定了BP网络的结构后,利用输入输出样本集对其进行训练,也即
13、对网络的权值和偏置值(bias)进行学习和调整,以使网络实现给定的输入输出映射关系。经过训练的BP网络,对于不是样本集中的输入,也能给出合适的输出,这种性质称为泛化(generalization)功能。因此,BP神经网络具有拉格朗日(Lagrange)插值法、牛顿(Newton)插值法等类似的插值功能,只是拉格朗日插值法和牛顿插值法只能用于二维空间的曲线插值,而BP神经网络可实现多维空间的曲面插值。第6章神经网络技术与其在智能传感器系统中的应用2.BP网络结构BP神经网络通常有一个或多个隐层。在实际应用中,用得最多的是三层BP神经网络。图6-8和图6-9所示为一个简单的三层BP网络模型。网络的
14、输入层包含i(i=3)个节点,隐层包含j(j=4)个节点,输出层有k(k=2)个节点。连接权值Iwji表示输入层第i个节点与隐层的第j个节点的连接权值,共有43个权值。Lwkj表示隐层第j个节点与输出层第k个节点的连接权值,共有24个连接权值。第6章神经网络技术与其在智能传感器系统中的应用图6-8 BP网络模型第6章神经网络技术与其在智能传感器系统中的应用图6-9 BP网络模型示意图第6章神经网络技术与其在智能传感器系统中的应用3.BP神经网络的神经元模型对于图6-9 所示BP网络模型的神经作用函数选用情况如下:(1)输入层神经元作用函数。输入层神经元作用函数选为纯线性函数,故节点i的输出为
15、Oi=pi (6-10)其中,pi为第i个节点的输入。第6章神经网络技术与其在智能传感器系统中的应用(2)隐层神经元作用函数。隐层神经元作用函数选用对数S型函数,故节点j的输出为1111e11)(jnjjanfOj(6-1)节点j的总输入:jRijiijbwOn1311I(6-11)第6章神经网络技术与其在智能传感器系统中的应用(3)输出层神经元作用函数。输出层神经元作用函数选对数S型函数。节点k的输出:knkknfO2e11)(22(6-13)节点k的总输入:kljkjjkbwOn24122L(6-14)第6章神经网络技术与其在智能传感器系统中的应用 4.BP神经网络的学习算法当权值Iwji
16、(lR个)、Lwkj(ml个)与阈值 b1j(l个)、b2k(m个)随机赋予初始值、确定分组输入p1,p2,pR后,根据式(6-10)、(6-11)、(6-13)、(6-14)进行计算,就可得出输出层节点k的输出O2k与期望输出dk存在误差,输出层m个节点的总误差E取为212221mkkkOdE(6-15)第6章神经网络技术与其在智能传感器系统中的应用网络学习也称为网络训练,就是通过反复的计算,求取E,根据E的大小调整网络参数,最终使得误差E足够小。网络权值参数的修正数学表达式求取所遵循的规则称为学习规则,其基本思想是:使权值沿误差函数E的负梯度 方向改变,即wEkjkjkjkjwEtwtww
17、L)(L)1(LLjijijijiwEtwtwwI)(I)1(II(6-16)(6-17)其中,为学习因子,又称步长。第6章神经网络技术与其在智能传感器系统中的应用(1)输出层训练误差2k:kkkkknOOEnE2222(6-18)根据误差定义式(6-15)及式(6-13)、(6-14),可求得)()(222kkkkknfdOdOE(6-19)第6章神经网络技术与其在智能传感器系统中的应用将式(6-19)、(6-20)代入式(6-18),得根据式(6-13)、(6-14)可得)(1)()(2222kkkkknfnfnfnO(6-20))()(1)(2222kkkkknfdnfnf(6-2)第6
18、章神经网络技术与其在智能传感器系统中的应用(2)隐层训练误差1j:jjjjjnOOEnE11111(6-22)根据式(6-11)可得)(1)()(11111jjjjjnfnfnfnO(6-23)第6章神经网络技术与其在智能传感器系统中的应用根据式(6-18)、(6-14)可得4111111IljkjkjkkjwOnnEOE(6-24)将式(6-23)、(6-24)代入式(6-22),得411111I)(1)(ljkjkjjjwnfnf(6-25)第6章神经网络技术与其在智能传感器系统中的应用(3)权值修正公式。Lwkj的修正公式:将式(6-16)变换为jkkjkkkjkjOwnnEwEw222
19、2LLL(6-26)其中;22kknEkjkjwnOL22则有jkkjkjOtwtw22)(L)1(L(6-27)第6章神经网络技术与其在智能传感器系统中的应用 Iwji的修正公式:将式(6-17)变换为ijjijjjijijiOwnnEtwtww1111I)(I)1(II(6-28)其中;11jjnEjijiwnOI11则有ijjijiOtwtw11)(I)1(I(6-29)第6章神经网络技术与其在智能传感器系统中的应用引入势态因子,最后修正公式变为)1(I)(I)(II)1(L)(L)(LL1122twtwOtwwtwtwOtwwjijiijjijikjkjjkkjkj(6-30)(4)学
20、习流程图。BP网络的一个样本的学习流程如图6-10所示。第6章神经网络技术与其在智能传感器系统中的应用图6-10 BP网络训练过程及算法流程第6章神经网络技术与其在智能传感器系统中的应用 网络初始化,随机设定连接权值Iwji、Lwkj,阈值b1j、b2k,学习因子,势态因子。向具有上述初始值的神经网络提供输入学习样本和序号。计算隐层单元输出值。计算输出层单元的输出。计算输出层和隐层训练误差2k、1j。修正权值。判断均方误差e是否满足给定允许偏差。当满足时转到,否则转向、和。结束训练。第6章神经网络技术与其在智能传感器系统中的应用6.2.5 径向基(径向基(RBF)神经网络)神经网络1.RBF神
21、经网络模型RBF神经网络的神经元作用函数采用高斯型函数,其神经元模型如图6-11所示。它同前面所谈到的神经元有所不同,前面谈到的BP网络的神经元的总输入是对各输入和偏置值(bias)进行加权求和得到的,而如图6-11所示的RBF网络的神经元的总输入是权值矩阵的行向量与输入向量的向量距与偏置值(bias)的乘积,其数学表达式为 第6章神经网络技术与其在智能传感器系统中的应用jjiijiipwbn2)((6-31)其中:ni为网络隐层第i个神经元的总输入;bi为第i个神经元的偏置值(bias);wij为隐层权值矩阵的第i个行向量的第j个元素;pji是第j个输入向量的i时刻输入值。第6章神经网络技术
22、与其在智能传感器系统中的应用图6-11 径向基神经元第6章神经网络技术与其在智能传感器系统中的应用RBF神经网络模型同BP网络类似,通常其输出层是纯线性神经元,只是其隐层神经元是称之为radbas型的神经元。RBF神经网络模型如图6-12所示。第6章神经网络技术与其在智能传感器系统中的应用图6-12 径向基神经网络模型第6章神经网络技术与其在智能传感器系统中的应用2.RBF神经网络的训练由高斯函数的函数表达式可知,其输出最大值为1,当输入向量与权值向量的向量距减小时,神经元的输出增大。偏置b用来调节高斯函数对输入的灵敏度,b的绝对值越大,神经元对输入越灵敏,也就是说,神经元的响应函数曲线越“宽
23、”。对应于图6-7,也就是函数的输出为0.5时的两个总输入之差的绝对值越大。第6章神经网络技术与其在智能传感器系统中的应用对于b的取值,一般由训练样本的样本距和样本的范围决定,b的取值大于两个相邻样本点的最大距离,而小于任意两个样本的最大距离。例如,对于一个单输入单输出的RBF神经网络,输入的样本为6,4,0,2,4,7,那么b的取值应大于4而小于13。(1)若是其对应的样本点,我们也称其为该神经元的特征输入点,那么其对应的输出应趋于1;第6章神经网络技术与其在智能传感器系统中的应用(2)对于非样本点输入,输入与特征输入的点距离越远,则神经元的输出越小。因此,RBF神经网络的输入权值是由样本决
24、定的,而与期望输出并没有太大关系。在输入权值、隐层神经元的偏置值(bias)全部确定好之后,隐层的输出也就确定了。由于RBF神经网络的输出层神经元的响应函数是纯线性函数,因此,在选定输出层神经元之后,隐层与输出层之间的神经元连接权值可以由下式确定:第6章神经网络技术与其在智能传感器系统中的应用T,1221211222122112222111211ssssssssaaabbwwbwwwwwww(6-32)第6章神经网络技术与其在智能传感器系统中的应用其中:wij为输出层第i个神经元与隐层第j个神经元的连接权值;bi为输出层第i个神经元的偏置值(bias);aj为隐层第j个神经元的输出向量;T为理
25、想输出矩阵。求解式(6-32),即可得到输出层与隐层的连接权值。第6章神经网络技术与其在智能传感器系统中的应用6.3 示示 例例6.3.1 示例示例6-1基于神经网络模型法温度基于神经网络模型法温度自补偿智能化模块的设计自补偿智能化模块的设计具有温度补偿功能,可对易受环境温度影响的传感器,如压阻式压力传感器进行温度补偿;该补偿器中的神经网络模块可更换学习样本进行再训练以适应不同压力量程的传感器在不同工作环境温度影响下进行温度补偿,提高温度稳定性;第6章神经网络技术与其在智能传感器系统中的应用 网络训练完毕后,输入压力传感器量程范围内的任何输出电压值UP与其工作环境温度传感器的输出电压值UT,补
26、偿模块可给出对应的压力值,该压力值P在消除温度影响的同时也进行了零点及非线性补偿。写出BPNN(BP神经网络)温度自补偿模块向其他计算机系统移植复现的编程算式。综合评价压力传感器配备了BPNN温度自补偿模块后的性能。第6章神经网络技术与其在智能传感器系统中的应用解:构建一个具有温度自补偿功能的二传感器数据融合智能传感器系统,其中一个是辅助传感器,用来监测干扰量温度T;另一个是被补偿的主传感器压力传感器。系统如图6-13所示。第6章神经网络技术与其在智能传感器系统中的应用图6-13 二传感器数据融合智能传感器系统第6章神经网络技术与其在智能传感器系统中的应用1.二维标定实验在工作温度范围内选定多
27、个不同的温度状态对被补偿的压力传感器进行标定实验,表6-1 列出了在21.570间6个温度状态的静态标定数据,在压力传感器量程范围内选了6个标定值,总计有36个标定点,可获得6个温度状态对应的6条压力传感器的输入(P)输出(UP)静态特性,也称这些标定值为样本数据。第6章神经网络技术与其在智能传感器系统中的应用第6章神经网络技术与其在智能传感器系统中的应用2.神经网络样本文件的制作 1)样本数据对由二维标定实验中的36个标定点,获得36组实验标定数据或者说获得36组样本数据对,如表6-2所示。样本数据对(以下简称样本对)由输入量与对应输出量两部分组成,表6-2中每个序号的样本对含有三个输入量:
28、UP、UT与T,对应期望输出量为P。第6章神经网络技术与其在智能传感器系统中的应用第6章神经网络技术与其在智能传感器系统中的应用2)样本文件的制作 (1)训练样本文件。训练样本文件由b1.txt与b2.txt两个文件组成,装入了表6-2中除了序号为1、8、15、18、19、22、29、36八组样本对以外的其余28组样本对,形成28列3行训练用输入样本文件b1.txt,装载的是神经网络的输入数据UT与UP;b2.txt文件有一行28列数据,是与输入样本数据相对应的神经网络的期望输出值P。两个文件的每列是一组样本数据对。第6章神经网络技术与其在智能传感器系统中的应用文件中每行的样本数据要求等间隔排
29、列,以便程序能够正确读取样本文件数据:第6章神经网络技术与其在智能传感器系统中的应用(2)检验样本文件。检验样本文件由b3.txt与b4.txt两个文件组成,装载了表6-2中序号为1、8、15、18、19、22、29、36共计M=8个样本数据对:第6章神经网络技术与其在智能传感器系统中的应用3.样本文件数据的归一化处理经过归一化处理后的数据在1+1或者01之间,这样可以有更好的数据融合效果。数据归一化的公式有多种,如:minmaxminXXXXX(6-33)或05.09.0minmaxminXXXXX(6-34)式中X、X分别为归一化前后的样本数据,Xmin、Xmax为X所在行的最小、最大值。
30、本例采用公式(6-33)。第6章神经网络技术与其在智能传感器系统中的应用当采用归一化样本数据用于神经网络的训练与检验,并且将训练好的网络移植到单片机中进行测量时,测量用的样本必须进行相同的归一化处理。如果训练检验的样本没有进行归一化,则测量样本也不用进行归一化处理。4.在Matlab环境下的BPNN设计流程在Matlab环境下的BPNN设计流程如图6-14所示。第6章神经网络技术与其在智能传感器系统中的应用图6-14 在Matlab环境下BPNN设计流程图第6章神经网络技术与其在智能传感器系统中的应用按照上述流程可设计出以下程序供参考:(1)程序初始化。用函数clear all初始化程序,将所
31、有变量、函数清零,举例如下:Clear all;(2)输入4个样本文件数据。用函数load输入样本文件数据,程序举例如下,程序中%为注释内容的开始标记,注释内容不参与程序的运行:第6章神经网络技术与其在智能传感器系统中的应用%调入样本文件FID1=load(b1.txt);Xuexiyangben=FID1;输入学习输入样本FID2=load(b2.txt);XueDesire=FID2;输入学习输出样本 FID3=load(b3.txt);Ceshiyangben=FID3;输入检验输入样本FID4=load(b4.txt);Ceshiqiwang=FID4;输入检验输出样本第6章神经网络技
32、术与其在智能传感器系统中的应用(3)4个样本文件数据归一化。分别用函数min和max寻找样本文件中每一行数据的最小值和最大值,然后编程实现不同变量所在的每行数据的归一化,程序举例如下:p1=Xuexiyangben;将学习输入样本赋给数组p1;minp1=min(p1);取p1中的最小值maxp1=max(p1);取p1中的最大值%下面进行学习样本3行28列数据的归一化处理第6章神经网络技术与其在智能传感器系统中的应用for j=1:28 for i=1:3 xueguiyi(i,j)=(p1(i,j)-minp1(j)/(maxp1(j)-minp1(j);endendp2=Ceshiyan
33、gben;将检验输入样本赋给数组p2;minp2=min(p2);取p1中的最小值maxp2=max(p2);取p1中的最大值第6章神经网络技术与其在智能传感器系统中的应用%下面进行检验样本3行8列数据的归一化处理for j=1:8 for i=1:3 testguiyi(i,j)=(p2(i,j)-minp2(j)/(maxp2(j)-minp2(j);endend第6章神经网络技术与其在智能传感器系统中的应用(4)设置网络参数,创建BPNN。参数说明如下:PRR个输入的最小、最大值构成的R2矩阵,存放训练输入样本文件每行的最大与最小值,本示例为32矩阵。SiSNI层网络第i层的神经元个数,
34、输入层神经元个数自动获取,不在这里设置。本示例有隐层和输出层两层神经元,每层神经元个数分别为6和1。第6章神经网络技术与其在智能传感器系统中的应用 TFi第i层的传递函数,可以是任意可导函数,默认为“tansig”,可设置为logsig,purelin等;输入层的输入信号直接输入隐层的输入端;本示例分别采用logsig和purelin函数作为隐层和输出层的传递函数。BTF反向传播网络训练函数,默认为“trainlm”,可设置为trainbfg,trainrp,traingd等;本示例采用默认函数trainlm。BLF反向传播权值、阈值学习函数,默认为“learngdm”;本示例采用默认函数le
35、arngdm。第6章神经网络技术与其在智能传感器系统中的应用 PF功能函数,即训练样本训练结果的目标值,默认为“mse”,即训练样本训练结果的均方差值;本示例采用默认函数mse。使用该函数首先要设置隐层与输出层神经元数量以及相应的传递函数,确定训练函数、学习函数及功能函数或采用默认函数。其中权值与阈值的默认函数给权值、阈值、学习因子、势态因子自动赋初值,例如权值初始值为小于1的随机数,学习因子及势态因子的默认值分别为0.01和0.9;并按照规定的功能函数对训练结果进行评价,默认功能函数为均方差函数。第6章神经网络技术与其在智能传感器系统中的应用程序举例如下:net=newff(minmax(p
36、1),6,1,logsig,purelin);其中,minmax(p1)用来获得训练输入样本文件每行的最大与最小值。6,1用来设置BPNN隐层与输出层神经元节点数,隐层节点数为6,输出层节点数为1。输入层节点数与训练输入样本文件的行数相同,自动获取。logsig,purelin用来设置隐层与输出层的传递函数,隐层传递函数采用logsig函数,输出层采用purelin纯线性函数。输入层传递函数默认为纯线性函数,即输出等于输入。在newff中没有出现的参数均采用默认函数或默认值。第6章神经网络技术与其在智能传感器系统中的应用(5)代入训练样本文件,设置网络参数,训练已创建的BPNN。用函数trai
37、n训练BPNN:net,tr=train(net,P,T,Pi,Ai,VV,TV)train函数根据net.trainFcn和net.trainParam训练网络net。输入参数:P网络的输入,即训练样本文件数据。T网络训练的目标值,默认值为0;通常是训练结果均方差值的期望值。Pi初始输入延迟,可选项,只在有输入延迟时需要,一般不用,默认值为0。第6章神经网络技术与其在智能传感器系统中的应用 Ai初始层延迟,可选项,只在有层延迟时需要,默认值为0。VV确认向量结构,默认为空矩阵。TV测试向量结构,默认为空矩阵。输出参数:net训练好返回的网络结构。tr网络训练步数和性能。第6章神经网络技术与其
38、在智能传感器系统中的应用train函数的信号格式为阵列或矩阵。在训练网络过程中进行网络测试,确认向量用来及时终止训练,以免过训练损害网络的泛化能力。本示例中采用的程序如下:%bp神经网络训练net.trainParam.epochs=1000;训练次数为1000net.trainParam.goal=0;训练目标误差为0 net,tr=train(net,xueguiyi,XueDesire);进行神经网络训练第6章神经网络技术与其在智能传感器系统中的应用(6)输出BPNN模型结构参数。用函数net.IW、net.LW分别获取输入层与隐层间的权值及隐层与输出层间的权值,用net.b可分别获取隐
39、层与输出层的阈值。程序举例如下:%以下显示权值和阈值iw1=net.IW1 显示输入层与隐层间的权值b1=net.b1 显示隐层的阈值lw2=net.LW2显示隐层与输出层间的权值b2=net.b2 显示输出层的阈值第6章神经网络技术与其在智能传感器系统中的应用(7)代入检验样本文件,用已训练好的BPNN计算检验样本的输出结果。函数功能:神经网络仿真函数。只有在创建好一个网络后才能进行网络仿真。调用格式:T,X,Y=sim(model,TIMESPAN,OPTIONS,UTT,X,Y1,Yn=sim(model,TIMESPAN,OPTIONS,UT)第6章神经网络技术与其在智能传感器系统中的
40、应用输出参数:T返回的时间步长向量;X返回的矩阵状态或结构格式状态;Y返回的输出,即检验样本的输出结果;Y1,Yn只能用于框图模式,这里n为根输出块的个数。第6章神经网络技术与其在智能传感器系统中的应用 model框图模型名称,即仿真的网络名,它必须在进行网络仿真前已经创建好;TIMESPAN训练所需时间范围,写成TStart TFinal格式或TStart OutputTimes TFinal格式,其中TStart为起始时间,TFinal为终止时间,OutputTimes为时间步长T;OPTIONS可选仿真参数,这是由SIMSET创建的一个结构体,一般不用;UT可选外部输入,UT=T,U1,
41、,Un,或者是一个u=UT(t)的函数表达式,其中T=t1,tm。第6章神经网络技术与其在智能传感器系统中的应用本示例中的程序举例如下:%测试数据Temp=sim(net,testguiyi)利用训练好的神经网络测试数据e=Ceshiqiwang-Temp 求出测试数据的测试偏差第6章神经网络技术与其在智能传感器系统中的应用(8)检验结果评价。计算检验结果的绝对偏差或者引用误差,判断结果能否满足实用要求。程序如下:%输出测试均方差perf=mse(e,net)%输出测试数据的均方差Ceshiqiwang1=Ceshiqiwang;%输出测试期望第6章神经网络技术与其在智能传感器系统中的应用5.
42、训练检验(1)条件:输入节点数3,隐层节点数6,输出层节点数1,训练迭代次数1000。(2)训练与测试:运行编好的程序,程序将自动输入网络训练与检验所需要的4个样本文件,并进行1000次训练与检验。1000次训练检验结束后,检验样本的网络输出如表6-3 所示,通过与期望输出的对比,可以看到检验结果与期望输出结果的误差很小。其中,训练样本的均方差为1.2640104,测试样本的均方差为9.7957104。第6章神经网络技术与其在智能传感器系统中的应用第6章神经网络技术与其在智能传感器系统中的应用(3)训练检验好的BPNN模型结构参数。输入层与隐层之间的36个连接权值:第6章神经网络技术与其在智能
43、传感器系统中的应用 隐层的6个阈值:21.780019,-8.052591,6.290255,0.392,5.82355,1.377625 隐层与输出层的6个连接权值:0.451025,0.286421,57.773565,50.896771,23.380664,0.375225 输出层的1个阈值:14.476775第6章神经网络技术与其在智能传感器系统中的应用6.采用BPNN消除压力传感器交叉敏感的效果评价(1)BPNN融合后压力传感器的静态特性。将表6-2中36组样本数据同时作为训练样本与检验样本进行BPNN融合,融合后的压力值P如表6-4所示。第6章神经网络技术与其在智能传感器系统中的应
44、用第6章神经网络技术与其在智能传感器系统中的应用(2)最小二乘法线性度的计算。融合前:最小二乘法直线拟合方程为P=0.0587u+0.6287将u代入直线拟合方程得到各个P值,并与期望输出相比较,可得出最大拟合偏差Pmax=0.1843104 Pa,则最小二乘法线性度为maxmax|0.1843100%100%3.7%5LPP第6章神经网络技术与其在智能传感器系统中的应用融合后:最小二乘法直线拟合方程为P=0.9970P+0.0091当P为0时,有最大拟合偏差Pmax=|0.00910|=0.0091104 Pa则最小二乘法线性度为maxmax|0.0091100%100%0.182%5LPP
45、第6章神经网络技术与其在智能传感器系统中的应用(3)温度稳定性参数的计算。融合前:零位温度系数30|13.84(7.72)|1.51 10(7021.5)83.36(/)温度灵敏度系数3|73.2883.36|2.49 10(7021.5)83.36t(/)第6章神经网络技术与其在智能传感器系统中的应用 融合后:零位温度系数600.0003041.25 10(7021.5)5(/)温度灵敏度系数5|55.004545|1.87 10(7021.5)5t(/)第6章神经网络技术与其在智能传感器系统中的应用6.3.2 示例示例6-2基于基于RBF神经网络法抗两个神经网络法抗两个干扰量影响的智能化软
46、件模块的设计干扰量影响的智能化软件模块的设计 1.三维标定实验 为了全量程范围内全面检验融合后稳定性的改善效果,实际上共标定mnw=360个标定点,选其中7组不同温度的标定点(共252组数据)作为神经网络的学习(训练)样本,其余的3组不同温度的标定点(共108组数据)作为网络的检验样本。第6章神经网络技术与其在智能传感器系统中的应用学习样本的各物理量取值如下:检验样本的各物理量取值如下:检验样本各标定点的具体数值见表6-6。第6章神经网络技术与其在智能传感器系统中的应用第6章神经网络技术与其在智能传感器系统中的应用第6章神经网络技术与其在智能传感器系统中的应用2.RBF神经网络Matlab源程
47、序RBF神经网络Matlab源程序如下:clcclearclose all%程序开始前,清屏,清除其它变量%输入原始数据,每一列为一个变量,行数为样本的个数。原始标定数据的输入,可以将数据直接输入至程序中,也可以将数据先输入至文件,然后在程序中读入数据文件。数据中的P、Ut、Ui、Up均为n1维列向量,n为标定数据点的个数第6章神经网络技术与其在智能传感器系统中的应用raw_data=P Ut Ui Up;%学习(训练)样本data_test=P_test Ut_test Ui_test Up_test;%测试样本%根据原始数据制作学习(训练)样本与测试样本,学习(训练)样本与测试样本的数据格
48、式相同 P=raw_data(:,1);Ui=raw_data(:,2);Ut=raw_data(:,3);Up=raw_data(:,4);P_test=data_test(:,1);Ui=data_test(:,2);Ut=data_test(:,3);Up=data_test(:,4);第6章神经网络技术与其在智能传感器系统中的应用P1=Up Ui Ut;%学习样本输入T1=P;%学习样本期望输出P2=Up_test Ui_test Ut_test;%测试样本输入T2=P_test;%测试样本输出%将输入数据进行归一化PN1,minp,maxp,TN1,mint,maxt=premnmx
49、(P1,T1);PN2=tramnmx(P2,minp,maxp);TN2=tramnmx(T2,mint,maxt);第6章神经网络技术与其在智能传感器系统中的应用%训练switch 2 case 1%神经元数是训练样本个数 spread=0.1;%此值越大,覆盖的函数值就越大(默认为1)net=newrbe(PN1,TN1,spread);第6章神经网络技术与其在智能传感器系统中的应用case 2%神经元数逐步增加,最多就是训练样本个数 goal=1e-8;%训练误差的平方和(默认为0)spread=0.1;%此值越大,需要的神经元就越少(默认为1)MN=size(PN1,2);%最大神经
50、元数(默认为训练样本个数)DF=2;%显示间隔(默认为25)net=newrb(PN1,TN1,goal,spread,MN,DF);第6章神经网络技术与其在智能传感器系统中的应用case 3 spread=0.1;%此值越大,需要的神经元就越少(默认为1)net=newgrnn(PN1,TN1,spread);end%测试YN1=sim(net,PN1);%学习(训练)样本实际输出YN2=sim(net,PN2);%测试样本实际输出第6章神经网络技术与其在智能传感器系统中的应用MSE1=mean(TN1-YN1).2)%学习(训练)样本实际输出的均方误差%n1=length(TN1);%e1
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。