一种基于改进狼群算法优化支持向量机的心音分类方法与流程

专利2022-06-29  97


本发明涉及一种基于改进狼群算法优化支持向量机的心音分类方法,属于数字信号处理技术领域。



背景技术:

本发明公开了一种基于改进狼群算法优化支持向量机的心音分类方法,受狼群的分工协作的捕猎以及猎物分配特点的启发,狼群算法建模狼群捕食行为,从而能有效寻求最优解。狼群中最强壮的狼为头狼,它带领着狼群进行“指挥”捕猎,再者就是若干匹探狼,狼群不会整体出动去寻找猎物,而是派出部分探狼在搜索空间寻找猎物,探狼的任务就是觅食,寻找猎物;然后就是若干匹猛狼,在锁定目标后,对猎物展开围攻。在狼群捕到猎物后,并不是将猎物进行均匀分配给个体,而是更强壮的狼分配到的猎物会更多,体弱的狼得到更少的猎物或者得不到猎物,最终可能因为体弱饥饿而被大自然所淘汰,这也体现了优胜劣汰的生存法则,使得狼群朝着更加健壮更加强盛的方向发展。



技术实现要素:

本发明的目的在于提供一种基于改进狼群算法优化支持向量机的心音分类方法,本发明来利用基于进行特征提取后的心音信号进行分类,通过支持向量机将低维关系映射到高维,并通过改进后的狼群算法优化支持向量机能够有效的对心音信号进行分类。

为实现上述目的,本发明提供如下技术方案:

与现有技术相比,本发明的有益效果:

1、改进狼群算法优化支持向量机。本发明使用改进狼鱼群算法优化支持向量机的高斯核函数宽度和惩罚因子,改进了支持向量机回归超参数无法自适应变化的缺陷,并且通过改进狼群算法自适应的优化支持向量机参数,避免了人为确定参数的不确定性,能够更好的适应不同场景。

2、心音的分类。本发明所获得模型能够有效的对心音进行分类识别,为心音信号的分类识别提供了一种新的方法,对进一步实现心脏疾病的临床辅助诊断具有重要价值。

针对传统狼群算法收敛速度慢、易陷入局部最优解的问题,本发明提出了改进狼群算法,其结合遗传算法中的交叉和变异操作和模拟退火算法中的metropolis判别准则,增加了种群多样性,也保证了不丢失最优个体(头狼),保证了搜索的精度,又可以同时扩大搜索范围,使狼群算法具有跳出局部最优的能力,之后使用模拟退火算法对头狼附近进行局部寻优,进一步提高算法的解的精度。支持向量机回归基于统计学习理论的机器学习方法,其将低维空间的数据向量映射到高维空间,在高维空间进行类线性回归,基于经验风险最小化和结构风险最小化构建目标函数,其能有效解决样本数量少、维数高的非线性优化问题,相对于其他分类算法具有的陷入局部最优和nna算法过学习的问题,均可有效避免。其能针对心音信号进行有效的分类。本发明基于改进狼群算法优化支持向量机分类的方法能够较有效的对心音信号进行分类,能够提高心血管疾病的诊断水平和确诊率。

附图说明

图1为本发明的一种基于改进狼群算法优化支持向量机的心音信号分类的流程图。

图2为本发明的心音信号分类总体流程图。

图3为本发明的狼群捕猎示意图。

图4为本发明的交叉操作示意图。

图5为本发明的变异操作示意图。

图6为本发明改进的狼群优化支持向量机分类流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1至图6,本发明提供一种技术方案:

从图1的流程图可知,整个算法流程包括数据的预处理,心音信号的分类以及模型优化与重构3大过程,数据的预处理包括心音信号的去噪与特征提取,心音信号的分类包括建立分类模型、分类,模型优化利用改进的狼群算法寻找支持向量机的最优惩罚系数c和核函数参数找到最有适应度值,再利用训练数据对改进后的支持向量机进行训练然后根据模型进行分类。

s1数据的预处理:

s1.1心音信号的去噪

本文选择二尖瓣狭窄、主动脉瓣狭窄、和室间隔不全两类舒张期心杂音作为实验对象。实验数据包含270例心音信号,其中60例二尖瓣狭窄(ms)、60例主动脉瓣狭窄(as)、60例室间隔不全(vsd)和90例正常心音(nor-malheartsounds,nhs)。

