一种改进粒子群优化神经网络的压力导丝温度补偿方法与流程

文档序号:12126324阅读:447来源:国知局
一种改进粒子群优化神经网络的压力导丝温度补偿方法与流程

本发明属于医用传感器领域,涉及医用压力导丝的超微型压力传感器温度补偿技术,尤其涉及一种利用粒子群优化神经网络的压力导丝温度补偿方法。



背景技术:

近年来,血流储备分数(FFR)成为诊断人体冠状动脉狭窄的“金标准”。压力导丝作为FFR测量的核心元件,其测量精度的高低直接影响FFR测量结果。压力导丝从人体下肢动脉或腰部动脉进入人体血管,配合血管照影技术引导到达冠状动脉狭窄部位,通过压力导丝远端的超微型压力传感器测得狭窄处两端的血压值,进而计算得到FFR值。但由于超微型压力传感器本身尺寸极小,受传感器制造工艺影响,本身存在非线性问题,且受外环境温度影响严重。超微型压力传感器的非线性及温度漂移直接影响FFR测量精度。因此,必须提高超微型压力传感器的制造工艺,减小压力导丝的非线性及温度误差,这也是造成国内自主压力导丝生产领域空白的主要原因。

针对压力传感器非线性及温度补偿问题,主要有硬件补偿和软件补偿两种解决方法。目前临床上正在使用的FFR测量系统主要是由美国的St . Jude 和Volcano两家公司生产的,且这两家公司对于压力导丝的温度及非线性问题主要是通过硬件方法进行补偿。其中St . Jude公司主要以PGA309为核心构成信号补偿电路,而Volcano公司则以复杂的分立电路模块共同完成信号补偿。但硬件补偿方法可能受到电子元器件本身非线性及温度漂移等问题影响,导致整个测量系统可靠性差级精度不高,并且目前适用于压力导丝信号调理的芯片价格较昂贵。所以希望有软件算法实现压力传感器的非线性及温度补偿,但目前对于压力传感器进行温度及非线性补偿的软件算法主要有以BP神经网络为主的人工智能算法。BP神经网络算法通过学习可以任意逼近非线性映射模型,有效地提高补偿精度,但标准的BP神经网络存在易陷入局部最优、收敛速度慢和稳定性差等缺点。

粒子群算法(Particle Swarm Optimization,PSO),是一种基于迭代的模拟鸟类等动物活动的智能算法。PSO算法通过群体中个体间的合作寻找最优解,具有全局寻优的能力。但标准的PSO算法粒子以较大的速度更新公式更新每个粒子的位置,可能跳过最优解的位置,从而无法搜索到全局最优解。



技术实现要素:

本发明解决了现有软件补偿算法的缺点:提供一种改进粒子群优化神经网络的压力导丝温度补偿方法,通过实时调整粒子的惯性权重平衡粒子群算法的全局寻优和局部寻优的能力,提高BP神经网络的全局寻优能力、稳定性及泛化能力,最终达到提高压力导丝非线性补偿精度的目的。

为解决上述技术问题,本发明采用以下技术方案:

一种改进粒子群优化神经网络的压力导丝温度补偿方法,其特征是:包括以下步骤:

(1)采集压力导丝输出电压以及所处环境相关参数,主要包括压力导丝所处环境的温度值,压力值以及与其相对应的压力导丝输出的电压值,并对其尽心归一化处理;

(2)构建一个具有误差反向传播能力的三层前反馈神经网络(BP神经网络)模型,并设置其输入、输出层及隐含层的神经元个数,各层传递函数以及网络训练参数等;

(3)利用改进的粒子群算法优化构建的神经网络的权值和阈值;

a.初始化构建粒子群算法,设置粒子群算法参数,包括:粒子数、粒子群维度、粒子初始位置及初始速度、迭代次数、惯性权重ω以及学习因子 、;

b.针对每个粒子计算适应度值 ,记录每个粒子的历史最优适应度值时粒子位置 以及粒子群所有粒子中的历史最优适应度值时粒子位置 ;

c.判断粒子适应度是否达到要求或迭代次数是否达到最大,若达到,进行步骤(4),若未达到,继续步骤d;

