基于随机森林的脉象信号特征降维与分类研究*

2020-04-19 07:12张诗雨夏春明金陈玲王忆勤燕海霞
世界科学技术-中医药现代化 2020年7期
关键词:脉象频域时域

张诗雨,杨 珂,夏春明**,金陈玲,王忆勤,燕海霞

(1. 华东理工大学机械与动力工程学院 上海 200237;2. 上海中医药大学四诊信息综合实验室 上海 201203)

1 引言

脉诊作为传统中医四诊的重要组成部分,其客观化研究在中医现代化发展中备受关注,基于不同原理的脉象采集装置以及脉象信号分析处理也得到了较大发展。在脉象的分类和模式识别方面,对于传统中医上基本脉象类别的分类和某些疾病对应病脉的分类都已有较多研究,且根据时域分析、频域分析、时-频联合分析等多种方法提取出大量特征用于脉象信号分类分析[1]。

Zhang DY 等人[2]对多普勒超声装置采集的桡动脉血流速度信号进行分析处理,根据脉象波形特征点提取了时域特征,并结合通过希尔伯特-黄变换(HHT)提取的频谱特征,使用支持向量机(SVM)区分健康人群和胆囊炎以及肾炎患者,三类平均准确率达到75.9%。史红斐[3]等人对脉象信号进行了五个尺度上的二进离散小波变换,将前四个频带的能量作为特征,使用SVM 对滑、弦、细、涩四类脉象进行分类,平均准确率达到87.5%。此外,还有研究人员提取了高斯混合模型参数特征[4,5]、小波包特征[6]、倒谱特征[7]等用于脉象的分类识别。这些特征结合起来包含了大量冗余性及差异性,Lei Liu 等人[8]对七种不同的特征提取方法(基于特征点的时域特征、自回归模型特征、希尔伯特-黄变换特征、近似熵、小波包和小波变换)提取出的七类特征进行集成,使用多核学习SimpleMKL 算法对健康人群、糖尿病患者、肾病患者和胃病患者进行区分,最终平均识别准确率达到94%。虽然此研究对多种脉象特征进行了集成应用,但并未对特征进行分析评估。

目前大多应用的分类算法没有对特征组合进行筛选分析,因此也难以充分利用脉象特征的冗余性和差异性,采用的特征数量过多不仅会增大计算量,而且会造成过拟合,降低分类正确率。为尝试解决以上问题,本文对采集到的脉象信号进行滤波、归一化等预处理后,提取脉象信号的时域、频域及时频特征共93维,使用集成学习中的随机森林算法对特征的重要性进行排序,并使用SVM、BP-NN 以及随机森林算法验证重要性排序的正确性,确定应用于四类脉象分类的最佳脉象特征区间,据此对脉象特征进行降维,确定四类脉象适合的特征类别。

2 脉象数据预处理及特征提取

2.1 脉象信号预处理

脉搏波是由心脏持续不断地跳动引起血液在血管中流动而造成的脉的搏动,当机体发生病变或脏腑失调时,血管、脉气、脉血发生改变形成特定的“象”[9]。从频域来看,脉象信号是一种周期性较强的准周期信号,也是时频随机变化的非平稳信号,其频谱成分主要分布于0-20 Hz之间[10]。由于脉象信号在采集过程中易受外界环境干扰,因此需要对采集到的数据进行去噪处理,并根据后续信号分析需求进行周期分割和特征提取。

2.1.1 脉象信号去噪

如表1所示,本文研究使用的脉象数据由上海中医药大学提供,包括滑脉、平脉、弦脉及实脉四种脉象共175例,诊断结果均由两名中医师同时做出并结论一致,采样频率为720 Hz,在最佳取脉压力下记录60 s得到。

本文采用小波变换进行脉象信号降噪,首先将含有噪声的脉象信号进行多尺度小波分解,根据得到的高频细节分量和低频近似分量进行阈值量化处理,再经小波重构即可得到去噪后信号。Symlets 作为双正交小波,具有有限紧支撑和近似对称的特性,在尺度变换上较灵活且可降低信号重构的相移。使用小波基Sym8 对脉象信号进行10 层小波分解,在采样频率720 Hz 下,根据Nyquist 采样定理,信号的频率范围为0-360 Hz,低频分量 A10 的频宽为 0-0.35 Hz,可用于去除由于人体移动而引起的基线漂移。高频细节分量D1-D3频宽为360-45 Hz包含了高频噪声和工频干扰可采用软阈值去噪处理。将经过阈值去噪后的1-3尺度上的细节分量和未处理的4-10 尺度细节分量进行小波重构,即可得到滤除高频、工频干扰和基线漂移的脉象信号,如图1即为小波去噪后结果。

