基于改进ABC算法的脉搏波曲线拟合方法

文档序号:29028304发布日期:2022-02-24 10:43阅读:102来源:国知局
基于改进ABC算法的脉搏波曲线拟合方法
基于改进abc算法的脉搏波曲线拟合方法
技术领域
1.本发明涉及一种基于改进abc算法的脉搏波曲线拟合方法。


背景技术:

2.脉搏波是由心脏的搏动沿动脉血管和血流向外周传播而形成,可以反映心血管系统和血液流体动力学的状态,而精确获取脉搏波中的脉搏特征成为依据脉搏波对人体生理信息进行精确分析的关键环节。
3.由于可穿戴设备采集到的脉搏波信号中存有较多噪声,导致脉搏波中诸如主波、潮波以及重博波等很难彼此区分开;并且多条脉搏波重叠会造成脉搏波中部分采样点消失,这些都造成获取的脉搏波信号不够精确,导致无法从实测脉搏波中提取特征参数从而影响后面机器学习分类器利用精确脉搏波进行疾病预测模型的建立。
4.针对上述问题,有人提出了通过曲线拟合的方法对脉搏波进行建模来描述脉搏波的信号趋势。其中,高斯模型可以较好地表征与脉搏分解相关的心血管功能相关参数。然而,受限于曲线的固有形状和函数的数量,高斯混合函数很难同时很好地拟合出脉搏波的峰值以及细节,还存在高数函数少、待优化参数多以及迭代次数多等问题。除了高斯模型,群体算法也适用于曲线拟合,如遗传算法、粒子群算法、蚁群算法、蜂群算法(abc算法)。其中,abc算法因其相对概念简单、变量少以及容易修改而被关注,传统的abc算法存在搜索策略差、收敛速度慢以及精度低等问题,无法拟合出较好脉搏波曲线从而无法精确地提取脉搏波特征进行进一步地分类。


技术实现要素:

5.为解决上述问题,本发明提供了一种能够根据由多个高斯函数叠加而成的仿真曲线以及实测脉搏波进行拟合从而提取实测脉搏波中的特征参数的脉搏波拟合方法,本发明采用了如下技术方案:
6.本发明提供了一种基于改进abc算法的脉搏波曲线拟合方法,用于根据多个高斯函数混合而成的仿真曲线与实测脉搏波进行拟合形成拟合曲线,其特征在于,包含如下步骤:步骤s1,将仿真曲线中的每一个待优化参数当作可行解的向量元素并设定为蜜源,对蜜源进行初始化得到初始蜜源并给每个初始蜜源分配一只雇佣蜂;步骤 s2,对初始蜜源进行适应值计算并在最优的适应值对应的初始蜜源附近进行随机正态分布得到随机蜜源;步骤s3,雇佣蜂在随机蜜源周围根据预定的蜜蜂搜索方法搜索并得到雇佣蜂蜜源;步骤s4,雇佣蜂招募跟随蜂,跟随蜂在雇佣蜂蜜源以及随机蜜源中进行选定操作;步骤s5,根据混沌阵列映射生成侦查蜂,该侦查蜂根据映射算法得到侦查蜂蜜源;步骤s6,将所有雇佣蜂蜜源以及侦查蜂蜜源中最好的蜜源记录为最优蜜源;步骤s7,重复步骤s2至步骤s6直到重复次数达到预定的最大循环次数,得到唯一的最优蜜源,并根据最优蜜源绘制出最优仿真曲线。
7.本发明提供的基于改进abc算法的脉搏波曲线拟合方法,还可以具有这样的技术特征,其中,步骤s2-1,将初始蜜源平均分为第一初始蜜源集xk以及第二初始蜜源集ok两部
分,对第一初始蜜源集xk以及第二初始蜜源集ok进行随机分布,得到第一初始蜜源集中第i 个初始蜜源x
i,k
位置以及第二初始蜜源集中第s
n-i个初始蜜源位置,如公式(1)所示:
[0008][0009]
式中,k∈{1,2,

,k},k是仿真曲线的待优化参数的最大数量,sn是雇佣蜂的数量,第一初始蜜源集xk为包含仿真曲线的待优化参数个数的向量,第二初始蜜源集ok是第一初始蜜源集xk在边界内进行半分割而获得的对立解;步骤s2-2,评价第一初始蜜源集xk中的各个初始蜜源以及第二初始蜜源集ok中的各个初始蜜源,得到代表每个初始蜜源好坏的适应值;步骤s2-3,根据适应值从所有初始蜜源中选出多个相对良好的蜜源并作为良好蜜源;步骤s2-4,在良好蜜源周围进行随机正态分布得到随机蜜源。
[0010]
本发明提供的基于改进abc算法的脉搏波曲线拟合方法,还可以具有这样的技术特征,其中,当步骤s2-3中选出4个相对良好的蜜源作为良好蜜源时,分别将4个良好蜜源标记为xb和ob,xs和os,围绕xb和ob,xs和os进行随机正态分布得到随机蜜源y:
[0011][0012]
式中,d
1,2,3,4
是指随机正态分布生成的四个子集合,d
min
与d
max
为固定参数,d为上述四个子集合的组合。
[0013]
本发明提供的基于改进abc算法的脉搏波曲线拟合方法,还可以具有这样的技术特征,其中,预定的蜜蜂搜索方法为跨维度搜素和自适应搜索相结合的蜜蜂搜索方法,通过公式(3)可以实现跨维度更新雇佣蜂蜜源y’i,k