心音是一种微弱的生理信号,在采集的过程中非常容易受人为或环境中噪声的干扰,从而影响特征参数提取的准确性,因此有必要对采集的心音信号进行消噪处理以突出其特征。对于心音信号去噪,小波变换是一种非常有效的方法,为此本文采用能量集中度高、时间局部性好的db6小波、‘sqtwolog’阈值和5层分解的方法对采集的心音消噪。

s1.2心音信号的特征提取:

在心音分类器的设计与识别中,特征参数提取的有效与否将直接影响到分类器的性能及分类识别的结果。mfcc是根据人耳的听觉掩蔽效应提出来的,它能够反映出人耳耳蜗感知性能与声音频率呈非线性的关系,且在低频频带具有较高的分辨率,因此较为适用于心音信号的识别。mfcc是一组矢量序列,是将心音频谱变换到梅尔频率刻度下得到的。mfcc的线性频率转换关系如下:

mel(f)=clog10(1 f/p)(1)

其中c和p均为常量参数,f为频率,在处理语音信号中取值分别为2595和700。

s1.2.1mfcc特征向量的提取

本文将得到的去噪后的心音信号的进行特征提取,mfcc特征提取过程描述如下:

3)基础心音的分帧与加窗。同语音信号相似,心音信号也具备短时平稳性,研究中一般认为心音信号在10ms~30ms内具备短时平稳性。在分帧与加窗处理中,帧长一般选取为20ms,帧移选取为10ms,窗函数选择长度为20ms的hamming窗,因为它可以在一定程度上克服频谱泄漏现象。

4)快速傅里叶变换(fft)。将分帧后的信号fm(n)逐帧做fft,得到频域信号xm(k):

其中m为帧数,l为帧长。

3)mel频率刻度的变换。将xm(k)经mel滤波器组进行滤波和刻度转换,就可得到mel频谱。mel滤波器组由一组三角形滤波器构成,其个数一般与临界带宽有关。实验中采用的心音信号采样率为2khz,选取三角滤波器的个数为n=12个,阶数为m=24。

(4)倒谱分析。倒谱分析主要包括取对数能量和逆变换。其中,取对数能量的作用是对频谱动态范围进行压缩;逆变换的作用是防止三角滤波器在频谱上叠加造成的干扰,即去除频谱成分间的相关性。对数能量em及dct变换可表述为:

其中n为三角滤波器的个数,m为mfcc的阶数,即为提取到的特征向量。

mfcc提取方法中存在dct变换无法做到高阶统计量的去相关。基于以上这个问题,本文采用独立成分分析法(ica)的方法来替代第(4)式(dct变换)来优化提取的mfcc特征向量。独立成分分析算法是一种盲源分离的经典算法,其功能是将源信号从混合信号中分离开来,使所提取的各成分分量之间的相关性最小。fastica算法容易收敛不同的非高斯极值点,造成信号出现顺序不固定,使得心音鉴别器的识别结果严重偏离,且容易出现信号翻转。为了解决ica算法中出现的难题,本文提出了一种解整体混合矩阵的方法。解整体混合矩阵ica变换提取特征向量主要增加了两个步骤:

(3)三角滤波器的输出顺序将待解混合矩阵心音信号拼接起来生成统一待解混合矩阵;

(4)解混合矩阵特征提取中,首先通过ica变换将待解混合矩阵的心音信号分离得到独立信号,然后按照方差排序选择较大的24个独立信号进行保留。

具体步骤:

1)假定待分离的第m帧心音信号为em∈rn×1能够表示为d维位置独立变量sm,则em可表示为:

em=am*sm rm(5)

其中am为第m帧心音混合矩阵,rm为第m帧心音的残差,am∈rn×d,rm∈rn×1。ica的主要目的是通过em估计出am来获取独立信号分量sm。

2)将所有的带分离三角滤波器输出心音样本按顺序排列成矩阵整体样本e∈rn×m,其中n为变量的维数,m为样本总数。因此整体混合矩阵的ica变换可表示为:

e=as r(6)

其中a为整体混合矩阵,s为整体独立成分矩阵,r为整体残差矩阵。

3)设整体混合矩阵的逆为:

w=a-1(7)

则解出的独立源信号为:

s=w*(e-r)(8)

4)在寻找非高斯化极值时,最大化负熵目标函数为:

其中qi为正常数,u为标准高斯随机变量,g为非平方的非线性函数。其牛顿法求解的迭代公式为:

g=g'(11)

按照式(10)重复迭代即可逐一分离出各特征分量。

s2心音信号的分类:

s2.1建立分类模型:

支持向量机回归预测效果与惩罚因子c和高斯核宽度系数σ有重要关系,因此合理确定以上两个因子具有重要意义。支持向量机具有较好的高维模式识别和回归预测能力;目前支持向量机在核函数参数和惩罚系数这两个参数的选择问题上大都采用交叉验证法,如果能通过智能优化算法来寻找支持向量机的最优参数,将很好的解决支持向量机参数选择及应用等诸多实际问题。改进狼群算法模拟狼群的分工协作的捕猎以及猎物分配的过程设计最优化搜索算法,其具有全局搜索,收敛速度快等特点。应用改进狼群法进行搜索最优的支持向量机参数具有重要意义。

s2.1.1支持向量机回归:

学习问题通常可以表示为对输入变量x和输出变量y之间的未知依赖关系求解,假设有一个独立同分布的观测样本如下:

(x1,y1),(x2,y2),...(xl,yl)∈rn×r

回归问题就是寻找rn上的一组函数{f(x,w)}中的一个函数f(x),用其推断任一输入x对应的y值。支持向量回归机(svr),支持向量机应用于回归预测时,主要通过寻找一个最优分类面,使所有训练样本距离该最优分类面的误差最小。设训练样本为{(xg,yg),g=1,2,...m},其中xg是svm模型的第g个样本输入向量,yg是对应的输出向量,通过以下非线性映射函数实现回归拟合

f(x)=w*φ(x) b(1)

其中,φ(x)为非线性映射函数,通过引入松弛变量ξg,ξ*g,并假设训练样本都能在精度ε下无误差地用线性函数拟合,则寻找w,b问题可以转化为如下形式:

c为惩罚函数。引入largrange函数,其对偶问题为:

式中,k(xg,xq)=φ(xg)φ(xq)为核函数,回归函数为:

只要部分(μg-μ*g)参数不为0,其对应的样本xg即为支持向量。

核函数采用高斯核:

σ2核函数参数。

s2.2分类:

应用支持向量机对心音信号进行分类的总体流程图如图2。

s3模型优化与重构:

s3.1改进狼群算法优化支持向量机系数:

s3.1.1改进狼群算法

改进狼群算法通过模拟狼群的分工协作的捕猎以及猎物分配的过程来进行最优化搜索。狼群算法的捕猎行为过程如图3。

s3.1.1.1一种基于改进狼群算法的最优化搜索方法,其步骤如下:

狼群算法主要是通过模拟在头狼的带领下狼群协同捕猎的过程来模拟仿生出来的一种仿生智能算法,并可以处理复杂函数的优化问题。狼群的捕猎行为主要是围绕头狼进行的一系列的智能行为。基本的狼群算法将其抽象成3种智能行为(即游走行为、召唤行为、围攻行为),其次就是狼群的“强者生存”的狼群更新机制和“胜者为王”的头狼产生规则,在保证狼群多样性的同时,也使整个狼群系统更加健壮。

(6)狼群初始化以及头狼的产生规则:在搜索空间里初始化狼群,并选择目标函数值最优的狼作为头狼,即为ylead,若存在多匹,则在其中随机选择一匹狼作为头狼。头狼不执行以下三种智能行为(即游走行为、召唤行为、围攻行为),直到头狼被其他更强壮的狼取代。设定狼群的种群规模为n初始化探狼比例因子α,最大迭代次数t最大游走次数tmax,更新比例因子β,目标函数值最小的狼为头狼,交叉算子pc,变异算子pm,退火初始温度t,温度冷却系数c,模拟退火最大迭代次数lmax,并设置狼个体的适应值变化极小或者不变化时的迭代次数tq。

(7)游走行为:在狼群游走寻找猎物的过程中,狼群并不是整体出动去寻找猎物,而是选择除头狼若干匹比较精壮的头狼进行游走行为,具体游走过程为:除头狼外,选取s_sum匹目标函数值最优的狼作为探狼.

探狼的数目为该区间内s_sum∈[n/(α 1),n/α]的随机整数,其中α为探狼比例因子,探狼i以步长为stepa向h个方向进行搜索猎物,若感知某个方向的猎物气味浓度(即目标函数值)强于现在的位置,则前进一步,即更新探狼i的位置,反之,留在原位置。探狼i的在向第p(p∈(1.2.3...h))个方向搜索后的在第d维空间的位置:

式中,stepa为游走行为,stepb为奔袭步长,stepc为围攻步长,s为步长因子。

对于改进后的狼群算法:

探狼重复以上游走行为,当探狼向h个方向试探后,并且仍停留在原位置,则一定的概率pc的对该匹探狼进行交叉操作,并对原位置的适应值进行比较,若优于原位置,则该匹狼的的位置更新为交叉后的位置如图4;

直到头狼更换(即yi>ylead)或者达到最大游走次数tmax时进入召唤行为。

(8)召唤行为:头狼通过嚎叫来召唤附近的猛狼,猛狼以较大的步长stepb向头狼位置迅速靠拢。则猛狼i在第k 1次迭代时,在第d维变量空间中的位置为:

式中,为第k代狼群头狼在第d维空间中的位置。召唤的过程中,若猛狼i感知到的猎物气味浓度yi>ylead,则更换头狼,继续发起召唤行为;反之,继续奔袭直到猛狼i与头狼之间的距离di<dnear时转入围攻行为。假设待寻优变量的第d(d∈[1,2,3...d])维取值范围为[dmin,dmax],判定距离dnear的大小由式(3)计算得到:

式中,ω为距离判定因子,d为维数。

(9)围攻行为:第k 1代狼群在第d维空间中的位置表示为式(4):

式中,λ∈[-1,1]之间的随机数,stepc为围攻步长,为第k代狼群第d维的位置,为猛狼i在第k次迭代时在第d维变量空间中的位置。若围攻后的气味浓度大于其原位置的气味浓度,则更新人工狼的位置。反之,位置不变。各智能行为中的步长关系如式(5)所示:

式中,stepa为游走行为,stepb为奔袭步长,stepc为围攻步长,s为步长因子。

对于改进后的狼群算法:

在围攻行为过后,得到当前迭代次数的头狼,若优于上一代头狼,则将tq=0;若和上一代头狼相差很小或者没有变化时,tq=tq 1;当tq大于预置的连续不变化阈值tqmax时,则一定的概率pm进变异操作如图5;

变异操作是将除头狼外的所有狼进行变异行为,增加种群的多样性的同时,也有利于算法跳出局部最优点,变异后的个体狼若优于头狼,则将tq=0;

(10)“强者生存”的狼群更新机制:按照狼群个体的精壮程度“由强到弱”的原则进行食物分配,弱小的狼可能会被饿死,即算法中会去除掉目标函数值较差的r匹狼,同时再随机生成r匹狼,r∈[n/(2×β),n/β],r为该区间内的随机整数,β为狼群更新比例因子,在保证狼群数量的同时,也增加种群的多样性,有利于提高狼群算法的整体寻优性能。

对于改进后的狼群算法:

对头狼使用高温状态下的模拟退火算法的metropolis准则进行局部优化,进一步提高最优解的精度或者有可能找到最优值。f(xold)是上一步得到的头狼。

1)在解空间里产生一个随机扰动后的新解xnew,并计算出新解的目标函数值f(xnew);

2)根据状态接收函数进行判断是否接收这个新解xnew:f(xold)是初始化得到的头狼,若是f(xnew)<f(xold),则接收扰动后的新解,则按照metropolis准则判断是否接收新解xnew,若接收,则当前状态更新为xnew,反之,则当前状态等于xold;

metropolis准则:

式中,f(xnew)是通过扰动后的个体目标问题的适应值,f(xold)是扰动之前的个体的目标问题的适应值,tk代表当前温度值,其中tk 1=αtk,α为温度下降系数,通过它来调节温度下降的快慢。

3)判断是否满足终止条件,若满足,则输出当前最优解,结束程序。终止条件一般情况下取连续若干个扰动的新解都没有被接受是而停止算法;

4)温度t0慢慢下降,tk 1=αtk,其中α为温度下降系数,然后转到1)步。

(6)算法运行结束,输出结果,得到最优解。

s3.1.2改进狼群算法优化支持向量机回归:

利用改进狼群算法优化支持向量机对心音信号的分类的步骤如下:

(1)设定狼群的种群规模为n初始化探狼比例因子α,最大迭代次数t最大游走次数tmax,更新比例因子β,目标函数值最小的狼为头狼,交叉算子pc,变异算子pm,退火初始温度t,温度冷却系数c,模拟退火最大迭代次数lmax,并设置狼个体的适应值变化极小或者不变化时的迭代次数tq。

