1.一种基于改进狼群算法优化支持向量机的心音分类方法,其特征是包括如下步骤:步骤S1数据的预处理:包括心音信号的去噪与特征提取;
步骤S2心音信号的分类:包括建立分类模型、分类;
步骤S3模型优化与重构:模型优化利用改进的狼群算法寻找支持向量机的最优惩罚系数C和核函数参数找到最有适应度值,再利用训练数据对改进后的支持向量机进行训练然后根据模型进行分类。
2.根据权利要求1所述的基于改进狼群算法优化支持向量机的心音分类方法,其特征是所述步骤S1数据的预处理包括如下步骤:步骤S1.1心音信号的去噪:
选择二尖瓣狭窄、主动脉瓣狭窄、和室间隔不全三类舒张期心杂音作为实验对象。实验数据包含270例心音信号,其中60例二尖瓣狭窄(MS)、60例主动脉瓣狭窄(AS)、60例室间隔不全(VSD)和90例正常心音(Nor-mal Heart Sounds,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之间的未知依赖关系求解,假设有一个独立同分布的观测样本如下:n
(x1,y1),(x2,y2),...(xl,yl)∈R×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
(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)
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,建立分类模型。