[0014]
y'
i,k
=y
t,k

i,k
(y
i,k-y
j,k
)
ꢀꢀꢀ
(3)
[0015]
式中,i,t,j表示为蜂群中的第i个,第t个以及第j个雇佣蜂,i, t,j∈{1,2,...,sn}为随机创建,且j≠i≠t,φ
i,k
为[-1,1]均匀分布的随机数,雇佣蜂蜜源y’i,k
是通过随机蜜源y
i,k
以及y
t.k
组合得到,通过公式(4)可以实现跨邻域更新雇佣蜂蜜源y’i,k

[0016]
[0017]
式中k,l表示为不同维度,k,l∈{1,2,

,k},且k≠l,φ
i,l
是介于{-1, 1}之间的随机数,α,β为固定值,fi,fj为蜂群中第i个和j个雇佣蜂蜜源的适应值。
[0018]
本发明提供的基于改进abc算法的脉搏波曲线拟合方法,还可以具有这样的技术特征,其中,步骤s5还包括如下子步骤:步骤s5-1,根据混沌阵列映射生成侦查蜂,该侦查蜂根据映射算法得到侦查蜂蜜源;步骤s5-2,判断是否有被放弃的雇佣蜂蜜源,在判断为有时进入步骤s5-3,判断为没有时进入步骤s6;步骤s5-3,雇佣蜂转为侦查蜂,在解空间随机搜索侦查蜂蜜源。
[0019]
本发明提供的基于改进abc算法的脉搏波曲线拟合方法,还可以具有这样的技术特征,其中,步骤s5-1包括如下子步骤:步骤t1,当雇佣蜂变成侦查蜂时,创建k维初始向量y0=[y
1,1
,y
1,2
,...,y
1,k
],步骤t2,根据公式(5)生成混沌数组y
z+1,k
:
[0020]yz+1,k
=μy
z,k
(1-y
z,k
)
ꢀꢀꢀ
(5)
[0021]
式中,z∈{1,2,...,z},z为维度数,μ是造成混乱的因素;步骤t3,根据y0以及公式(5)计算得到y
z,k
;步骤t4,根据公式(6)得到侦查蜂蜜源y’z,k

