热门关键词:

基于改进GA-BP神经网络的湿度传感器的温度补偿

  • 该文件为pdf格式
  • 文件大小:829.79KB
  • 浏览次数
  • 发布时间:2017-02-12
文件介绍:

本资料包含pdf文件1个,下载需要1积分

近年来,芬兰 Vaisala公司生产的 HMP45D温湿-体化传感器已广泛应用于地面 自动气象站观测系统中。

HMP45D温湿度传感器采用湿敏电容测量湿度 ,从介电常数变化型电容传感器工作原理可知,不仅相对湿度的变化会引起电容介质介电常数的变化,温度的变化也会引起电容介质介电常数的变化。

尽管厂家根据不 同温度下的传感器输出与实际相对湿度关系给 了温度补偿 ,可将部分误差补偿 ,但在实 际应 用 中,在高 温高湿 下 补偿 效 果很 不理想 J,因此研究和采用新方法提高测量准确度 ,进-步减小误差 ,是湿度传感器研发和气象观测人员最关心的问题。

为进-步消除温度的影响,可采用硬件电路补偿和软件补偿对湿度传感器的输出信号进行处理 。硬件补偿方法由于受到电路中电子器件漂移等因素的影响,导致整个测量系统可靠性差且精度低。软件补偿方法有插值法、最小二乘多项式曲线拟合法、BP神经网络方法等 ,然而插值法需要把量程进行分段线性化处理,每- 段用直线近似代替曲线,分的区间越多,精度越高,但所需存储量也就越大,所以实际效果并不理想,最小二乘多项式曲线拟合在应用过程中,当数据点较多时,容易出现振荡现象,导致形成病态或奇异的方程组,无法获得多项式系数,因而其应用受到限制,BP神经网络由于是非线性优化,权值的初始化是随机的,所以会存在局部极小问题,而且新加入的样本会影响到已经学好的样本,学习算法的收敛速度慢。

本文在分析现有研究方法不足的基础上,研究了采用改进遗传算法来优化 BP神经网络的方法,重点讨论了遗传算法中的混合编码方案,适应度函数的选择以及部分参数的优化,达到改进遗传算法的目的,并以此来优化BP神经网络,建立了湿度传感器温度补偿模型,利用此模型对输出数据进行拟合,补偿由于温度的变化对湿度传感器的测量结果造成的影响,并通过与-般的BP神经网络方法进行 比较,说明该方法在温度补偿上的突出优点2 温度补偿原理采用神经网络的方法对传感器输出进行温度补偿的原理图由传感器模型和神经网络补偿模型 2部分组成,如图 1所示。

图1 传感器温度补偿原理图Fig.1 Sensor temperature compensation principle diagram图 1中,h表示经神经网络温度补偿后的输出湿度值,其湿度传感器的数学模型为:Y-厂( ,t) (1)式中: 为待测目标湿度参量,t为环境影响因素温度参量,Y为传感器输出量。

若Y和t均为 的单值函数,则式(1)的反函数存在,即: 厂 (Y,t) (2)将湿度传感器的目标参量及湿度敏感元件的环境参量温度作为神经网络的输入样本 ,经神经网络处理后的输出湿度 即为期望的消除了温度干扰后的目标参量 。

本文通过对给定的样本数据来训练神经网络,通过改进的遗传算法优化调整神经网络的权值 ,使得经过训练后神经网络的输出值 尽量逼近期望 目标湿度参数 ,实现湿度传感器的温度补偿 ,进而提高湿度传感器的测量精度和可靠性。

3 改进遗传算法的BP神经网络模型鉴于遗传算法是-种概率性的 自适应迭代寻优过程,具有良好的全局搜索性能,不易陷入局部极小,即使所定义的适应值函数是不连续的、非规则的,它也能以很大的概率找到整体最优解,且适用于并行处理,搜索不依赖于梯度信息的特点,可以用来优化 BP神经网络 。 。

采用遗传算法对 BP神经网络的初始权值阈值进行优化,在较大范围进行搜索,代替-般初始权值的随机选取,然后应用 BP算法在这个解空间里对网络进行精调,搜索出最优解或者近似最优解。这样既实现了两者的优势互补,又发挥了神经网络的广泛非线性映射能力和遗传算法的全局搜索能力 ,加快了网络学习速度,提高了整个学习过程中的逼近能力和泛化能力。

改进遗传算法优化 BP神经网络问题的数学描述如下:1 Ml mfE。v , )÷∑∑ f)- )] .- J /s,t, ∈ R , ∈ RP , ∈ R ,卵 ∈ R式中:E。为网络训练样本总的误差,Y (t)为理想输出信号, .(t)为网络的实际输出:第1期 彭基伟 等:基于改进 GA.BP神经网络的湿度传感器的温度补偿 155( ),∑ g[∑wijxj(t)- ]叼 (4)式中:W 为输人层节点到隐层节点的连接权值, 为隐层节点到输出层节点的连接权值, 为过程神经元的输出阈值, 为输出神经元阈值,g为隐层神经元的激励函数 为输出神经元的激励函数。

