刘志康,张烨菲,邵李焕,张 钰
(杭州电子科技大学电子信息学院,浙江 杭州 310018)
胎儿早产是新生儿患病死亡的最主要原因之一。宫缩(Uterine Contraction,UC)作为孕妇产检的一项重要监测指标,在一定程度上能反映围产期孕妇和胎儿的健康状态。将宫缩信号强度自动分类方法引入临床诊断可以为医生提供及时和精确的辅助诊断,避免人为判断差异性带来的医疗事故。临床上,根据宫缩曲线上升段和下降段所占时间长短的不同来反映不同强度类型的宫缩[1]。国内外关于不同强度宫缩信号的自动分类研究已相继开展。文献[2]利用移动平均滤波器抑制噪声,基于人工提取的8个时态特征,利用规则的k最近邻(k-Nearest Neighbor,kNN)分类器进行分类,但是,该方法非常依赖现有样本且不具备普遍性,分类精度不高。文献[3]利用3种不同的加权kNN分类器和决策树进行分类,但各类样本数量较少,易受噪声样本的干扰。文献[4]基于自回归模型频谱估计和标准方差分类的自适应滤波,利用决策树进行分类,该方法采用时域波形法和时域参数分析法获取信号一维特征,特征类型单一,分类效果有限。递归分析将一维时间信号转换到二维图像,利用递归图的纹理特征描述不同状态的信号,已被广泛应用于语音、机械、材料等信号处理,并取得了不错的效果[5-7]。本文提出一种基于递归分析的宫缩信号强度分类方法,实现3类不同强度的宫缩信号分类。
递归性是非线性动力学系统的基本属性之一,通过递归特性可以分析时间序列周期性、混沌性以及非平稳性。递归分析主要通过递归图来实现高维空间中时间序列递归特征的提取。
首先,将时间序列向量Xi(i=1,2,…,N)重构为d维的相空间:
Xi=(xi,xi+τ,…,xi+(d-1)τ)
(1)
式中,xi为第i个相点,d为嵌入维数,τ为延迟时间。
然后,给定适当阈值常数ε,计算递归值,构造递归图:
(2)
为了更好地描述信号的特性,获取递归点的分布规律,引入描述递归图的4个递归参量:递归率Rrate、确定率Rdet、平均斜线长度Rlen以及熵Rentr。
(3)
(4)
(5)
(6)
式中,P(ε,l)和lmin分别为对角结构长度为l的数量和长度初值,Nl为长度大于lmin的对角线总数。
宫缩信号是一种典型的非平稳信号。针对高频噪声,本文联合经验模态分解(Empirical Mode Decomposition,EMD)和形态学[8]进行分析,具体步骤如图1所示。
图1 去除宫缩信号高频噪声分量的步骤
首先,对原始宫缩信号进行EMD分解,得到一定数量的本征模态函数(Intrinsic Mode Function,IMF)。由于噪声信号通常为零均值的,而宫缩信号为非零均值的。因此,只要将零均值信号分量进行滤波就可以有效去噪。使用T-检验时,进行如下假设:
(7)
式中,fIMF(i)指第i个IMF分量。通过挑选一定的显著性水平α(一般为0.05),如果p值小于α,则否定零假设H0,支持假设H1。对所有的IMF分量进行T-检验,得到的零均值IMF分量和联合滤波算法结合去除高频噪声,最后重构所有的IMF分量。
同时,利用平滑先验算法(Smoothness Priors Approach,SPA)[9]去除信号基线漂移。该算法通过改变正则化参数调整截止频率,计算量小且操作简单。其中,宫缩信号的低频截止频率为0.003 Hz。宫缩信号高频和低频滤波后结果如图2所示。通过图2可以看出:滤波后,信号曲线平滑,高频噪声明显去除,水平方向的趋势得到有效校正。
图2 宫缩信号滤波处理后波形对比
本文基于宫缩信号的一维形态和时域特征,构造了12个特征表示。表1详细列出了7个形态特征参数的计算,另外5个时域特征分别是:峰值、持续时间、起始点到峰值点时间、峰值点到结束点时间以及幅值超过峰值60%的时间。同时,利用递归分析获取各类型宫缩信号的递归图,得到每一样例的二维递归参数。并构造融合12个时间、形态特征和4个二维递归参数特征的16维特征向量。在递归参数的构造中,选取递归参数嵌入维数d=2,时间延迟τ=5,最近邻居的固定数量k=5。表1中,M为信号的时间点,tstart为起始点,tend为结束点,μ为信号均值,σ为信号标准差。
表1 宫缩信号各形态特征参数计算公式定义
传统支持向量机(Support Vector Machine, SVM)分类有2个问题,即数据集类别不平衡造成低准确度和手动设计特征的冗余带来高运算量。因此,本文将合成少数类过采样技术(Synthetic Minority Over-sampling Technique,SMOTE)[10],主成分分析算法(Principal Component Analysis,PCA)和SVM结合使用,提出SMOTE-PCA-SVM分类器,在数据输入到SVM分类器之前就平衡原始数据集,有效避免分类器偏向多数类样本,同时平衡后通过降维来减少在分类器上的训练开销。
SMOTE算法是一种改进的过采样算法,用于类别不平衡数据集的处理,可有效缓解过拟合现象。对于少数类中每个样本a,以特定距离度量(如欧氏距离)为标准计算它到少数类样本集中所有样本的距离,获取其k近邻;并根据样本不平衡比例设置采样倍率,对于每个少数类样本a,从其k近邻中随机选择若干个样本,假设选择的近邻为b;最后,对于每个随机选出的近邻b,分别与原样本按照如下公式构建新的样本anew。
anew=a+rand(0,1)×(b-a)
(8)
PCA算法是一种使用最为广泛的数据降维算法。它的主要思想是将n维特征映射到k维上,k维是全新的正交特征也被称为主成分。
(1)将设计的n个特征融合成一个新的特征矩阵,通过特征矩阵的协方差矩阵计算得到相应的特征值及特征向量,从而确定主成分累积方差贡献率(Cumulative Percent Variance,CPV):
(9)
式中,λi为对应的特征值,通常为保证主成分模型精度达到PCA的分析标准,σ默认为90%。
(2)根据主成分累积方差贡献率确定主成分个数以及要变换的特征向量个数,确定变换矩阵。
(3)由提取的特征和所确定的变换矩阵得到多特征融合后的k维特征。
PCA算法处理后,特征矩阵既保留了主要特性,又降低了向量的维数,减少了后续数据的运算量,提高了分类性能。
SVM分类器通过非线性函数φ(x)将输入样本投射到高维空间,在高维特征空间中寻找间隔最大的超平面,实现更好的分类。SVM的目标优化为:
(10)
式中,C为惩罚系数,w为法向量,b为位移量,ζi为松弛变量。为了避免SVM计算的复杂性,通常将问题转化为对偶问题,引入拉格朗日乘子αi和ui,构建拉格朗日方程:
(11)
通过对式(10)求偏导,可以得到它的对偶形式,即一个二次规划问题:
(12)
通常选择惩罚系数C>0,利用序列最小优化算法(Sequential Minimal Optimization, SMO)高效求解式(12)问题。该分类器可以通过定义核函数K将一般非线性问题转换为线性问题:
(13)
本文中的数据来自Physionet提供的CTU-UHB intrapartum CTG(Cardiotocography)database数据库[11],共包括552份宫缩数据,采样频率均为4 Hz。本文邀请2位经验丰富的妇产专科医生分别对实验数据进行分析判断,主要包括宫缩发生位置、宫缩曲线上升段时间以及曲线下降段时间。并要求医生依据宫缩曲线特点确定强度标签,包括3 433个轻度、680个中度、1 320个强度的宫缩。由于上述数据库的宫缩信号未包含原始无噪信号,所以新增Fluke公司的PS320 Fetal Simulator模拟仪模拟产生的宫缩信号(含20例宫缩信号)作为验证滤波效果的数据集,将其仅用于预处理效果验证实验中。
实验的整体流程如图3所示。首先,将提出的联合滤波算法以及平滑先验算法应用于CTU-UHB intrapartum CTG database库中宫缩信号消噪预处理,为了表明所提联合滤波算法具有较强的鲁棒性,引入信噪比(Signal-noise Ratio,SNR)来比较不同滤波方法在模拟信号上的去噪效果;其次,将已经预处理后的CTU-UHB intrapartum宫缩信号利用递归分析,构造特征向量;最后,将归一化的特征向量作为SMOTE-PCA-SVM的输入,实现宫缩信号的有效分类。其中运用“OvR(One vs Rest)”技巧实现了基于SVM的宫缩信号多分类,并采用10折交叉验证技术进行训练和测试。惩罚参数C=1,选用线性核函数。将上述不同分类器的结果,使用准确度(Accuracy)、灵敏度(Sensitity)以及特异性(Specificity)[2]等指标来评价。
图3 分类方法流程图
(1)滤波算法效果验证
将20例模拟仪模拟产生的宫缩信号作为滤波效果验证的数据源,使用EMD法、形态学法、小波变换法、移动平均法以及联合滤波法等不同的算法进行滤波,计算各算法的信噪比均值,其结果分别为13.073 dB,16.648 dB,17.545 dB,17.790 dB以及18.083 dB。可以看出:联合滤波算法的SNR更高,意味着这种方式处理宫缩信号的效果较好,具有较高的鲁棒性。
(2)分类结果与分析
将CTU-UHB intrapartum CTG database数据库的宫缩信号预处理后,采用SMOTE-PCA-SVM分类器训练,并对10折交叉验证后的结果取均值,结果如表2所示。可以看出:所提分类方法处理后的各类强度宫缩分类指标均高于95%,其中轻度宫缩数据的准确度甚至高达100%。
表2 基于SMOTE-PCA-SVM各类指标度量 %
为了验证SMOTE-PCA-SVM分类器处理效果,本文对比了同一特征向量在不同分类器上的准确度,结果如图4所示。SVM分类器和SMOTE-SVM分类器的分类效果对比发现:中轻度宫缩信号数量明显高于中度宫缩信号数量,采用SMOTE-SVM分类器处理后,增加了少数类宫缩样本的数量,使各类型宫缩数量一致,均采样到3 433个。因此,能够避免SVM分类器结果偏向多数类,使各类样本的分类准确度取得明显提升。
图4 不同分类器处理准确度对比
SMOTE-SVM分类器和SMOTE-PCA-SVM分类器的分类效果对比发现:当宫缩特征向量使用CPV为90%的PCA处理后,特征维度从16维降低为6维,有效去除了冗余的特征,降低了特征向量的复杂度。分类结果中,强力宫缩的准确度虽略有下降,但中度宫缩的准确度却得到很大程度地提升,平均精度也得到提升,明显改善了分类器的结果。并且Python程序代码运行10次的时间均值,由使用SMOTE-SVM分类器的0.412 7 s下降到使用SMOTE-PCA-SVM分类器的0.367 1 s,运行速度明显加快,表明PCA处理后可以减少运算量。
最后,为了说明本文提出方法的有效性,将所设计的方法和其他已有文献方法进行对比,图5对比了不同分类方法不同指标的均值。其中1为基于规则的kNN分类器[2],2为基于SMOTE的kNN分类器[3],3为基于SMOTE的决策树分类器[3],4为基于自适应滤波的决策树分类器[4],5为本文所提方法只基于时间、形态特征的优化SVM分类器,6为本文所提方法融合时态特征和递归特征的优化SVM分类器。
图5 不同分类方法处理指标对比
经PCA降维后,分类器6和分类器5的特征向量维数分别为6维和4维,且分类器6的准确度大于分类器5的准确度。这表明引入的部分二维递归特征是有效特征,能提高宫缩信号强度分类的准确度。从图5可以看出:分类方法6获得的分类准确度、灵敏度和特异性均高于其他方法,表明本文所提方法的分类效果更好。
本文对宫缩信号的强度类型进行研究,提出一种基于递归分析的分类方法。方法将递归特征和形态、时域特征融合起来,更全面地描述宫缩信号的信息。同时,将SVM分类器和SMOTE采样及PCA降维结合起来,分类准确度、灵敏度和特异性高于现有算法。但是,在仿真实验中发现,人工设计的有效特征参数仍是少数,大量无意义特征的计算导致资源的浪费,如何避免这一问题将是下一步的研究重点。