表1 本文用于分析的脉象信号类型及数量

2.1.2 脉象信号分割及平均

在提取脉象信号时域特征时,需要对一个脉搏周期内的特征点进行定位提取,由于一个受试者在连续采集得到的多周期信号之间会存在一定的差异,因此需要对同一个受试者的多周期脉象信号进行分割和平均。脉象信号的分割前需要找出多周期信号的谷峰对,通过设置距离阈值和高限阈值确保得到准确的波形起始点和峰值点。信号分割后将各个单周期的起始点和结束点之间的连线旋转至水平位置再进行标准化,将标准化之后的单周期信号在相关性最大处进行对齐后求平均波形。对于各个样本得到的平均波形可能存在数据长度的差异,为了使提取的时域特征更具备可比性,对平均后的单周期脉象信号进行重采样,统一各样本周期长度,如图2 为经过周期分割、旋转、标准化、平均和重采样之后的脉搏波形。

2.2 脉象信号特征提取

为了研究脉象信号特征对四类脉象信号分类的影响,本文提取了脉象分类常使用的脉象时域、频域以及时-频域特征。

图1 小波去噪前后对比图

图2 重采样后单周期脉搏波形

2.2.1 时域特征提取

对每个样本经过重采样和平均后的单周期脉象信号进行时域特征提取,主要反映脉搏波形状特点。如图3 所示为一个单周期脉搏波的时域基本信息点,本文提取了28 种时域特征[11],包括5 个幅值比例特征以及主波高度 2/3处的横坐标宽度w),5 个时间比例特征,10 个斜率相关特征(升支斜率,降支在主波与降中峡间的斜率,降中峡至主波终点的斜率,主波升支上升最快点的斜率值及坐标值,两个降支(lbc和lde)中下降最快点的斜率值及坐标值,以及上升最快点与下降最快点之间的横坐标距离),7 个面积相关特征(收缩期脉图面积As(曲线段abcde下),舒张期脉图面积Ad(曲线段efg下)和脉图面积特征量脉搏波起点到主波峰之间的脉搏波波形与这两点间的直线所围成的面积Asmp,脉搏波主峰到降中峡之间的波形与这两点间直线所围成的面积Ampv,降中峡到重搏波峰间脉搏波与这两点的直线所组成的面积Avsp,以及重博波峰到波形末尾间脉搏波与这两点的直线所组成的面积Aspe[12]),1 个脉搏波类型相关特征(如图4 为四种脉搏波类型,其中type值即代表了样本脉搏波类型)。

图3 单周期脉搏波时域特征点

2.2.2 频域特征提取

频域特征需要从滤波后的多周期信号中提取,本文采用welch 法对小波分解滤波重构之后的脉搏信号序列进行功率谱估计,提取的特征包括谐波频率、谐波幅值、谐波频率差值df、谱能比、幅值差值、幅值之比和谐波面积之比,共33项特征[11]。

2.2.3 时-频域特征提取

时-频域联合分析是信号处理分析中的重要部分,时-频分析能将信号的局部特征表现出来,获取信号在某一时刻的瞬时频率特性,提取出不同于时域和频域特征的重要特征信息。本文选用小波多尺度分析和经验模态分解以及希尔伯特-黄变换三种常用的时-频分析方法用于提取时-频特征。

图4 四种不同类型的脉象波形

信号f(t)在L2(R)空间上L2 范数的平方被定义为信号的能量,即若Dj(k)为信号f(t)经小波变换之后第j尺度上的第k个小波系数,则Ejk=|Dj(k)|2为信号在第j尺度k点上的小波能量,则Ej=为第j尺度N个采样点的能量总和[13]。本文使用小波基Sym8 对多周期脉象序列进行10 层小波分解,获取各尺度小波系数并依照上述定义计算了10层高频细节分量以及第10 层低频近似分量的小波系数能量值,将获得的11个小波能量值进行归一化即得到11个小波相关时-频特征。

经验模态分解(EMD)能够根据信号本身的时间尺度来将其逐层分解成局部对称的各个分量,它克服了傅里叶变换的局限性具有与小波变换相似的多分辨特性。经验模态分解得到一系列固有模态函数(IMF)和一个残余分量,能很好地保存信号本身的特性,避免信息丢失。希尔伯特-黄(Hilbert-Huang)变换是一种在非平稳信号处理中应用广泛的时-频分析方法,克服了小波变换在时频窗内依然具有平稳性而导致在处理非平稳信号时会产生谐波分量的缺点[14,15]。