[0022]
y'
z,k
=y
i,k
+r
i,k
(2y
z,k-1)
ꢀꢀꢀ
(6)
[0023]
式中,y
i,k
为随机蜜源,y’z,k
是以y
i,k
为中心,r
i,k
为半径映射得到的侦查蜂蜜源。
[0024]
发明作用与效果
[0025]
根据本发明的基于改进abc算法的脉搏波曲线拟合方法,由于将多个高斯函数叠加而成的仿真曲线中的每一个待优化参数设定为蜜源,并对蜜源初始化后进行随机正态分布,因此可以改善蜜源多样性、减少因蜜源随机创造而引起局部收敛的可能性,还有效地解决了因蜜源更新而出现的边缘处蜜蜂越界问题,将越界的蜜蜂均匀地放置在限定范围内,从而提高算法收敛效率。还由于雇佣蜂在随机蜜源周围通过蜜蜂搜索方法搜索雇佣蜂蜜源,因此为雇佣蜂提供了更多在单一维度上跳出限制的机会,并为导致全局最优解提供了更高的可能性。又由于雇佣蜂根据混沌遍历特性转为侦查蜂,侦查蜂又根据映射算法找到侦查蜂蜜源,因此提高了全局搜索最优蜜源的效率。根据最后得到的最优蜜源绘制仿真曲线从而较好地拟合出脉搏波的峰值以及细节,继而从仿真曲线中提取出更加精准有用的实测脉搏波的特征参数,也为后续向量机的精确分类以及疾病预测模型的建立打下基础,最终实现对人体生理信息的准确分析。
附图说明
[0026]
图1为本发明实施例的基于改进abc算法的脉搏波曲线拟合方法的流程图;
[0027]
图2为本发明实施例的健康人手腕部的实测脉搏波单个周期的示例图;
[0028]
图3为本发明实施例的单个周期脉搏波拟合效果对比图;以及
[0029]
图4为本发明实施例的多个周期脉搏波拟合效果对比图。
具体实施方式
[0030]
为了使本发明实现的技术手段、创造特征、达成目的与功效易于明白了解,以下结合实施例及附图对本发明的基于改进abc算法的脉搏波曲线拟合方法作具体阐述。
[0031]
《实施例》
[0032]
图1是本发明实施例的基于改进abc算法的脉搏波曲线拟合方法的流程图。
[0033]
如图1所示,基于改进abc算法的脉搏波曲线拟合方法包括如下步骤:
[0034]
步骤s1,将仿真曲线中的每一个待优化参数当作可行解的向量元素并设定为蜜源,对蜜源进行初始化得到初始蜜源并给每个初始蜜源分配一只雇佣蜂。
[0035]
其中,每一个初始蜜源对应拥有一只雇佣蜂。
[0036]
步骤s2,对初始蜜源进行适应值计算并在最优的适应值对应的初始蜜源附近进行随机正态分布得到随机蜜源。
[0037]
在本实施例的步骤s2中,还包括如下子步骤:
[0038]
步骤s2-1,将初始蜜源平均分为第一初始蜜源集xk以及第二初始蜜源集ok两部分,对第一初始蜜源集xk以及第二初始蜜源集ok进行随机分布,得到第一初始蜜源集中第i个初始蜜源x
i,k
位置以及第二初始蜜源集中第s
n-i个初始蜜源位置,如公式(1)所示:
[0039][0040]
式中,k∈{1,2,

,k},k是仿真曲线的待优化参数的最大数量,sn是雇佣蜂的数量,第一初始蜜源集xk为包含仿真曲线的待优化参数个数的向量,第二初始蜜源集ok是第一初始蜜源集xk在边界内进行半分割而获得的对立解。
[0041]
其中,xk表示第k个待优化参数的一系列可行解,x
i,k
表示为第k 个待优化参数的第i个可行解,即为xk一系列初始蜜源中的一个初始蜜源的位置。
[0042]
本实施例中,根据随机正态分布的对称性将初始蜜源分为第一初始蜜源集xk以及第二初始蜜源集ok两部分,ok是xk在边界内进行分割而获得的对立解。xk包含着第k个待优化参数的一半可行解,而 ok包含着另一半与xk中各个可行解相对立的可行解。
[0043]
步骤s2-2,评价第一初始蜜源集xk中的各个初始蜜源以及第二初始蜜源集ok中的各个初始蜜源,得到代表每个初始蜜源好坏的适应值。
[0044]
本实施例中,根据公式(a)评价各个初始蜜源。
[0045]
[0046]
式中,n指的是高斯函数的横坐标,即曲线点的个数,m指的是高斯函数的个数,ak、bk以及ck分别为第k个高斯函数的振幅、中心位置以及标准偏差,dm以及em分别是线性分段函数的斜率以及常数,m表示为脉冲周期数,p1,p2,...,p
m+1
(m=1,2,...)是每个完整脉冲周期的边界,通常位于多周期波的谷点,f(n)表示的是实测脉搏波。
[0047]
步骤s2-3,根据适应值从所有初始蜜源中选出多个相对良好的初始蜜源并作为良好蜜源。
[0048]
本实施例中,选出4个相对良好的初始蜜源作为良好蜜源,分别将4个良好蜜源标记为xb和ob,xs和os。每个良好蜜源的数量为sn的四分之一。
[0049]
步骤s2-4,在良好蜜源周围进行随机正态分布得到随机蜜源。
[0050]
本实施例中,围绕xb和ob,xs和os进行随机正态分布得到随机蜜源y:
[0051][0052]
式中,d
1,2,3,4
是指随机正态分布生成的四个子集合,d
min
与d
max
为固定参数,d为上述四个子集合的组合,可以为xb和ob,xs和os选择相对最佳的蜜源,d
min
与d
max
为固定参数。在d
1,2,3,4
周围进行正态分布,从而改善多样性,减少蜜蜂随机创造而引起局部收敛的可能性。
[0053]
本实施例中,d
min
设置为80%,d
max
设置为120%。
[0054]
步骤s3,雇佣蜂在随机蜜源周围根据预定的蜜蜂搜索方法搜索并得到雇佣蜂蜜源。
[0055]
其中,预定的蜜蜂搜索方法为跨维度搜素和自适应搜索相结合的蜜蜂搜索方法。
[0056]
本实施例中,通过公式(3)可以实现跨维度更新雇佣蜂蜜源y’i,k

