基于Xgboost和混合特征的心音分类方法

基于Xgboost和混合特征的心音分类方法

陈兴蓉,李婷,许小可,唐洪

(1.大连民族大学信息与通信工程学院,辽宁 大连 116605;

2.大连理工大学生物医学工程学院,辽宁 大连 116024)

针对心音信号的特点,提取了心音信号的经验模态(EMD)特征和Mel倒谱系数特征,使用Xgboost算法对心音信号进行分类,并对所有特征的重要性进行了分析和筛选,并讨论了心音信号长度对分类结果的影响。实验结果表明,将经验模态(EMD)特征和Mel倒谱系数两种特征融合后,分类准确率明显高于单一特征的分类准确率。对186维混合特征的重要性进行了排序,发现采用前60个特征的分类结果优于使用全部特征的分类结果。

关键词:心音分类;EMD;Mel倒谱;Xgboost

中图分类号:TH212TH213.3        文献标识码:A

 

  Classification Method of Heart Sounds Based on Xgboost and Mixed Features 

  Chen Xing-rong1  Li Ting1,*  Xu Xiao-ke1  Tang Hong2

 (1. School of Information and Communication Engineering, Dalian Minzu University, Dalian Liaoning 116605,China;

    2. School of Biomedical Engineering, Dalian University of Technology, Dalian Liaoning 116024, China)

 

Abstract: In view of the characteristics of heart sound signals, the EMD features and Mel cepstrum coefficients are extracted in this paper, and the Xgboost algorithm is used as a classifier. The importance of all features and the effect of the length of the heart sound signals on the classification results are also analyzed. The experimental results show that the accuracy of classification becomes obviously higher than that of the single feature after the fusion of the two features are used. The importance of 186 dimensional mixed features is sorted. It is found that the classification results of the first 60 features are better than those of all features. 

Key words: classification of heart sounds; EMD; Mel cepstrum; Xgboost

 


心音是由心肌的收缩与舒张,心脏瓣膜的开启与闭合,以及血液冲击心室壁和大动脉等机械振动产生的,因此在心音信号中蕴含着心脏的生理与病理信号。传统的心脏病诊断是靠医生听诊,该方法完全依赖于医生的经验。如果可以使用计算机快速准确自动的判断,则会对心脏病的诊断带来很大的便利。心音的分类识别是心音分析的一个研究热点,将提取到的心音信号特征,使用分类器对心音信号进行分类,从而可以判断心音信号是否异常。由于心音信号是一个非线性非平稳的信号,所以使用不同的方法提取的特征对分类的效果影响也不同。

近年来心音的分类方法很多有隐马尔科夫模型分类器 [1]SVM[2-3],BP神经网络分类器[4],K-近邻分类器 [5]等。使用这些分类器进行分类,准确率都在90%以上但所使用的数据量少,使用的心音数据就几十个[1-5]当数据量变多分类的准确率就会下降,严重影响对病情的分析判断。使用的特征也是比较单一,只使用能量熵[6],小波包能量[7],小波[8]Mel倒谱[9,18],经验模态[10]特征进行心音分类,并没有对特征进行融合或进行特征筛选。

本文针对数据量少,特征单一的问题,采用较大的心音数据库(1136个心音数据),使用EMD经验模态和Mel倒谱特征的融合,使用Xgboost算法进行心音分类,特征融合后分类的准确率明显提高。融合后的特征维数比较大,本文进行了特征重要性排序分析,降低特征维数,除去在分类过程中不重要的特征,以提高分类的准确性与分类的速率。

1 研究方法

1.1 特征提取方法

1.1.1 经验模态(EMD)特征

美国科学家N.E.Huang在1998年提出一种对非线性非平稳信号更加有效的分析方法:经验模态分解(EMD),可以自适应的处理时频信号[11-12]。由于心音信号具有非平稳性和非线性,经验模态分解适合心音信号的特征提取,经验模态分解可以自适应的将数据分解多个本征模态分量(IMF)。

EMD算法分解过程如下:

①对于一时间序列,首先确定所有的局部极大值和极小值点,然后利用三次样条插值法对极值点进行拟合处理得到极小值包络和极大值包络,原信号应完全处于上下包络之间。

②对求均值可得包络的均值曲线,记为,则减去可得:

                       (1)

③将当成新的信号,代替继续重复上述①和②步骤k次得到,当满足IMF的这两个条件,记第一个IMF分量为

④利用减去便可求得剩余分量:

                        (2)

中包含着重要的有用信息,需要重复①~④步骤获取所有的剩余的个固有模态函数以及残余分量,当残余分量变成一个单调函数或幅值足够小。