d.按照以下速度和位置公式更新所有粒子的位置和速度:

其中为惯性权重,为第i个粒子第t次迭代后的速度,为第i个粒子第t+1次迭代后的速度,为第i个粒子的历史最优位置,为整个粒子群历史最优位置,、为学习因子,第i个粒子的当前位置,为随机数、 第i个粒子第t次迭代后的位置,为第i个粒子第t+1次迭代后的位置;

重新返回步骤b;

(4)对优化后权值和阈值的神经网络进行训练,将粒子群算法优化后的权值和阈值赋给BP神经网络,并判断是否达到神经网络训练要求,若达到,直接进行步骤(5),若未达到,使用神经网络训练函数对各层权值和阈值进行二次优化,达到训练要求后进行步骤(5);

(5)利用训练得到的神经网络模型对压力导丝测量数据进行温度补偿,将压力导丝输出的电压值和环境温度值作为神经网络的输入,训练好的神经网络输出补偿后的环境压力值。

2.根据权利要求1所述的一种改进粒子群优化神经网络的压力导丝温度补偿方法,其特征是:所述步骤(1)中对数据进行归一化处理是将压力导丝测得的电压值、外界温度值和压力值分别映射到[m,n]范围内。

3. 根据权利要求1所述的一种改进粒子群优化神经网络的压力导丝温度补偿方法,其特征是:所述步骤(2)中构建的BP神经网络输入层神经元个数为a、隐含层神经元个数为b、输出层神经元个数为c,隐含层传递函数为S型函数、输出层传递函数为线性函数,迭代次数为Tmax次,均方误差为ε,训练方法根据需要选取算法。

4. 根据权利要求1所述的一种利用改进粒子群优化神经网络算法的压力导丝温度补偿方法,其特征是:所述步骤(3)中每个粒子都包含BP神经网络的所有权值和阈值,粒子数取q,q的范围可在[20,100]内,维度为,粒子初始位置及初始速度取随机值,迭代次数取,惯性权重ω和学习因子、按如下公式取得:

其中,、为惯性权值的最大值、最小值,为当前迭代次数,为粒子群算法最大迭代次数,τ和控制ω更新函数的下凹程度,控制学习因子的取值范围。

粒子适应度值为当前粒子的权值和阈值带入神经网络网络输出值与实际值间的均方误差,适应度最优即为均方误差最小:

其中,为训练样本个数,为神经网络预测输出值,实际外界压力值。

5.根据权利要求1所述的一种改进粒子群优化神经网络的压力导丝温度补偿方法,其特征是:所述步骤(4)中神经网络训练要求是构建神经网络时设置的误差精度要求,即为当前网络的权值和阈值预测出的输出值与实际值间的均方误差是否满足神经网络的设置要求,若未达到,使用神经网络训练函数更新权值和阈值,直到达到误差精度要求或达到最大迭代次数后停止训练。

6.根据权利要求1所述的一种改进粒子群优化神经网络的压力导丝温度补偿方法,其特征是:所述步骤(5)中训练结束得到的神经网络构成了压力导丝的逆模型,完成压力导丝的温度补偿。

7.根据权利要求2所述的一种改进粒子群优化神经网络的压力导丝温度补偿方法,其特征是:对数据进行归一化处理映射到[m,n]范围内是由神经网络隐含层传递函数选取决定。

8.根据权利要求3所述的一种改进粒子群优化神经网络的压力导丝温度补偿方法,其特征是:神经网络输入层神经元个数由拟合模型输入决定;对于隐含层神经元个数确定,一方面可通过经验公式,,其中分别对应输入层、输出层神经元个数,在[1,10]范围内取值,另一方面可以根据拟合模型的具体精度要求通过个数试验确定;输出层神经元个数由拟合模型的输出决定。

与现有技术相比,本发明具有以下优点:

A.与标准BP神经网络算法进行温度补偿相比,本发明在增加了迭代次数的前提下,有效避免了陷入局部最优的问题;

B.与使用标准PSO算法优化BP神经网络进行温度补偿相比,本发明有效避免了跳过全局最优的问题;