[0057]
y'
i,k
=y
t,k

i,k
(y
i,k-y
j,k
)
ꢀꢀꢀ
(3)
[0058]
式中,i,t,j表示为蜂群中的第i个,第t个以及第j个雇佣蜂, i,t,j∈{1,2,...,sn}为随机创建,且j≠i≠t,φ
i,k
为-1和1之间的随机数,雇佣蜂蜜源y’i,k
是通过随机蜜源y
i,k
以及y
t.k
组合得到,而不是传统abc算法中仅仅通过y
i,k
计算得到。
[0059]
根据公式(3)可以在其他维度搜索空间中更新雇佣蜂蜜源,也为蜜蜂提供了更多在单一维度上跳出限制的机会,并为导致全局最优解提供了更高的可能性。
[0060]
通过公式(4)可以实现跨邻域更新雇佣蜂蜜源:
[0061][0062]
式中k,l表示为不同维度,k,l∈{1,2,

,k},且k≠l,φ
i,l
是介于{-1,1}之间的随机数,α,β为固定值,fi,fj为蜂群中第i个和j 个雇佣蜂蜜源的适应值,当适应值为正时,优化问题转为最小解搜索问题。
[0063]
本实施例中,自适应搜索在迭代时间内基于适应值对雇佣蜂蜜源进行定量计算从
而实现雇佣蜂蜜源的跨邻域更新。
[0064]
通过公式(3)以及公式(4)可以实现跨维度搜素和自适应搜索相结合的蜜蜂搜索方法,完成跨维度以及跨邻域地更新雇佣蜂蜜源。
[0065]
本实施例中,雇佣蜂找到雇佣蜂蜜源后根据雇佣蜂蜜源的适应值利用常规的贪心策略对雇佣蜂蜜源以及随机蜜源进行选择。如果雇佣蜂选择雇佣蜂蜜源,就进入步骤s4;如果雇佣蜂保留随机蜜源,就继续在随机蜜源周围搜索雇佣蜂蜜源。
[0066]
步骤s4,雇佣蜂招募跟随蜂,跟随蜂在雇佣蜂蜜源以及随机蜜源中进行选定操作。
[0067]
本实施例中,雇佣蜂根据常规的轮盘赌方法招募跟随蜂,跟随蜂根据雇佣蜂传递的信息找到雇佣蜂蜜源,并通过常规的贪心策略在雇佣蜂蜜源以及随机蜜源中选择出较好的一个。
[0068]
步骤s5,根据混沌阵列映射生成侦查蜂,该侦查蜂根据映射算法得到侦查蜂蜜源。
[0069]
其中,步骤s5还包括如下子步骤:
[0070]
步骤s5-1,根据混沌阵列映射生成侦查蜂,该侦查蜂根据映射算法得到侦查蜂蜜源。
[0071]
其中,步骤s5-1还包括如下子步骤:
[0072]
步骤t1,当达到蜜源初始化时预先设定的最大迭代次数时雇佣蜂变成侦查蜂,并创建k维初始向量y0=[y
1,1
,y
1,2
,...,y
1,k
]。
[0073]
步骤t2,根据公式(5)生成混沌数组y
z+1,k
:
[0074]yz+1,k
=μy
z,k
(1-y
z,k
)
ꢀꢀꢀ
(5)
[0075]
式中,z∈{1,2,...,z},z为维度数,μ是造成混乱的因素。
[0076]
步骤t3,根据y0以及公式(5)计算得到y
z,k