原始信号最终分解结果表示为:

                    (3)

分解过程中会产生多个IMF分量,通过求IMF分量与原始信号的相关系数确定有用IMF分量的个数。使用相关系数来确定EMD分解的准确度

            (4)

其中相关系数的取值范围为[-1,1]。相关系数越大表示相关性越强,越能准确表示原始信号,反之,则相关性就越弱[13],xy的协方差,x的方差。

奇异值分解具有理想的去相关性特性,基于奇异值的分析方法可以对特征进行重构,较好的从有序数据中分离出有用的特征信息[15]。由于信号经过EMD分解和相关系数提取后可以获得kIMF分量,而各IMF分量从不程度上反映了信号的组成成分,有用心音信号主要存在20-200HZ的频段内,从而保存每个IMF分量的重要特征。

奇异值分解:

构造一个实矩阵表示m个样本对应的n个特征,式中是正交矩阵:

      (5)

称为矩阵A的奇异值。设信号为,将该信号进行奇异值分解前需要将该信号构造成Hankel矩阵将公式改写为。式中,令,其中第一行向量为,列向量为的转置首尾连接,构成一个分量信号:,所以原始信号可以写成:

         (6)

1.1.2 Mel倒谱系数特征

Mel频率倒谱系数是语音识别中的一种较为常用的特征参数,具有较好的抗噪性和高识别率[16]Mel倒谱能够反映听到的声音与听觉的频率成非线性关系。由于心音是一个非平稳非线性的声音信号,可以提取心音的Mel倒谱系数特征来描述心音信号。Mel倒谱系数提取过程如图1所示。

1Mel倒谱提取流程图

 

第一步:对输入的信号进行分帧、加窗处理,再进行傅立叶变换,得到的频谱为:

         (7)

X表示输入信号,表示输入信号在n处的信号强度,表示傅立叶变换的点数。

第二步:计算能量谱并将能量谱通过三角滤波器组,定义有个滤波器的滤波器组,采用的滤波器为三角滤波器,中心频率为:

                            (8)

计算每个滤波器组输出的能量对数:

        (9)

其中是三角滤波器的频率响应。

第三步:经过离散余弦变换得到MFCC系数

      (10)

其中nMFCC系数阶数,将式(9)所求的对数能量带入式(10)计算离散余弦变换,最终求的Mel倒谱系数,其中的指的是MFCC系数的阶数。

1.2 Xgboost分类方法

Xgboost是提升树的一种,提升树在数据挖掘领域有着广泛的应用,包括提升树(BT)和梯度提升树(GBDT),其中提升树模型采用加法模型(基函数的线性组合)与前向分布步算法,同时基函数采用决策树算法,对待分类问题采用二叉树,在本文中心音分成正常与异常,属于一个二分类问题所以使用二叉分类树,提升树模型可以看作决策树的加法模型:

                            (11)

其中表示决策树,表示树的个数,表示决策树的参数。Xgboost算法的优点是速度快,效果好,能处理大规模的数据,Xgboost是在GBDT的基础上改进而得的,内部决策树使用回归树。

Xgboost算法的基本原理如下。其目标函数为

                 (12)

                       (13)

训练目标函数

       (14)

目标函数泰勒二阶展开近似为

  (15)

                           (16)

去掉常数项

      (17)

求出目标函数最优解

               (18)

从这些步骤中,Xgboost在优化目标函数的同时做了预剪枝,从而可以得到最优参数,使得预测结果更加准确。

2Xgboost处理数据的一般流程图

 

Xgboost算法即可用于非线性分类,也可以用于线性分类,该算法在使用梯度下降时,使用的二阶泰勒展开,因此对于目标函数的要求是在二阶下连续可导,在目标函数中加入了正则化参数,可以较大程度的提升泛化能力,在数据量较大的时候,可以提高运算速度。

 

2 实验结果与分析

2.1 实验数据

心音数据是通过网上下载和实验室采集得到的。在实验室内采集过程如下:被采集者静止仰卧于床上,心音传感器放置于二尖瓣部位,同步记录心电图和心音信号,心音的带宽约是500Hz。心音信号采样频率为1000Hz,对心音信号归一化。在实验中共有1136个心音数据,为.WAV格式,持续时间为5秒至120秒。心音分为两种类型:正常心音和异常心音。在实验数据中,分类标签“1”表示异常心音(568个),“-1”表示正常心音(568个)。


2.2 特征提取实验结果

2.2.1 EMD特征提取结果