(2)探狼在解空间进行搜索游走,当探狼向h个方向试探后,并且仍停留在原位置,则一定的概率的对该匹探狼进行交叉操作,并对原位置的适应值进行比较,若优于原位置,则该匹狼的的位置更新为交叉后的位置;

(3)围攻行为过后,得到当前迭代次数的头狼,若优于上一代头狼,则将tq=0;若和上一代头狼相差很小或者没有变化时,tq=tq 1;当tq大于预置的连续不变化阈值tqmax时,则将进入变异操作;

(4)变异操作是将除头狼外的所有狼进行变异行为,增加种群的多样性的同时,也有利于算法跳出局部最优点,变异后的个体狼若优于头狼,则将tq=0;

(5)执行“优胜劣汰”得狼群更新规则,即淘汰一部分适应值差的狼,并随机生成等数量的狼,若输出的头狼满足设定的最终的精度或者达到最大迭代次数,则输出头狼,否则,返回(2)。

(6)对头狼使用高温状态下的模拟退火算法进行局部优化,进一步提高最优解的精度或者有可能找到最优值。

(7)算法运行结束获得最优解,即为支持向量机的惩罚因子c和高斯核宽度系数g,建立分类模型。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的仅为本发明的优选例,并不用来限制本发明,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。


技术特征:

1.一种基于改进狼群算法优化支持向量机的心音分类方法,其特征是包括如下步骤:

步骤s1数据的预处理:包括心音信号的去噪与特征提取;

步骤s2心音信号的分类:包括建立分类模型、分类;

步骤s3模型优化与重构:模型优化利用改进的狼群算法寻找支持向量机的最优惩罚系数c和核函数参数找到最有适应度值,再利用训练数据对改进后的支持向量机进行训练然后根据模型进行分类。

2.根据权利要求1所述的基于改进狼群算法优化支持向量机的心音分类方法,其特征是所述步骤s1数据的预处理包括如下步骤:

步骤s1.1心音信号的去噪:

选择二尖瓣狭窄、主动脉瓣狭窄、和室间隔不全三类舒张期心杂音作为实验对象。实验数据包含270例心音信号,其中60例二尖瓣狭窄(ms)、60例主动脉瓣狭窄(as)、60例室间隔不全(vsd)和90例正常心音(nor-malheartsounds,nhs);

心音是一种微弱的生理信号,在采集的过程中非常容易受人为或环境中噪声的干扰,从而影响特征参数提取的准确性,因此有必要对采集的心音信号进行消噪处理以突出其特征;对于心音信号去噪,小波变换是一种非常有效的方法,为此本文采用能量集中度高、时间局部性好的db6小波,‘sqtwolog阈值’和5层分解的方法对采集的心音消噪;

步骤s1.2心音信号的特征提取:

在心音分类器的设计与识别中,特征参数提取的有效与否将直接影响到分类器的性能及分类识别的结果。mfcc是根据人耳的听觉掩蔽效应提出来的,它能够反映出人耳耳蜗感知性能与声音频率呈非线性的关系,且在低频频带具有较高的分辨率,因此较为适用于心音信号的识别;mfcc是一组矢量序列,是将心音频谱变换到梅尔频率刻度下得到的。mfcc的线性频率转换关系如下:

mel(f)=clog10(1 f/p)(1)

其中c和p均为常量参数,f为频率,单位为hz,在处理语音信号中取值分别为2595和700;

步骤s1.2.1mfcc特征向量的提取

将得到的去噪后的心音信号的进行特征提取,mfcc特征提取过程描述如下:

1)基础心音的分帧与加窗;同语音信号相似,心音信号也具备短时平稳性,研究中一般认为心音信号在10ms~30ms内具备短时平稳性;在分帧与加窗处理中,帧长一般选取为20ms,帧移选取为10ms,窗函数选择长度为20ms的hamming窗,因为它可以在一定程度上克服频谱泄漏现象;

2)快速傅里叶变换(fft);将分帧后的时域信号xm(n)逐帧做fft,得到频域信号xm(k):

其中m为帧数,l为帧长;

3)mel频率刻度的变换;将xm(k)经mel滤波器组进行滤波和刻度转换,就可得到mel频谱。mel滤波器组由一组三角形滤波器构成,其个数一般与临界带宽有关;实验中采用的心音信号采样率为2khz,选取三角滤波器的个数为n=12个,阶数为m=24;