[0077]
步骤t4,根据公式(6)得到侦查蜂蜜源y’z,k

[0078]
y'
z,k
=y
i,k
+r
i,k
(2y
z,k-1)
ꢀꢀꢀ
(6)
[0079]
式中,y
i,k
为随机蜜源,y’z,k
是以y
i,k
为中心,r
i,k
为半径映射得到的侦查蜂蜜源。
[0080]
步骤s5-2,判断是否有被放弃的雇佣蜂蜜源,在判断为有时进入步骤s5-3,判断为没有时进入步骤s6。
[0081]
步骤s5-3,雇佣蜂转为侦查蜂,在解空间随机搜索侦查蜂蜜源。
[0082]
步骤s6,将所有雇佣蜂蜜源以及侦查蜂蜜源中最好的蜜源记录为最优蜜源。
[0083]
步骤s7,重复步骤s2至步骤s6直到重复次数达到预定的最大循环次数,得到唯一的最优蜜源,并根据最优蜜源绘制出最优仿真曲线。
[0084]
本实施例中,每循环一次就会有所有待优化参数的最优解输出,下次循环输出的所有待优化参数的最优解优于上一次循环输出的最优解时,将会自动替代上一次的最优解。经过预定的最大循环次数后,只保留一组所有待优化参数的最优解,根据这一组最优解绘制出最优仿真曲线。
[0085]
图2为本发明实施例的健康人手腕部的实测脉搏波单个周期的示例图。
[0086]
本实施例中,将50例健康候选人的手腕部测得的实测脉搏波作为测试数据集,随机选取其中4例进行拟合质量检查,分别如图2中的(a)、(b)、(c)、(d)所示。
[0087]
其中,图2中的横坐标表示采样点数,纵坐标表示实测脉搏波的幅值,图2中的(a)中“样本01”、(b)中“样本02”、(c)中“样本03”以及(d)中“样本04”即为4例健康候选人的实
测脉搏波的编号。
[0088]
本实施例中,选取编号为“样本01”的实测脉搏波作为后续单个周期脉搏波拟合效果分析的基础。
[0089]
图3为本发明实施例的单个周期脉搏波拟合效果对比图。
[0090]
如图3中的(a)、(c)、(e)所示,黑色实线为多个高斯函数混合而成的仿真曲线(即实验数据),黑色虚线为传统abc算法(即 abc)的仿真曲线,灰色虚线为本发明的基于改进abc算法的脉搏波曲线拟合方法绘制出的最优仿真曲线(即mabc)。其中图3中(a)、 (b)以及(c)中分别使用了3、4以及5个高斯函数进行混合。
[0091]
从图3中的(a)、(c)、(e)可以看出本发明绘制出的最优仿真曲线相比于传统abc算法的仿真曲线能够更好地拟合出实测脉搏波的峰值以及细节部分。
[0092]
如图3中的(b)、(d)、(f)所示,实线为传统abc算法(即 abc)的最小均方根(rms),虚线为本发明的拟合方法(即mabc) 的最小均方根,可以明显看出本发明的拟合方法相较于传统abc算法收敛更快且rms小于等于传统abc算法的rms。所以,本发明的拟合方法不仅细节拟合质量好,收敛速度快,且拟合精度高。
[0093]
图4为本发明实施例的多个周期脉搏波拟合效果对比图。
[0094]
如图4所示,实线为5个高斯函数混合而成的仿真曲线(即实验数据),虚线为本发明的基于改进abc算法的脉搏波曲线拟合方法的仿真曲线(即拟合曲线),横坐标为采样点数,纵坐标为幅值。可以看出4例测试数据(如图2中的(a)、(b)、(c)、(d)所示)中每例测试数据的多个周期内本发明都能拟合出较好的仿真曲线,所以本发明的拟合方法在高维空间中能更好地绘制出仿真曲线。
[0095]
实施例作用与效果
[0096]
根据上述实施例提供的基于改进abc算法的脉搏波曲线拟合方法,由于将多个高斯函数混合而成的仿真曲线中的各个待优化参数设定为蜜源,并对蜜源初始化后进行随机正态分布,因此可以改善蜜源多样性、减少因蜜源随机创造而引起局部收敛的可能性,还有效地解决了因蜜源更新而出现的边缘处蜜蜂越界问题,将越界的蜜蜂均匀地放置在限定范围内,从而提高算法收敛效率。还由于雇佣蜂在随机蜜源周围通过蜜蜂搜索方法搜索雇佣蜂蜜源,因此为雇佣蜂提供了更多在单一维度上跳出限制的机会,并为导致全局最优解提供了更高的可能性。又由于雇佣蜂根据混沌遍历特性转为侦查蜂,侦查蜂又根据映射算法找到侦查蜂蜜源,因此提高了全局搜索最优蜜源的效率。根据最后得到的最优蜜源调整仿真曲线从而较好地拟合出脉搏波的峰值以及细节,也为后续向量机的精确分类以及疾病预测模型的建立打下基础,最终实现对人体生理信息的准确分析。
[0097]
另外,实施例中,由于通过将随机蜜源分为两部分并从该两部分随机蜜源中选出多个良好蜜源进而在多个良好蜜源周围进行随机正态分布,因此可以改善多样性,还能减少因蜜源随机创造而引起局部收敛的可能性。
[0098]
另外,实施例中,由于将越界的蜜蜂重新设置在限定范围内,因此可以提高算法收敛的效率。
[0099]
另外,实施例中,由于利用了跨纬度搜索方法,因此可以结合其他维度更新雇佣蜂,增加了蜜蜂之间的信息共享。
[0100]
另外,实施例中,由于利用混沌阵列映射生成侦查蜂并且该侦查蜂根据映射算法
寻找侦查蜂蜜源,因此改变了传统abc算法中侦查蜂随机生成的策略,提高了全局搜索最优蜜源的效率。
[0101]
上述实施例仅用于举例说明本发明的具体实施方式,而本发明不限于上述实施例的描述范围。
[0102]
在上述实施例中,良好蜜源个数为4,本发明也可以根据适应值选取2个、6个或其它个数的初始蜜源进行随机正态分布。
[0103]
在上述实施例中,高斯函数个数分别选用了3个、4个以及5个,本发明也可以选用6个、7个以及更多个高斯函数进行混合得到仿真曲线。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1