3和图4分别是正常心音和异常心音的经验模态(EMD)特征,可以看出不同心音会产生不同IMF分量。IMF分量的排序都是按照频率由高频到低频的顺序,每个IMF代表信号的相应的局部特征。求出每一个IMF分量与原始信号的相关系数确定有用的IMF分量个数。每个IMF分量与原始信号的相关系数如图5所示,前6个IMF分量与原始信号相关性强,所以选择前6个IMF分量作为经验模态(EMD)特征。最后,对每个IMF分量进行奇异值分解,提取出每一个IMF分量的主要特征值。图6为EMD特征提取的过程。


3正常心音的EMD分解


4异常心音的EMD分解

5正常心音与异常心音的IMF与原始信号的相关系数


6 EMD特征提取过程

 

2.2.2 Mel倒谱特征提取结果

Mel倒谱系数提取过程中,取257个点为一帧。由于滤波器设置了24个,所以可以得到24维Mel倒谱系数,在实际应用中一般选择前12维倒谱系数。将每一帧信号输入滤波器即可得到12维的Mel倒谱系数。7所表示的是Mel倒谱系数与滤波器维数的关系,可以看出,Mel倒谱系数幅值随维度的增加而减小。

 

7MFCC维数与幅值的关系

 

2.3 分类结果

提取心音的EMD和Mel倒谱特征,使用Xgboost分类器进行分类。为了能够更好地评价分类模型的性能,对准确度、灵敏度和特异性定义如下[17]

      (19)

         (20)

          (21)

TP表示真阳性,预测过程中异常心音被分类器正确识别为异常心音,能准确识别出患者;FN表示假阴性,预测模型将异常心音识别为正常心音的数量,而假阴性是医生和患者都不愿意看到的结果;TN表示真阴性,即为预测正确的正常心音数量,分类器将正常心音识别为正常心音;FP表示假阳性,在分类过程中正常心音预测为异常心音,将一些健康的人误诊为了患者。

在心音数据库中随机选取10%的正常心音和10%的异常心音作为Xgboost分类模型的训练集,剩下90%的数据作为测试集,训练数据与测试数据无重复部分。该过程独立重复100次,分类结果取平均值。训练集的选取以10%递增,直到训练集的数量为90%。

为了研究心音信号的长度对分类效果的影响,在实验中,分别提取了2秒,4秒和8秒的心音信号进行实验。

如表1.a,1.b,1.c分别是使用2秒,4秒,8秒心音信号的EMD特征分类结果,随着训练数据量的增加,准确度,灵敏度,特异性的数值都在逐渐增加,反应了分类器和特征的稳定性。分类结果在数据长度为4秒、训练集为90%、测试集为10%时,达到最佳,准确度、灵敏度和特异性分别为68.27%、68.49%和68.05%。从仿真结果看出可以使用Xgboost分类器和经验模态特征可以有效地进行心音分类。

2.a,2.b,2.c所示分别是使用2秒,4秒,8秒心音信号的Mel倒谱特征的分类结果。从数据可以看出,随着训练数据的数据量的增加,准确度、灵敏度、特异性都在逐渐增加,反应了分类器和特征的稳定性。分类结果在数据长度为8秒、训练集为80%、测试集为20%时,达到最佳,准确度、灵敏度和特异性分别为77.89%、76.50%和79.28%。从仿真结果看出,使用Mel倒谱特征的分类结果明显优于使用EMD特征的,当训练集到达70%时模型的分类结果趋于稳定。

 

1.a EMD特征分类结果(取2秒)

训练集

测试集

准确度

灵敏度

特异性

10%

90%

63.19

63.08

63.30

20%

80%

64.74

64.67

64.81

30%

70%

65.46

65.51

65.42

40%

60%

66.16

66.21

66.12

50%

50%

66.69

66.83

66.55

60%

40%

66.48

66.7

66.26

70%

30%

67.09

67.26

66.92

80%

20%

68.19

68.37

68.01

90%

10%

68.20

68.53

67.87

 

1.b EMD特征分类结果(取4秒)

训练集

测试集

准确度

灵敏度

特异性

10%

90%

63.35

63.39

63.31

20%

80%

64.61

64.66

64.55

30%

70%

65.50

65.46

65.54

40%

60%

66.73

66.76

66.70

50%

50%

67.02

67.04

66.97

60%

40%

67.39

67.55

67.23

70%

30%

67.31

67.44

67.17

80%

20%

67.41

67.46

微信二维码
扫码添加微信咨询
QQ客服:1663286777
电话:137-1883-9017
收到信息将及时回复