本文对经过小波滤波后的多周期连续脉象序列进行经验模态分解,筛选出5 个固有模态函数和一个残余分量,如图5 为一例经过小波分解滤波后的脉象信号的经验模态分解结果。采用类似于上述小波能量特征的提取方法,提取5 个IMF 分量和1 个残余分量的能量值,归一化后得到6 个EMD 分解相关的时-频能量特征。

对经过EMD 分解后的每一个IMF 分量进行希尔伯特-黄变换得到所有IMF 分量的Hilbert 谱,综合所有IMF 分量的瞬时频率并在时间轴上积分即可得到信号的Hilbert 边际谱。Hilbert 边际谱代表了各个频率在全局幅值上的贡献,表示统计意义上全部数据的累加幅度,如图6 为上述同一例脉象信号的Hilbert 边际谱。谱能比是一定频率内能量Nj与总能量N的比值,由于脉象信号信息主要集中在0-20Hz,本文选取了 0.5、1、2、3、4、5Hz 内的能量与前 40Hz 内总能量的谱能比共6个特征。

图5 脉象信号EMD分解结果

图6 脉象信号Hilbert边际谱

2.2.4 基于高斯混合模型的脉象信号特征提取

单周期脉搏波可以建模为高斯混合信号[5],即为高斯信号,可以写作gk(t)。ak、tk、σk分别是第k 个高斯信号函数的幅值、峰值位置和时间尺度因子,用三个高斯函数即可对单周期脉搏波形建模,可以得到共9个高斯混合模型参数特征。

综上所述的特征提取方法,本文提取并用于评估分析的脉象特征如表2所示。

表2 提取脉象特征及其维数

3 基于随机森林的脉象特征评估降维及结果

本文对脉象信号特征的研究和评估基于随机森林算法(Random Forest,RF)。随机森林是一种以决策树为基学习器的集成学习算法[16]。首先对包含N 个样本的训练集进行M 轮自助采样(有放回的重复独立采样),获得M 个包含N 个训练样本的训练集,基于这些训练集训练出M 棵未剪枝的决策树,最终通过简单投票法得出分类结果。

随机森林在决策树的训练过程中引入了随机属性选择。不同于传统决策树在选择划分属性时每次选择一个最优属性,在构建决策树时会从该节点的属性集合中随机选取包含k 个属性的子集,再从子集中选择一个最优属性用于节点划分,这种每次只需要考虑一个属性子集的决策树训练方法使得RF 的训练效率较高、容易实现且计算开销小。

随机森林在为节点选择特征时根据Gini 增益最大化原理[17],若父节点nf上的样本被划分到两个子节点n1和n2中,则 Gini 增益最大化即是使 ΔIG=IG(nf)-p1*IG(n1)-p2*IG(n2)最大化,其中为节点 n 的 Gini 指数,pc为节点 n 中 c 类样本所占比重,p1和p2则为从父节点nf划分到两个子节点n1和n2的样本在父节点样本中所占的比例。由于决策树在生成节点时选择能在该节点实现Gini 增益最大化的特征,因此特征的重要性可由节点样本的划分来体现,但RF 在训练时引入数据样本和输入特征的双重随机性,可能导致区分度高的重要特征被用作划分节点的次数比区分度低的特征少,所以不能简单地用特征被用作划分属性的次数来衡量特征的重要性[18,19]。

特征si在第j 棵决策树中作为节点划分属性的节点有N 个,则特征si在这棵决策树上的特征重要性可表达为:

随机森林中有J棵树,特征si在整个RF中的重要性为:

3.1 基于随机森林的特征评估可行性验证

本文首先对基于随机森林的特征重要性进行验证,所选特征为使用前述特征提取方法所获的时域、频域、时-频域和高斯混合信号特征,共93维。实验中从样本总量中分层抽样其中的3/4 作为训练集,剩余1/4 作为测试集,使得训练集和测试集都保留了原有样本总量中四种脉象数据类型的比例。为避免随机森林算法中样本抽取过程带来的随机因素影响,重复进行十次实验。使用网格搜索法确定最佳的RF 参数,取每次测试集分类精度最高的一组作为特征选择的依据,计算十组特征重要性结果的平均值并排序,实验结果如表3。表中列出了按照特征重要性从高到低列出了部分特征的种类、名称和特征重要性,其中前54维的累计重要性已达到95%。

