基于GA-BP神经网络的非线性模拟量回归

阅读: 评论:0

㊀2021年㊀第1期
仪表技术与传感器
Instrument㊀Technique㊀and㊀Sensor
2021㊀No 1㊀
基金项目:国家自然科学基金项目(61672369)收稿日期:2020-01-13
基于GA-BP神经网络的非线性模拟量回归
周㊀欣,王宜怀,姚望舒,葛新越
(苏州大学计算机科学与技术学院,江苏苏州㊀215006)
㊀㊀摘要:针对嵌入式系统中传感器测量模拟量与采样值之间的非线性关系难以寻确定公式进行表达的问题,提出使用BP神经网络对非线性模拟量进行回归拟合㊂并针对BP神经网络易陷入局部极小值的缺陷,采用遗传算法进行优化㊂实验表明,与最小二乘法与三次样条插值法相比,BP神经网络对曲线拟合程度优于其余两种方法,且具有较高的准确度㊂遗传算法优化后的BP神经网络,能够更加快速
收敛,准确度也进一步提升㊂同时将网络模型应用在MCU端,实现在MCU端的预测与参数更新,具有一定的实用性和适应性㊂
关键词:嵌入式系统;模拟量;非线性;回归拟合;BP神经网络;遗传算法
中图分类号:TP273㊀㊀㊀文献标识码:A㊀㊀㊀文章编号:1002-1841(2021)01-0084-05
NonlinearAnalogRegressionBasedonGA-BPNeuralNetwork
ZHOUXin,WANGYi⁃huai,YAOWang⁃shu,GEXin⁃yue
(SchoolofComputerScienceandTechnology,SoochowUniversity,Suzhou215006,China)
Abstract:Aimingattheproblemthatthenon⁃linearrelationshipbetweentheanalogquantitymeasuredbythesensorandthesampledvalueintheembeddedsystemwasdifficulttofindacertainformulatoexpres
s,aregressionfittingusingBPneuralnet⁃workwasproposed.AndinordertosolvetheproblemthattheBPneuralnetworkiseasytofallintothelocalminimum,thegeneticalgorithmwasusedforoptimization.Experimentsshowthatcomparedwiththetraditionalleastsquaremethodandcubicsplinein⁃terpolationmethod,theBPneuralnetworkwasbetterthantheothertwomethodsincurvefitting,andhashigheraccuracy.Andthegeneticalgorithm⁃optimizedBPneuralnetworkcanconvergemorequicklyandtheaccuracywasfurtherimproved.AndapplyingthenetworkmodeltotheMCUtoachievepredictionandparameterupdateontheMCUhascertainpracticalityandadaptability.Keywords:embeddedsystem;analog;nonlinear;regressionfitting;BPneuralnetwork;geneticalgorithm
0㊀引言
在嵌入式测控系统中,控制终端通过传感器对外界信息进行检测,经由放大电路㊁模数转换模块(analogtodigitalconvertmodule,A/D转换模块)等,转换成能被终端识别的数字信号(又称为A/D值)㊂为便于测控系统使用,需将A/D值与实际外界信息对应,此对应过程可称之为物理量回归㊂
目前常见的物理量回归方法[1]有公式法,查表法,分段直线法,最小二乘法及三次样条插值法等㊂但受采样过程中传感器自身采样特性,放大电路与A/D转换模块转换过程中所具有的非线性变换等因素的影响,待回归A/D值与回归后的物理量之间成非线性关系㊂上述方法虽可用于解决物理量回归问题,但存在一定的缺陷㊂如公式法利用固定数字公式进行转换,速度快,但准确度不高;查表法根据输入输出表
格进行查,占用空间过大;分段直线法的分段越多,精度越高,但其复杂性也不断增加;而最小二乘法和三次样条插值法是通过采样数据确定相应的匹配函数,针对不同情况需重新确认公式,且非线性关系较为复杂,不易确定合适公式㊂
针对上述情况,本文提出以A/D值作为输入,传感器测量的实际模拟量作为输出,使用BP神经网络进行回归拟合㊂并针对BP神经网络易陷入局部极小值的问题,选择使用遗传算法进行参数优化㊂将遗传算法优化后的BP神经网络与最小二乘法㊁三次样条插值法及传统BP神经网络进行比较,实
验表明,通过GA-BP算法能够有效的提高物理量回归的精度㊂同时提出一种回归模型在MCU端应用的方法,该方法能够较好地在MCU进行物理量回归及参数更新,具有一定的实用性和适应性㊂1㊀GA-BP神经网络回归模型1.1㊀BP神经网络
反向传播(backpropagation,BP)学习算法,是一
㊀㊀
㊀第1期周欣等:基于GA-BP神经网络的非线性模拟量回归
85㊀㊀
种基于误差反向传播的前向多层反馈的人工神经网络算法㊂通过梯度下降法,寻实际输出值和目标值之间误差平方的极小值,从而对网络的连接权值进行调整,达到在调整过的网络模型中,对于每一组输入都能得到期望输出的目的[2]㊂
以A/D值作为输入,传感器测量模拟量作为输
出,可构建单输入输出的神经网络模型㊂理论与实践表明,含有一个隐藏层的BP神经网络具有逼近任何闭区间内一个连续函数的能力[3],因此使用3层神经网络模型进行训练和预测㊂其3层BP神经网络模型如图1所示
图1㊀BP神经网络模型
在此网络模型中,设训练样例个数为D,网络由1个输入层单元,Q个隐藏层单元,1个输出层单元构成㊂
输入层仅进行数据的输入,表示为ad=X,d=1,2,3, ,D为训练样本编号㊂隐藏层使用sigmoid函数作为激活函数,提供非
线性变换过程,其输出为
hdi=sig(wiad+oi)
(1)
式中:wi为输入层与隐藏层之间的权值;oi为输入层与输出层的权值,i=1,2,3, ,Q为隐藏层单元数㊂
输出层同样使用sigmoid函数,其输出为
Y=yd=sig(ðQ
ivihdi+r)
(2)
式中:r为隐藏层与输出层的阈值;vi为隐藏层节点与输出节点的权值,i=1,2,3, ,Q为隐藏层单元数㊂1.2㊀遗传算法
遗传算法(geneticalgorithm,GA)是一种模拟自然生存和遗传机制的最优解搜索算法[4]㊂通过选择㊁交叉和变异对种进行多次迭代优化,选择符合当前问题的最优解,其进化过程如图2所示
图2㊀遗传算法种进化过程电子涡轮增压器
该算法提供了一种求解复杂系统问题的通用框架,其全局搜索策略和优化搜索方法的计算不依赖问题的具体领域,只需要确定影响搜索方向的目标函数和适应度函数,便可以实现最优解搜索㊂1.3㊀GA-BP神经网络算法流程
针对传统BP神经网络训练过程易陷入局部极小值的问题,使用遗传算法进行优化㊂将随机生成的初始权值与阈值作为种的个体,经遗传算法筛选出较为合适的解作为BP神经网络的权值与阈值;由BP神经网络模型进行权值与阈值的进一步调整,得到能够较好反映输入输出非线性关系的训练模型,其训练过程如图3所示
图3㊀GA-BP神经网络训练过程
其具体执行步骤如下:
(1)训练样本归一化㊂使用最大最小值归一化对
训练样本进行数据压缩,保留数据特性的同时,加快训练速度㊂
(2)确定网络拓扑结构㊂根据训练样本确定隐藏层单元数㊁学习速率与激活函数等网络参数,生成相应的网络拓扑结构㊂
(3)生成初始种㊂随机生成权值与阈值的初始值,并将其作为种的个体,进行实数编码㊂
(4)计算适应度㊂适应度函数为
㊀㊀
㊀86
㊀InstrumentTechniqueandSensor
Jan 2021㊀
f=1
(3)
式中:E为遗传算法的目标函数,是BP神经网络训练后实际输出值和目标值之间误差平方和㊂(5)选择父代㊂按适应度大小对个体进行排序,并使用赌算法[5]筛选出2个个体作为父代㊂十进制加法器
(6)随机交叉㊂父代以每层网络的权值与阈值作为基因,采用随机交叉算法,对基因进行组合生成
新的子代㊂
(7)变异㊂生成子代中,存在一部分个体发生变异,变异概率为0.01㊂变异个体的权值和阈值将重新赋值,生成新的基因㊂
(8)是否满足停止条件㊂在不满足停止条件时,
从原始种中选择部分适应度高的个体与新生成子代组成新的种,重复(4) (7)的步骤继续求解满足情况的权值与阈值㊂
(9)权值与阈值的赋值㊂将遗传算法求解的权值
与阈值赋值给BP神经网络,通过网络训练进一步实现参数的更新㊂(10)权值与阈值的更新㊂通过网络训练比较全
局误差极小值
[6]
来判断是否生成满足需求的权值与
阈值,并使用误差反向传播方法对权值与阈值进行更新,直到满足目标训练次数或目标误差㊂(11)模型生成㊂保存最终权值与阈值及相关参
数,生成相应的回归模型㊂2㊀GA-BP的非线性回归实验分析
2.1㊀数据的获取
本文针对传感器模拟量的非线性问题进行回归分析,故选择随光照强度变化,而阻值成非线性变化的光敏电阻获取训练样本㊂此处选用光敏电阻的型号为GM5506,其阻值随光照强度的升高而降低,使用如图4所示的采样电路,其对应电压范围为[0.55V(亮),3.28V(暗)],可测得[0lux,15000lux]区间内的光照强度
图4㊀光敏电阻采样电路
控制终端的16位A/D模块与采样点连接,测试获得一组光照强度和对应A/D采样值的训练样本,该训练样本数据能够较好地涵盖测量范围及其变化情
况,其数据如表1所示,其中1 18为训练数据,19 26
为测试数据㊂
表1㊀训练样本  光照强度与A/D值样本
为了对不同方法进行比较,引入均方根误差与决定系数对预测效果进行评判㊂均方根误差(rootmeansquarederror,RMSE)计算观测值与真实值之间的偏差,其值越小,预测效果越好㊂
RMSE(o,t)=麻元友
N-2ðN
i=1
(o-t)2(4)
式中:o为观测值;t为真实值㊂实际使用中使用RMSE/o(o为输出均值)进行判断㊂
决定系数又称为拟合优度,通常使用R表示,反映的是回归的拟合程度,其值越大,拟合程度越好,预测性能也就越优㊂
R=
1-
ð(o-t)2
ð(o-o)2
(5)
2.3㊀实验方案与结果
本文实验模型使用C#语言编程实现,具有训练与验证功能㊂通过对模型的分析可知,其输入与输出神经元个数均为1㊂采用sigmoid型函数作为激活函数的神经网络具有对任意连续函数的逼近能力[7],故选取sigmoid函数作为激活函数,使用梯度下降法进行
权值与阈值的更新㊂隐藏层单元个数的范围可依据经验公式[8]计算得出:
q=p+m+α
(6)
式中:q为隐藏层单元数;p为输入层单元数;m为输出
㊀㊀㊀㊀㊀第1期周欣等:基于GA-BP神经网络的非线性模拟量回归87㊀㊀
层单元数;α为1 10之间的常数㊂
对于回归模型,其隐藏层单元数范围在3 11之间㊂经多次实验验证得出隐藏层单元数为8时,具有更好的拟合效果㊂设定学习速率为0.1,目标误差精度为0.000001,初始权值和阈值随机生成㊂淤泥固化剂
在此网络结构基础上,使用遗传算法对初始权值与阈值进行优化,初始种大小为100,变异概率为0.01,迭代次数为1000㊂
在上述网络中,使用样本中的训练数据进行训练,得到对应的权值与阈值参数如表2所示㊂
表2㊀BP神经网络各层参数
输入层与隐藏层权值
wi输入层与隐藏层阈值
oi
隐藏层与输出层权值
vi
隐藏层与输出层阈值
68.8104866010556-0.66003077579745746.7332181393392
2.73067762764518-1.4613382643164-11.8548797836093
89.3053999526315-2.42689739802703-21.1090170
878183
32.33091647935413.4269637209893419.160911532471432.730230400004621.01962240528156.16027469240735-2.25456006487125
18.74721332834160.161949852000884-6.84377968780148蒸汽消音器
172.0503307777850.950824710764604-70.2256073841323
17.12623727885054.721111751110490.825034658531259
㊀㊀权值与阈值以及网络相关参数共同构成一个GA-BP网络模型㊂使用该网络模型对测试数据进行验证分析,由表3可以看出,光照强度的预测值与实际值误差基本能控制在可接受范围以内㊂
表3㊀测试样例输出测试
A/D目标输出实际输出误差
504592.42.10.3
370078.99.70.8
2504243.444.10.7
16452127.2126.90.3
11369261.3260.50.8
8036501.6500.61.0
43881159.21158.40.8
111712924.512925.00.52.4㊀方法对比
2.4.1㊀传统方法与神经网络的对比
传统的非线性回归方法有最小二乘法和三次样条插值法㊂最小二乘法通过最小化误差平方和寻最佳函数匹配[9],三次样条插值法通过三弯矩法并结合边界条件推导系数方程确定对应的回归函数[10],实际是在相邻数据点之间确定一个三次样条函数㊂针对本文使用的训练样本,使用最小二
乘法和三次样条插值法进行回归拟合,并使用测试样例与BP神经网络进行验证对比,图5给出各方法的预测结果的回归曲线,并列出各方法的均方根误差和决定系数,如表4所示
图5㊀光照强度与A/D值的物理量回归曲线
表4㊀传统方法与神经网络的对比
回归方法RRMSE
最小二乘法0.964970.83197
三次样条插值0.971050.75750
BP神经网络0.997250.23508㊀㊀综合图5和表4可以看出BP神经网络的预测准确度优于其余2种方法㊂最小二乘法与三次样条插值法的拟合是确定具体公式及其系数,BP神经网络确定网络相关参数㊂3种方法在回归形式上存在一定的区别,但都可转换为使用一定的回归公式进行回归预测㊂不同在于对不同的训练样本,最小二乘法与三次样条插值法需要重新确认公式,而BP神经网络模型的回归公式可不改变,仅需校正权值与阈值㊂同时BP神经网络可以通过不断提升训练次数来减小误差,达到更好的拟合效果,是一种具有较好拟合能力的非线性回归方法㊂2.4.2㊀BP神经网络优化对比
由上述对比实验可知,BP神经网络对于传感器
㊀㊀㊀㊀㊀88㊀InstrumentTechniqueandSensorJan 2021㊀
模拟量的非线性回归问题具有较好的拟合能力㊂但BP神经网络存在易陷入局部极小值的特点,针对此问题使用遗传算法进行优化㊂分别记录下BP神经网络与GA-BP神经网络训练过程中每10000次训练实际值与目标值之间的误差平方和,绘制成如图6所示的曲线㊂并计算相应的均方根误差和决定系数,如表5所示㊂
图6㊀GA-BP与BP误差状态
表5㊀GA-BP与BP对比
回归方法RRMSE
BP神经网络0.997250.23508
GA-BP神经网络0.999220.12553
㊀㊀从图6可以看出,GA-BP神经网络模型在训练过程中的收敛速度明显优于传统BP神经网络㊂同时结合表5可以看出,在训练相同次数的情况下对GA-BP的拟合程度优于传统BP算法,具有更好的预测准确度㊂
3㊀BP神经网络在MCU上的应用
模型训练过程在PC端完成,而生成的网络模型则应用于MCU端㊂图7为训练模型在MCU端的应用过程㊂
针对上述流程,将BP神经网络在MCU端回归预测功能封装成构件,构件中各函数及功能如表6所示㊂按图8所示的结构类型将网络参数存储在固定Flash区域;芯片启动后,使用BPinit函数读取位于Flash区域的存储参数,构建神经网络模型;实时使用A/D转换模块读取传感器A/D采样值后,利用BPpre⁃dict函数进行转换到传感器的实际输出值;同时包含参数更新功能,当计算结果存在误差时,可重新采集训练样本在PC端训练,并将训练结果利用BPUpdate函数将网络模型重新写入相应Flash区域㊂
以MKL36Z64[11](简称KL36)芯片和S32K144[12](简称S32K)芯片为例进行MCU端预测实验㊂KL36属于ARMCortex-M0+内核,其对应的Flash为64
KB,
图7㊀神经网络在MCU端应用
表6㊀BP神经网络预测构件
函数名称功能
BPinitBP网络模型初始化读取位于Flash的参数,并
生成网络模型
BPpredict预测函数A/D值回归预测计数继电器
BPUpdate参数更新解析更新后的参数并重新
写入Flash
RAM大小为8KB;而S32K属于ARMCortex-M4内核,其对应的Flash为512KB,RAM大小为60KB;其内置A/D转换模块精度均为16位㊂使用该构件进行光照强度的采样与回归,在KL36与S32K上均能按照如图7所示的流程进行回归预测
图8㊀网络参数存储结构体
4㊀结束语
本文针对非线性传感器A/D值与模拟量之间存在的非线性关系难以确定回归公式进行表达的问题,提出使用BP神经网络对传感器A/D值与模拟量进行回归拟合㊂实验表明,使用BP神经网络能够对两者之间的非线性关系进行良好表达,和最小二乘法与三次样条插值法相比,BP神经网络的拟合程度明显优于其余2种方法,具有较高的准确(下转第101页)

本文发布于:2023-05-16 09:49:01,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/101849.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:进行   神经网络   回归   使用   训练   模型   权值
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图