[yl( )- ( )] 为检测样本平均均方误差 ,表示对网络输出数据可靠性的估计。为了使所设计的网络具有良好的泛化能力,应当使得 E,小于-个给定误差 ,满足网络输出的可靠性。

权值修正量表示为:Aw (n)-"qg(n)aAw (n-1) (5)式中:卵为自适应学习率,g(n)为当前误差函数对权值的梯度,O/为动量因子,n为迭代的次数。

改进遗传算法的 BP神经网络的具体步骤如下:1)建立-个初始 BP神经网络结构,设定网络相关参数和函数,通过编码方式产生初始种群,经过优化种群、选择、交叉,变异等遗传操作获得最优权值阈值。

2)用得到的最优权值阈值优化 BP神经网络,经过训练得到满足要求的最佳 BP神经网络结构。

基于改进遗传算法的 BP神经网络设计流程图如图2所示 。

l GA对初始化编 JI码,产生初始种群f 三三计算当前群体中所有个体适应值选择适应度高的个体进行保存l 交叉操作二二E二I 变异操作--厂 垂I Y- - - - - - 皇-- I选择最佳个体初始网络拓扑结构初始神经网络权值阈值长度获取最优权值闽值图2 改进遗传算法的神经网络流程图Fig.2 The flow chart of the neural network withimproved genetic algorithm4 改进的遗传算法N在GA搜索过程中,会出现将妨碍适应值高的个体生成而影响GA的工作,是搜索方向偏离全局最优解的问题,针对这样的问题采用适当的改进适应度函数和混合编码方式来解决 ,同时对参数也进行调整,主要是对交叉算子和变异算子 、交叉概率 P 和变异概率 P 进行优化和改进。

4.1 混合编码方案本文将2进制编码、解码操作简单易行,交叉、变异等遗传操作便于实现的优点 ,和实数编码解决连续参数优化问题时比较直观、精度高且不需解码的优点相结合 ,达到改进算法的目的,改进后的编码方式既可以加快遗传操作,进行大范围的全局搜索,同时也解决连续参数优化问题 ,提高优化精度。

算法中采用2进制编码的基因表示 BP神经网络的结构,即对 BP神经网络中的隐层节点数进行 2进制编码,实数编码的基因表示相应的权值和阈值,运用结构编码”和权值编码”来实现优化的并行,再以这种结构的染色体作为遗传算法的操作变量,进行遗传操作。这样在优化出性能优越的结构的同时,又得出了较好的权值分布。

下面对该编码方案进-步详细说明。假设 BP神经网络的隐层节点数最大可能数为个 f,网络的输入和输出层节点数分别为 m个和 n个,则网络中待优化参数的总数为 f×mmm×nn1个,1表示待优化的隐层节点数。如果用 q位 0~1字符串表示隐层节点数,则隐层节点数的范围是 0-2 -1,则所有参数的编码方式可以形象表示为图3所示。

2进制编码 实数编码图 3 基因编码与分段Fig.3 Gene coding and segmentation将所有参数划分为 5部分,其中实数编码部分分别为权值 W 阈值 、町 ,存放各 自的位数,按照隐层节点最大可能数目2 -1设计,这样的设计是为了能全部反映第 1部分所表示的隐层节点数,不至于发生当第 1部分出现比较大的节点数的时候,后面4部分没有足够的位数存放权值和阈值的情况。由于第 1部分显示的数值不-定都是最大可能数,这就会导致后面几部分出现某些无效位数的可能。为了计算方便,将有效位放在每- 部分的前面,无效位放在每-部分后面,所以当隐层节点数确定时,可以明确看出有效位和无效位,交叉和变异算子都需要在有效位上进行。

4.2 适应度函数的选择遗传算法的搜索目标是所有进化代中使网络的误差平方和最小的网络权重,而遗传算法只能朝着使适应度函数值增大的方向进化Ⅲ 。所以,本文根据产生的权值阈值所对应的神经网络,计算出 BP网络的误差平方和,156 仪 器 仪 表 学 报 第 3 4卷则适应度函数采用误差的倒数,算法中每个个体的适应度用式(6)表示,式(7)为网络的目标函数,即:)E(X ) (6)E(X ) ∑∑(Pjk- ) (7)式中:g 为输入第 个训练样本时第k个输出节点的输出值;p 为期望的输出值 ;n为训练样本个数;m为输出层的神经元数 ,i1,2,,L;L为种群规模。

