基于AFSA‑BP神经网络的湿度传感器温度补偿方法与流程

文档序号:12887713阅读:554来源:国知局
基于AFSA‑BP神经网络的湿度传感器温度补偿方法与流程

本发明涉及一种基于afsa-bp神经网络的湿度传感器温度补偿方法,属于传感器软补偿技术领域。



背景技术:

人工鱼群算法(afsaartificialfish-swarmalgorithm)是模仿鱼类群体觅食的一种算法,和粒子群算法、蚁群算法相似,都是仿生类智能优化算法。在一片宽阔的水域中,鱼能自行或尾随其他鱼找到营养物质多的地方,因而鱼生存数目最多的地方一般就是本水域中营养物质最多的地方,人工鱼群算法就是根据这一特点,通过构造人工鱼来模仿鱼群的觅食、聚群及追尾行为来解决组合优化问题的。在寻优过程中,每条人工鱼根据它当前所处的环境情况(包括目标函数的变化情况和伙伴的变化情况)进行行为的选择进而执行一种行为来更新自身的位置状态。同时,通过与群体中最优个体鱼信息的比较得到全局最优值信息,经过多次迭代寻优最终实现全局最优值的搜索。

了尽可能的消除温度对湿度传感器的影响,国内外许多学者从硬件电路补偿和软件补偿这两方面进行了研究。硬件补偿受电路复杂性与成本昂贵等限制,很难实现整体的补偿。软件补偿的方法有最小二乘法、多元回归、bp神经网络法等。最小二乘法在应用时,虽然算法比较简单,收敛速度较快,但精度却不是很高。多元回归虽然建立了多变量间的线性因果关系,但是可能忽略了交互效应和非线性的因果关系。bp神经网络是非线性优化,其权值是随着局部改善的方向逐渐调整的,这样容易出现局部极小问题,而且其目标函数越来越复杂,收敛速度也明显变慢。



技术实现要素:

本发明所要解决的技术问题是克服现有技术的缺陷,提供一种基于afsa-bp神经网络的湿度传感器温度补偿方法,采用人工鱼群优化算法来优化bp神经网络的方法,通过人工鱼群中个体的局部寻优找到全局最优权阈值,以此来优化bp神经网络,建立了afsa-bp神经网络的湿度传感器温度补偿模型,补偿温度对湿度传感器测量结果带来的误差。

为解决上述技术问题,本发明提供一种基于afsa-bp神经网络的湿度传感器温度补偿方法,其特征是,包括如下步骤:

1)初始化bp神经网络结构及人工鱼群的相关参数;

2)计算各条鱼的适应度函数值f,取f最大值赋给公告板;

3)顺序进行觅食、聚群、追尾行为,选f值最大的行为实际执行;

4)用f值最大人工鱼更新公布板,记作bestf;

5)是否达到最大迭代次数,若未达到则回到步骤2),达到则输出最优全阈值。

进一步的,所述步骤1)的相关参数包括人工鱼群的群体规模m,迭代次数num,最大迭代次数try_number,感知距离visual、移动步长step,拥挤度因子σ。

进一步的,定义适应度函数值f为bp神经网络输出结果与期望值结果的误差值e的倒数,

其中,n是训练样本集的维数:dij是第i个样本的第j个网络输出层节点的理想输出值,yij是第i个样本的第j个网络输出层节点的实际输出值。

进一步的,所述bp神经网络结构采用三层神经网络,输入层节点数为2,隐含层节点数为5,输出层节点数为1。

进一步的,所述步骤2)中,设初始的迭代次数num=0,在人工鱼的感知范围visual内,人工鱼随机生成m个人工鱼个体,形成初始人工鱼群;分别计算初始鱼群中每条人工鱼个体的适应度函数值f,通过比较适应度的大小,将适应度最大的人工鱼个体记录到公告牌中,同时将此人工鱼个体复制给公告牌。

进一步的,所述步骤3)中,当yc/nf>σyi时,人工鱼分别模拟进行追尾行为和聚群行为,将得到的f值较大行为进行实际执行,缺省行为方式为觅食行为,其中yi为人工鱼感知范围内的最大状态,nf为xi感知范围内所有人工鱼数目,yc为xi感知范围内所有人工鱼中心位置的状态,xi为人工鱼i的当前状态。

进一步的,所述步骤4)中,所有的人工鱼每进行一次行动之后,都将当前的适应度函数值f与公告牌的适应度函数值进行比较,如果自身状态优于公告牌状态,就将自身状态写入并更新公告牌。