C.本发明有效提高了现有软件补偿算法的泛化能力,且可重复性明显提高。

附图

图1:压力导丝温度补偿原理

图2:三层神经网络模型

图3:改进PSO-BP神经网络算法流程图

图4:压力导丝温度及非线性误差

图5:BP神经网络算法补偿效果图

图6:标准PSO-BP神经网络算法补偿效果图

图7:改进PSO-BP神经网络算法补偿效果图

具体实施方式

本发明提供一种改进粒子群优化神经网络的压力导丝温度补偿方法,通过动态调整粒子的惯性权重平衡粒子群算法的全局寻优和局部寻优的能力,提高BP神经网络的全局寻优能力、稳定性及泛化能力,最终达到提高压力导丝非线性补偿精度的目的。

具体实施步骤如下:

(1)采集压力导丝输出电压以及所处环境相关参数,温度点选取从36℃到40.5℃范围内间隔0.5℃的10个温度点,压力值为0到300mmHg范围内间隔5mmHg的61个压力点,以及压力导丝在对应环境下的输出的610个电压值如下表一所列,组成共计610组测量样本,并对样本数据分别归一化到[-1,1]范围内;

(2)构建的BP神经网络输入层为2个神经元、隐含层为30个神经元、输出层为1个神经元,隐含层传递函数为双曲正切S型“tansig”函数、输出层传递函数为线性“pureline”函数,迭代次数为10000次,均方误差为8×10-6,训练方法为Levenberg-Marquard算法。其中神经网络输入层为2个神经元,分别对应压力导丝输出的电压值和外界环境温度;隐含层为30个神经元,是通过隐含层神经元个数试验,能够满足精度误差要求为1×10-5的最少神经元个数;输出层为1个神经元,对应压力导丝所处外界环境压力值;

(3)利用改进的粒子群算法优化构建的神经网络的权值和阈值;

a.初始化构建粒子群算法,每个粒子都包含BP神经网络的所有权值和阈值,粒子数取50,维度为2×30+30+30×1+1=121,粒子初始位置及初始速度取随机值,迭代次数取200,惯性权重ω以及学习因子、按如下公式取得:

其中、为惯性权值的最大值、最小值分别取0.95、0.4,为当前迭代次数,为粒子群算法最大迭代次数取200;

b.针对每个粒子计算适应度值 ,记录每个粒子的历史最优适应度值时粒子位置 以及粒子群所有粒子中的历史最优适应度值时粒子位置 。粒子适应度值为当前粒子的权值和阈值带入神经网络网络输出值与实际值间的均方误差,适应度最优即为均方误差最小:

其中,为训练样本个数610,为神经网络预测输出值,实际外界压力值;

c.判断粒子适应度是否达到要求8×10-6或迭代次数是否达到200次,若达到,进行步骤(4),若未达到,继续步骤d;

d.按照以下速度和位置公式更新所有粒子的位置和速度:

重新返回步骤b;

(4)对优化后权值和阈值的神经网络进行训练,将粒子群算法优化后的权值和阈值赋给BP神经网络,并判断是否达到神经网络训练要求,若达到,直接进行步骤(5),若未达到,使用神经网络训练函数Levenberg-Marquard函数对各层权值和阈值进行二次优化,达到训练要求后进行步骤(5);

(5)利用训练得到的神经网络模型对压力导丝测量数据进行温度补偿,将压力导丝输出的电压值和环境温度值作为神经网络的输入,训练好的神经网络输出补偿后的环境压力值。

图4为压力导丝的温度及非线性误差图,图5、图6、图7分别优化前的BP神经网络和标准PSO-BP神经网络算法与优化后的改进PSO-BP神经网络算法补偿效果对比图。由图可鉴,改进后的PSO-BP神经网络算法能够明显改善BP神经网络的补偿效果。

上面已结合具体实施步骤说明了本发明,然而对于本领域的技术人员来说,可以在不背离本发明的精神和范围的前提下,对本发明做出不同的改进和变型。因而落入本发明的权利和要求范围内的各种改进和变型,都应属于本发明的保护范围之内。

表 1:610组样本数据。

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