4.3 混合编码中遗传算子的确定4.3.1 选择算子本文采用排序法作为选择机制,它将适应值的差别转化成次序,放大(缩小)了个体的适应值,隐含了定标的作用,其选择机理仍然是适应值大的个体被选择的概率越大,适应值越小的个体被选择的概率越校首先按适应值的大小对个体进行升序排序,然后按式(8)计算个体的选择概率:P q (1-P)” (8)Pg (9)式中:P 为最佳染色体的选择概率,n(i)为染色体 i的适应值在种群中排列序号。

然后运用比例选择的方法对各个体进行选择:计算各个体的累积选择概率 g (i1,2,, ),在(0,q )区间内产生按升序排列的随机数序列 r,( 1,2,,)若q <

4.3.2 交叉算子交叉算子是保证良好性状能够遗传的关键。在 2进制编码中,本文采用的是单点交叉的方法,在2个父代串中随机地选取-个交叉点,然后交换其所对应的子串。

交叉点在第 k位的交叉操作如下:a Ia2..a kakl..am ) (ala2""akbk1...bm) (10)(b1b2bkb lb ) (bl b2bka la )在实数编码方式下,本文采用算术交叉的方式来运算。算术交叉是指 2个个体经过线性组合产生出2个新的染色体。在种群中随机均匀选取 2个个体 X 、X (z1,2,,n)进行交叉 ,交叉算子如下:( -c (11) ; :(1-c ) ;c式中:X 、 为-对交叉前的个体, 、 为交叉后的个体,C为区间[0-1]的均匀分布的随机数。

采用这样的交叉操作的方式可以得到很多种可能的结果,能够充分地实现2个个体之间的信息交换,有利于找到全局最优值。

4.3.3 变异算子变异是保证物种多样性的-个重要途径。本文在 2进制编码中,采用基本位变异操作,即先对个体的每-个基因座,依变异概率P 指定其为变异点,然后对每-个指定的变异点,对其基因值作取反运算或用其他等位基因值来代替,从而产生-个新的个体。

在实数编码方式下 ,本文采用非均匀变异运算。在进行由X l 2 z向X l 2 的非均匀变异操作时,若变异点 处的基因值范围为[ i , ],则新的基因值 由式(12)确定 :, A(t, -71 ),random(O,1)0 -A(t,叼 - i ),random(0,1)1(12)式中:△(t,Y)(Y代表 u -叼 和 叼 - 。 )表示[0,Y]范围内符合非均匀分布的-个随机数,要求随着进化代数 t的增加,△(t,Y)接近于0的概率也增加。

4.4 交叉概率和变异概率的确定交叉概率 P 和变异概率P 在遗传算法中起了非常重要的作用,它的适当选择是遗传算法能否成功的关键 。为了尽量不破坏适应度高的个体同时还能够保证种群多样性,本文采用自适应的交叉率和变异率,其公式如下:P :A,( -f )/(,max-/), ≥/ (13)A2, , <-厂P :(,m - /(fm 厂)/≥ (14) Aa, f

5 实验仿真5.1 实验数据的获取与分析HMP45D湿度传感器采用优化设计的多谐振荡器式湿度.电压变换电路,将电容的变化量变化为电压的变化量,输出电压范围为 0~1 V(dc),自动气象站的采集器根据测量的输出电压,由软件得出0-100%相对湿度。

实验数据是在下列条件的测量的:实验仪器是 1台富奇 Vstsch调温调湿箱(温度调节范围:-70~60℃,湿度调节范围:0~100%RH),1台JJQ1型信号模拟器,2第 1期 彭基伟 等:基于改进GA-BP神经网络的湿度传感器的温度补偿 157个 HMP45D湿度传感器,1台温湿度仪。为考察湿度传感器高温高湿条件下的温度特性,在网络训练和测试时,必须获得足够的湿度传感器的输出信号与其对应的待测湿度的数据对。实验中,温度间隔为 5℃,共取 26个温度点,湿度间隔为5%RH,共取 20个湿度点。

在测量每个湿度点上的测试值时,每隔 10 rain录取- 次数据,共录取 10次数据,每个湿度测试点上的10次测量值的平均值 ,作为该湿度测试点上的测量值,温湿度仪的输出值的平均值加上修正值作为该点的测量标准值 ,具体步骤是:1)设定实验箱温度为20℃,待温度稳定后,测量设定 30%RH条件下的湿度值;2)调节实验箱的湿度,使湿度按间隔逐步增加,每次待湿度稳定后,测量出此条件下的湿度值;3)改变实验箱内的温度,重复步骤 2。这样就得到了520个样本组对,部分样本数据如表 1所示。

表 1 部分样本组对Table 1 Partial sample groups根据测量所得的实验数据,可以得出如图4所示的不同温度和不 同湿度条件下湿度传感器的测量误差曲线。