(4)倒谱分析;倒谱分析主要包括取对数能量和逆变换;其中,取对数能量的作用是对频谱动态范围进行压缩;逆变换的作用是防止三角滤波器在频谱上叠加造成的干扰,即去除频谱成分间的相关性;对数能量em及dct变换可表述为:

其中n为三角滤波器的个数,m为mfcc的阶数,即为提取到的特征向量。

3.根据权利要求2所述的基于改进狼群算法优化支持向量机的心音分类方法,其特征是所述还包括解整体混合矩阵的方法;解整体混合矩阵ica变换提取特征向量主要增加了两个步骤:

(1)三角滤波器的输出顺序将待解混合矩阵心音信号拼接起来生成统一待解混合矩阵;

(2)解混合矩阵特征提取中,首先通过ica变换将待解混合矩阵的心音信号分离得到独立信号,然后按照方差排序选择较大的24个独立信号进行保留;

具体步骤:

1)假定待分离的第m帧心音信号为em∈rn×1能够表示为d维位置独立变量sm,则em可表示为:

em=am*sm rm(5)

其中am为第m帧心音混合矩阵,rm为第m帧心音的残差,sm独立信号分量,am∈rn×d,rm∈rn×1。ica的主要目的是通过em估计出am来获取独立信号分量sm;

2)将所有的带分离三角滤波器输出心音样本按顺序排列成矩阵整体样本e∈rn×m,其中n为变量的维数,m为样本总数。因此整体混合矩阵的ica变换可表示为:

e=as r(6)

其中a为整体混合矩阵,s为整体独立成分矩阵,r为整体残差矩阵;

3)设整体混合矩阵的逆为:

w=a-1(7)

则解出的独立源信号为:

s=w*(e-r)(8)

4)在寻找非高斯化极值时,最大化负熵目标函数为:

其中qi为正常数,u为标准高斯随机变量,g为非平方的非线性函数;其牛顿法求解的迭代公式为:

g=g'(11)

e为矩阵整体样本,按照式(10)重复迭代即可逐一分离出各特征分量。

4.根据权利要求1所述的基于改进狼群算法优化支持向量机的心音分类方法,其特征是所述步骤s2心音信号的分类包括如下步骤:

步骤s2.1建立分类模型:

支持向量机回归预测效果与惩罚因子c和高斯核宽度系数σ有重要关系,因此合理确定以上两个因子具有重要意义;支持向量机具有较好的高维模式识别和回归预测能力;目前支持向量机在核函数参数和惩罚系数这两个参数的选择问题上大都采用交叉验证法,如果能通过智能优化算法来寻找支持向量机的最优参数,将很好的解决支持向量机参数选择及应用等诸多实际问题;改进狼群算法模拟狼群的分工协作的捕猎以及猎物分配的过程设计最优化搜索算法,其具有全局搜索,收敛速度快等特点;应用改进狼群法进行搜索最优的支持向量机参数具有重要意义。

步骤s2.1.1支持向量机回归:

学习问题通常可以表示为对输入变量x和输出变量y之间的未知依赖关系求解,假设有一个独立同分布的观测样本如下:

(x1,y1),(x2,y2),...(xl,yl)∈rn×r

回归问题就是寻找rn上的一组函数{f(x,w)}中的一个函数f(x),用其推断任一输入x对应的y值。支持向量回归机(svr),支持向量机应用于回归预测时,主要通过寻找一个最优分类面,使所有训练样本距离该最优分类面的误差最小。设训练样本为{(xg,yg),g=1,2,...m},其中xg是svm模型的第g个样本输入向量,yg是对应的输出向量,通过以下非线性映射函数实现回归拟合

f(x)=w*φ(x) b(1)

其中,φ(x)为非线性映射函数,通过引入松弛变量ξg,ξ*g,并假设训练样本都能在精度ε下无误差地用线性函数拟合,则寻找w,b问题可以转化为如下形式:

c为惩罚函数。引入largrange函数,其对偶问题为:

式中,k(xg,xq)=φ(xg)φ(xq)为核函数,回归函数为:

只要部分(μg-μ*g)参数不为0,其对应的样本xg即为支持向量。

核函数采用高斯核:

σ2核函数参数。

步骤s2.2分类:

应用支持向量机对心音信号进行分类。