根据表3 实验结果,将排名前八十的特征按重要性降序分为四组,每组二十个特征。使用支持向量机(support vector machine, SVM)、反向传播神经网络(BP-NN)及随机森林(random forest, RF)三种方法验证特征重要性排序的正确性。本文的随机森林算法采用Gini 指数作为判据,使用网格搜索法优化算法的两个关键参数:决策树的数量和每棵决策树的深度。SVM 模型性能主要由核函数、惩罚参数C 以及核函数参数γ决定,使用镜像基函数作为核函数,并用网格搜索法优化惩罚参数C 以及核函数参数γ。BP-NN 的网络结构影响分类精度,目前并没有明确的理论指导网络层数与每层节点个数的选用。经过大量实验,尝试使用不同的网络层数与节点个数,确定网络结构为四层反向传播神经网络,具体为:两个节点数为64 的全连接层,随后一个Dropout层(系数为0.2)减少过拟合,最后使用softmax 层作为输出层,其中优化器为Adam。为避免训练过程中的随机性对实验结论产生影响,每组特征组合均重复进行十次实验,最后取十次实验结果的平均值。

表3 基于随机森林Gini指数的特征重要性

实验结果如图7 所示。从图中可以看出,分类精度与随机森林算法得到的特征重要性排序结果一致。三种算法的分类精度随着特征重要性排名的下降而呈下降趋势,特征的重要性排名越低,其分类精度越低。特征子集1 与特征子集4 的分类精度相差27.29%。

3.2 脉象特征降维及四类脉象分类实验

在使用算法进行脉象分类前,通常会对较多的特征进行降维以提高算法的时间效率并通过去除可能导致错分的冗余信息,减少过拟合提高分类准确率。常用的PCA 主成分分析将特征向量投影到新的坐标系中以降低维数,但经过变化后的特征向量无法用于研究原本特征在分类中的重要性,因此使用具体分类算法确定获得最佳分类结果的维数有利于在获取最佳分类精度的同时减少模型的复杂度,提高算法的运行效率。本研究采用序列前向选择算法(Sequential Forward Selection,SFS),改变输入特征的维度,计算相应RF、SVM以及BP-NN的分类精度。

结果如图8 所示,初始时随着重要性排名高的特征的加入,分类精度整体呈上升趋势,随后由于冗余特征的加入,分类精度随后逐渐下降。结果证明本文的算法能够有效减少脉象信号特征的数量,减少提取大量特征花费的时间,并能提高分类器的分类性能,三种算法达到最佳精度时,其特征数量都在15 维附近。

对于BP-NN 算法,其输入特征分别在前15、16、18、19维获得最佳精度,取最小维度15;对于RF算法,其最佳特征输入维数为前13 维;对于SVM 算法;其最佳特征维数为前13 维。三种算法的特征类型如表4所示。

由表可以看出,在本文研究的平、实、弦、滑四种脉象分类中,时域特征对脉象信号的分类起主导作用,但同时排名靠前的时频域特征和频域特征也较为重要。

图7 分类精度随特征重要性排名的变化趋势

图8 分类精度随特征数目变化趋势

三种算法在最佳特征输入维数与筛选前特征维数的分类精度对比如表5所示。表中精度提升的计算公式为。

表4 三种算法得到最佳精度时的特征组合

表5 三种算法特征筛选前后分类精度的提升

4 结语

人体脉象信号作为一种非平稳信号,包含着与机体有关的多种生理信息,对于中医脉诊客观化研究至关重要。本文对脉象信号常用的时域、频域、时-频域以及高斯特征进行了系统分析,并采用SVM、RF、BPNN 验证基于Gini 指数的随机森林算法可以得到特征重要性排名。采用序列前向选择算法,改变输入特征维度,当选用前15 个特征时,BP-NN 精度最高,相比筛选前分类精度提高12%,当选用前13 个特征时,SVM 和RF 精度均达到最高,相比降维前精度分别提高了13%和4.5%。本文进行分析的共175 例平、实、弦、滑四类脉象,时域特征在分类中占主导作用,同时基于频域分析、小波分析和经验模态分析的部分频域和时-频域特征也起到了重要作用。实验结果表明本文算法可以根据特征重要性有效降低特征数量,确定不同分类算法适合的特征种类及维数并提高分类精度。

猜你喜欢
脉象频域时域
OFDM 系统中的符号时域偏差估计
改进的浮体运动响应间接时域计算方法
基于频域的声信号计权改进算法
中医脉诊学习之感悟
探索脉学的学习方法
基于复杂网络理论的作战计划时域协同方法研究
网络分析仪时域测量技术综述
频域稀疏毫米波人体安检成像处理和快速成像稀疏阵列设计
网络控制系统有限频域故障检测和容错控制
基于频域分析和低通滤波的光伏并网逆变器谐振抑制研究