温度值/℃图4 温度对湿度传感器测量结果的影响Fig.4 The influence of temperature on themeasurement result of humidity sensor通过分析湿度传感器测量误差温度影响曲线,可以看出当温度从20℃逐渐升高时,在不同的湿度条件下,传感器的测量误差都逐渐变大,随着温度和湿度的同时变大,误差值变得更大。实验数据和实验结果显示高温高湿条件下,湿度传感器的测量结果受到严重影响。所以采用改进的遗传算法优化 BP神经网络的方法进-步减小测量误差,修正湿度传感器的测量结果。

5.2 湿度传感器温度补偿的实现本文的实验仿真部分结合 自动气象站数据质量方案研究项目,通过实验研究,不仅定性地得出在 自动气象站系统业务运行过程中,温度对湿度传感器的测量结果存在严重的影响,还定量地得出不同条件下影响的具体程度。

可以实现对其影响的补偿,把 HMP45D型湿度传感器在不同温度影响情况下的测量结果作为样本数据空间,实验样本中的部分样本作为训练样本,部分样本作为测试样本,把温度值和相对湿度测量值作为输入向量中的数据,相对湿度标准值作为期望输出值。

通过采用基于改进遗传算法的BP神经网络建立的模型,对实验所得样本数据进行训练,然后对训练的结果进行测试,最后所得到的湿度传感器温度补偿后的部分数据如表 2所示。

实验结果表明:如果不进行温度补偿,湿度传感器所测得的湿度值,相对于标准器的相对湿度值误差较大,显然不能满足所需要求。经过改进 GA-BP神经网络温度158 仪 器 仪 表 学 报 第 3 4卷补偿后,误差明显减小,输出的最大误差为0.1664%RH, 有效地提高了测量结果的准确度,满足实际应用要求。

表2 改进 GA-BP模型温度补偿后的结果Table 2 The measurement results of the improved GA-BP model after temperature compensation5.3 ·陛能分析比较为了比较改进 GA-BP算法和-般 BP算法的异同,将2种算法的学习情况做了仿真比较研究。

在进行 2种网络的仿真实验时,选用的样本数为520,采用 3层网络结构,输入层的神经元个数为2,隐含层神经元个数为 6,输出层神经元个数为 1,学习速率卵0.1,区别在于 BP网络的权值和阈值通过随机函数来初始化 ,而改进的GA-BP网络算法利用训练过的最优个体来初始化权值和阈值。

遗传代数图5 误差平方和曲线Fig.5 The curve of sum of square of the error遗传代数图6 平均适应度曲线Fig.6 Average fitness curve通过 MATLAB仿真得到误差平方和曲线和适配值曲线如图5、6所示。图5中的实线表示最佳理想的目标函数进化曲线,虚线表示实际平均目标函数曲线,从图中可以看出,经过约 300代的搜索以后,改进的 GA-BP算法的误差达到最校图6中的实线表示最佳理想的适应度进化曲线 ,虚线表示实际平均适应度进化曲线,在经过300代的搜索后,遗传个体的平均适应度趋于平稳。

图7表示不经过优化的 BP神经网络的误差平方和响应曲线与改进遗传算法优化后 BP神经网络的误差平方和响应曲线比较结果。

椒四椒露迭代次数图7 有无改进GA优化BP神经网络的误差平方和曲线Fig.7 The curves of sum 0f square of the error for the BPneural network with and without GA optimization图中可以得出,改进的GA-BP算法能在较短的进化代数内自适应地调节个体的交叉率和变异率,尽早跳出局部收敛,而且收敛速度较快。

第 1期 彭基伟 等:基于改进GA-BP神经网络的湿度传感器的温度补偿 159仿真结果表明:在同等误差条件下,基于改进 GA的BP神经网络迭代步数少 ,运行效率高,训练速度快,表明所提出的遗传算法实现了结构和权值、阈值的同步优化, [6]避免了BP神经网络结构选择的盲目性,提高了计算效率,因而是-种可行有效的湿度传感器温度补偿方法。

6 结 论湿度传感器的温度补偿是传感器使用过程中的关键技术,HMP45D湿敏电容湿度传感器在高温下的测量准确度低 ,不能满足观测中对湿度观测的准确度要求。因此,在制造湿敏电容传感器时,应对其进行在不同温度下的全量程测试 ,再采用神经网络方法,建立湿敏电容输出信号和温度信号以及相对湿度估计值之间的数学模型。

本文提出利用改进遗传算法优化 BP神经网络结构和参数来建立湿敏电容湿度传感器的温度补偿模型,在实际测量时,可以根据湿敏电容实测的湿度信号和温度信号,然后利用本文中的数学模型得到温度补偿后的相对湿度的测量值。此方法证明是可行有效的。它的特殊优点是能同时优化网络结构和参数,补偿精度高,而且是全局寻优。

正在加载...请等待或刷新页面...
发表评论
验证码 验证码加载失败