5.根据权利要求1所述的基于改进狼群算法优化支持向量机的心音分类方法,其特征是所述步骤s3模型优化与重构:

步骤s3.1改进狼群算法优化支持向量机系数:

步骤s3.1.1改进狼群算法

改进狼群算法通过模拟狼群的分工协作的捕猎以及猎物分配的过程来进行最优化搜索;

步骤s3.1.1.1一种基于改进狼群算法的最优化搜索方法,其步骤如下:

狼群算法主要是通过模拟在头狼的带领下狼群协同捕猎的过程来模拟仿生出来的一种仿生智能算法,并可以处理复杂函数的优化问题;狼群的捕猎行为主要是围绕头狼进行的一系列的智能行为;基本的狼群算法将其抽象成3种智能行为:即游走行为、召唤行为和围攻行为,其次就是狼群的“强者生存”的狼群更新机制和“胜者为王”的头狼产生规则,在保证狼群多样性的同时,也使整个狼群系统更加健壮;

(1)狼群初始化以及头狼的产生规则:在搜索空间里初始化狼群,并选择目标函数值最优的狼作为头狼,即为ylead,若存在多匹,则在其中随机选择一匹狼作为头狼;头狼不执行以下三种智能行为(即游走行为、召唤行为、围攻行为),直到头狼被其他更强壮的狼取代;设定狼群的种群规模为n初始化探狼比例因子α,最大迭代次数t最大游走次数更新比例因子β,目标函数值最小的狼为头狼,交叉算子pc,变异算子pm,退火初始温度t,温度冷却系数c,模拟退火最大迭代次数lmax,并设置狼个体的适应值变化极小或者不变化时的迭代次数tq;

(2)游走行为:在狼群游走寻找猎物的过程中,狼群并不是整体出动去寻找猎物,而是选择除头狼若干匹比较精壮的头狼进行游走行为,具体游走过程为:除头狼外,选取s_sum匹目标函数值最优的狼作为探狼;

探狼的数目为该区间内s_sum∈[n/(α 1),n/α]的随机整数,其中α为探狼比例因子,探狼i以步长为stepa向h个方向进行搜索猎物,若感知某个方向的猎物气味浓度(即目标函数值)强于现在的位置,则前进一步,即更新探狼i的位置,反之,留在原位置。探狼i的在向第p(p∈(1.2.3...h))个方向搜索后的在第d维空间的位置:

xid为初始位置,为第d维空间搜索步长,对于改进后的狼群算法:

探狼重复以上游走行为,当探狼向h个方向试探后,并且仍停留在原位置,则一定的概率pc的对该匹探狼进行交叉操作,并对原位置的适应值进行比较,若优于原位置,则该匹狼的的位置更新为交叉后的位置;

直到头狼更换(即yi>ylead)或者达到最大游走次数tmax时进入召唤行为。

(3)召唤行为:头狼通过嚎叫来召唤附近的猛狼,猛狼以较大的步长stepb向头狼位置迅速靠拢;则猛狼i在第k 1次迭代时,在第d维变量空间中的位置为:

式中,为第k代狼群头狼在第d维空间中的位置。召唤的过程中,若猛狼i感知到的猎物气味浓度yi>ylead,则更换头狼,继续发起召唤行为;反之,继续奔袭直到猛狼i与头狼之间的距离di<dnear时转入围攻行为;假设待寻优变量的第d(d∈[1,2,3...d])维取值范围为[dmin,dmax],判定距离dnear的大小由式(3)计算得到:

式中,ω为距离判定因子;

(4)围攻行为:第k 1代狼群在第d维空间中的位置表示为式(4):

式中,λ∈[-1,1]之间的随机数,stepc为围攻步长,为第k代狼群第d维的位置,若围攻后的气味浓度大于其原位置的气味浓度,则更新人工狼的位置;反之,位置不变;各智能行为中的步长关系如式(5)所示:

式中,stepa为游走行为,stepb为奔袭步长,stepc为围攻步长,s为步长因子;

对于改进后的狼群算法:

在围攻行为过后,得到当前迭代次数的头狼,若优于上一代头狼,则将tq=0;若和上一代头狼相差很小或者没有变化时,tq=tq 1;当tq大于预置的连续不变化阈值时,则一定的概率pm进变异操作:

变异操作是将除头狼外的所有狼进行变异行为,增加种群的多样性的同时,也有利于算法跳出局部最优点,变异后的个体狼若优于头狼,则将tq=0;