进一步的,所述步骤5)中,如果num达到最大迭代次数try_number,行为结束,输出计算结果,即bp神经网络的最优权阈值,否则num=num+1,转步骤(2)。

进一步的,所述最大迭代次数在程序运行前进行设置,当人工鱼迭代次数达到最大迭代次数,行为结束。

本发明所达到的有益效果:

本发明由于bp神经网络算法本质上为梯度下降法,而它所要优化的目标函数有非常复杂,导致其存在很多缺陷:学习速度慢、易陷入局部极小、网络结构选择不一。而afsa算法是全局寻优的算法,具有很好的泛化能力。因此,将afsa与bp神经网络相结合,通过bp神经网络的全局寻优能力不但克服bp训练神经网络易陷入局部极小的缺陷,又提高了训练速度,其补偿效果远远高于bp网络,该方法有效地抑制了温度给湿度传感器带来的误差,提高了传感器测量的精确度。

附图说明

图1是温度对湿度传感器测量结果的影响;

图2是afsa-bp算法的流程图;

图3是适应度曲线;

图4是误差曲线。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

表1为实际测量的数据,即湿度传感器在不同温度条件下测量的湿度值。图1为根据实验数据绘出的在不同温度和不同湿度条件下湿度传感器的测量误差曲线图。

图2为afsa-bp算法的流程图。将人工鱼群算法(fasa)与bp神经网络相结合,就是利用人工鱼群算法的全局寻化能力来克服bp神经网络容易陷入局部极小的缺陷。假设人工鱼群中的每一条人工鱼代表一个bp神经网络,需要优化的初始权阈值和人工鱼的个体状态一一对应,通过找到最优人工鱼的位置得到最优的权阈值,然后用所得到的最优权阈值训练bp神经网络。定义人工鱼群的适应度函数f为bp神经网络输出结果与期望值结果的误差值e的倒数。

其中,n是训练样本集的维数:dij是第i个样本的第j个网络输出层节点的理想输出值,yij是第i个样本的第j个网络输出层节点的实际输出值。

(1)设定bp网络结构:采用三层神经网络,输入层节点数为2.隐含层节点数为5,输出层节点数为1。

(2)设定人工鱼群的群体规模m,最大迭代次数try_number,感知距离visual、移动步长step,拥挤度因子σ。

(3)假设初始迭代次数num=0,在其感知范围内,人工鱼随机生成m个人工鱼个体,形成初始人工鱼群。

(4)分别计算初始鱼群中每条人工鱼个体的适应度函数值f,通过比较适应度的大小,将适应度最大的人工鱼个体记录到公告牌中,同时将此人工鱼个体复制给公告牌。

(5)每条人工鱼分别模拟进行追尾行为和聚群行为,将得到的f值较大行为进行实际执行,缺省行为方式为觅食行为。

(6)所有的人工鱼每进行一次行动之后,都将当前的适应度值f与公告牌的适应度值进行比较,如果自身状态优于公告牌状态,就将自身状态写入并更新公告牌。

(7)如果num达到最大迭代次数trynumber,行为结束,输出计算结果,也就是bp神经网络的最优权阈值,否则num=num+1,转步骤(4)。

图3表明进化代数进行到45代时,其适应度值已经达到最大,此时就找到了bp神经网络的最优权阈值。

图4中包括afsa-bp神经网络的误差曲线和bp神经网络进行温度补偿后的误差曲线图,仿真结果表明,除了个别温度点之外,afsa-bp神经网络的预测误差全部小于传统bp神经网络的预测误差,说明afsa-bp神经网络的补偿精度较高,有效的避免bp神经网络容易陷入局部极小的缺陷。

为了检验本发明提出afsa-bp神经网络算法的效果,把该算法与传统bp神经网络方法进行了对比。在仿真过程中,当数据易复杂时,传统bp神经网络方法学习训练速度就会变慢,容易陷入局部极小,严重影响了补偿效果,而经过afsa算法优化后,拟合精度相对较高,收敛速度变快,补偿效果得到了明显的提高。

表2是利用afsa-bp神经网络建立的模型训练实验数据,并对训练的结果进行测试,将得到的实验结果与用传统bp神经网络训练、测试得到的结果进行对比,得到最后的湿度传感器进行温度补偿后的部分数据。

本发明将afsa算法和bp神经网络相结合,通过利用afsa的全局寻优能力不但改善了bp神经网络易陷入局部极小的缺陷,又提高了训练速度和学习精度,有效地补偿了温度对湿度传感器产生的影响,提高了测量的精确度。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1