(5)“强者生存”的狼群更新机制:按照狼群个体的精壮程度“由强到弱”的原则进行食物分配,弱小的狼可能会被饿死,即算法中会去除掉目标函数值较差的r匹狼,同时再随机生成r匹狼,r∈[n/(2×β),n/β],r为该区间内的随机整数,β为狼群更新比例因子,在保证狼群数量的同时,也增加种群的多样性,有利于提高狼群算法的整体寻优性能;

对于改进后的狼群算法:

对头狼使用高温状态下的模拟退火算法的metropolis准则进行局部优化,进一步提高最优解的精度或者有可能找到最优值;f(xold)是上一步得到的头狼;

1)在解空间里产生一个随机扰动后的新解xnew,并计算出新解的目标函数值f(xnew);

2)根据状态接收函数进行判断是否接收这个新解xnew:f(xold)是初始化得到的头狼,若是f(xnew)<f(xold),则接收扰动后的新解,则按照metropolis准则判断是否接收新解xnew,若接收,则当前状态更新为xnew,反之,则当前状态等于xold;

metropolis准则:

式中,f(xnew)是通过扰动后的个体目标问题的适应值,f(xold)是扰动之前的个体的目标问题的适应值,tk代表当前温度值,其中tk 1=αtk,α为温度下降系数,通过它来调节温度下降的快慢;

3)判断是否满足终止条件,若满足,则输出当前最优解,结束程序。终止条件一般情况下取连续若干个扰动的新解都没有被接受是而停止算法;

4)温度t0慢慢下降,tk 1=αtk,其中α为温度下降系数,然后转到1)步;

(6)算法运行结束,输出结果,得到最优解;

步骤s3.1.2改进狼群算法优化支持向量机回归:

利用改进狼群算法优化支持向量机对心音信号的分类的步骤如下:

(1)设定狼群的种群规模为n初始化探狼比例因子α,最大迭代次数t最大游走次数更新比例因子β,目标函数值最小的狼为头狼,交叉算子pc,变异算子pm,退火初始温度t,温度冷却系数c,模拟退火最大迭代次数lmax,并设置狼个体的适应值变化极小或者不变化时的迭代次数tq;

(2)探狼在解空间进行搜索游走,当探狼向h个方向试探后,并且仍停留在原位置,则一定的概率的对该匹探狼进行交叉操作,并对原位置的适应值进行比较,若优于原位置,则该匹狼的的位置更新为交叉后的位置;

(3)围攻行为过后,得到当前迭代次数的头狼,若优于上一代头狼,则将tq=0;若和上一代头狼相差很小或者没有变化时,tq=tq 1;当tq大于预置的连续不变化阈值时,则将进入变异操作;

(4)变异操作是将除头狼外的所有狼进行变异行为,增加种群的多样性的同时,也有利于算法跳出局部最优点,变异后的个体狼若优于头狼,则将tq=0;

(5)执行“优胜劣汰”得狼群更新规则,即淘汰一部分适应值差的狼,并随机生成等数量的狼,若输出的头狼满足设定的最终的精度或者达到最大迭代次数,则输出头狼,否则,返回(2);

(6)对头狼使用高温状态下的模拟退火算法进行局部优化,进一步提高最优解的精度或者有可能找到最优值;

(7)算法运行结束获得最优解,即为支持向量机的惩罚因子c和高斯核宽度系数g,建立分类模型。

技术总结
一种基于改进狼群算法优化支持向量机的心音分类方法,其特征是包括如下步骤:步骤S1数据的预处理:包括心音信号的去噪与特征提取;步骤S2心音信号的分类:包括建立分类模型、分类;步骤S3模型优化与重构:模型优化利用改进的狼群算法寻找支持向量机的最优惩罚系数C和核函数参数找到最有适应度值,再利用训练数据对改进后的支持向量机进行训练然后根据模型进行分类。本发明来利用基于进行特征提取后的心音信号进行分类,通过支持向量机将低维关系映射到高维,并通过改进后的狼群算法优化支持向量机能够有效的对心音信号进行分类。

技术研发人员:黄小莉;陈静娴;郑永康;胡思宇;冯婉琪;蹇诗洁;王根一;张卫军;王维博
受保护的技术使用者:西华大学
技术研发日:2020.01.10
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-53986.html

最新回复(0)