基于支持向量机的亚健康状态识别
2010-05-13杨凤霞
杨凤霞
摘 要:利用HK-2000C集成化数字脉搏传感器提取人体左关处桡动脉脉搏信号,然后计算脉搏功率谱,并在此基础上提取功率谱峰值、功率谱重心及其对应频率的特征量,最后利用支持向量机(SVM)对所提特征进行分类。通过与线性判别式分析(LDA)法分类结果对比可以看出,SVM算法有着理论上的突出优势,但在实际应用中,由于样本数目有限,而且在其核函数选择和参数调整方面,均需要视经验值而定,因此推广性较差,还需要进一步的研究和改进。
关键词:亚健康;脉象;功率谱;支持向量机
中图分类号:TP274+.3文献标识码:A文章编号:1004-373X(2009)20-167-04
Recognition of Sub-health Based on Support Vector Machine
YANG Fengxia
(Xi′an Aeronautical Polytechnic Institute,Xi′an,710089,China)
Abstract:Pulse signal of radial artery are picked up by using HK-2000C digital integrated pulse transducer.And power spectrum is calculated.Then peak value,peak frequency,center of gravity (cg) and gravity frequency of power spectrum are extracted.And Support Vector Machine (SVM) is applied to pattern recognition of sub-health.Finally,the results of Linear Discriminant Analysis (LDA) and SVMare compared.Though there are advantages in theory using SVM.Some problems in selection of kernel parameter which usually selected by experience.There still has more works should be done.
Keywords:sub-health;pulse condition;power spectrum;support vector machine
0 引 言
亚健康状态在世界很多国家和地区都广泛存在,它是指人的机体虽然没有明确的疾病,但呈现出活力下降,适应力呈不同程度减退的一种生理状态,是介于健康与疾病之间的一种生理功能降低的状态,它既可以向健康状态转化,又可以向坏的方向转化,而进一步发展为各种疾病。由于社会科学技术的发展,生活节奏的加快,饮食结构的改变,环境的恶化,工作压力的加大以及社会矛盾加重等因素,使处于这种亚健康状态的人越来越多,根据全球范围内的一项调查表明,人群中有75%以上的人群处在健康和患病之间的亚健康状态,亚健康已经成为当今危害人类健康的头号隐形杀手,也是现代医学面临的难题之一。但是,由于亚健康状态没有器质性病变,通常不伴有明显的病理表现,现有的传统医疗检测设备,根本无法对机体的状态和导致功能低下的原因做出描述和判断。目前亚健康的诊断和评价主要是靠问卷调查进行的,它缺乏客观、定量的测量指标[1,2]。
中医脉诊是我国传统医学中最具特色的一项诊断方法,通过检查与分析脉象的变化,了解人体气血的运行状态以及脏腑生理与病理的改变,以此达到临床诊断和治疗的目的。脉搏信号中蕴涵着丰富的人体生理病理信息,是传递和窥视体内功能变化的窗口,某些异常信息在疾病的早期就已经反映在脉象信号中了,因此通过分析脉象信号进行亚健康状态的诊断不失为一条有效的手段。但由于“脉理精微,其体难辨”,虽经历代医家发微解难,仍然是“在心易了,指下难明”[3]。在此,将数字信号处理技术运用于脉象信号的分析,对亚健康人群的脉象进行分析研究,希望能为亚健康诊断的研究提供一条有效的途径。
1 材料与方法
图1为脉搏信号分类识别的过程框图。
图1 脉象信号识别过程框图
“预处理”是对脉搏信号低通滤波,去除高频噪声。“特征提取”是为了有效地实现分类,而对经过预处理后的原始数据进行变换,得到反映分类本质特征。“特征分类”是在特征空间中利用某种分类准则把待分类的对象进行归类。
1.1 研究对象
在此的研究处于健康和亚健康状态脉象的识别问题,选用健康人和处于中度以上亚健康状态的人作为研究对象,所选受试者均为无躯体疾病、无精神障碍的兰州理工大学在校大学生志愿者(年龄在21~30岁之间)。使用合肥华科电子技术研究所的HK-2000C集成化数字脉搏传感器检测被试者脉搏信号,同时由亚健康自测表测得脉象样本的原始分类。其中,自测表是从亚健康研究网上获取的,该表从躯体、心理和社会功能三个方面对人体的健康状态进行了综合测试,具有很好的可靠性。文中对两种状态的30个样本(健康组13例,亚健康组17例)进行了分类实验验证。
1.2 脉象信号特征提取
在计算机控制下,用脉搏传感器在左关部位对受试者的脉象信号进行采集,对每一例采得的脉象数字信号通过数字低通滤波器(采样频率为128 Hz,截止频率40 Hz)滤除高频干扰后,选取一个完整的具有代表性的脉搏波进行分析。
采用Welch法进行功率谱估计,对于滤波处理后的数字信号xN(n)(0≤n≤N-1),分为L段,每一段数据长为M,并允许每段数据重合一半,这时有:
L=N-M/2M/2(1)
其中第i段数据记为:
xiN(n)=xN[n+(i-1)M]
0≤n≤M-1,1≤i≤L(2)
计算每一段数据的功率谱:
iPER(k)=1MU∑M-1n=0xiN(n)W(n)e-j2πkn/M2,
0≤k≤M-1(3)
式(3)中:
U=1M∑M-1n=0W2(n)(4)
W(n)=12{1-cos[2πn/(N-1)]}(5)
把PER(k)对应相加,再取平均值得到平均功率谱:
PER(k)=1L∑Li=1iPER(k)=
1MUL∑Li=1∑M-1n=0XiN(n)e-j2πkn/N,0≤k≤M-1(6)
画出脉搏功率谱图(Pulse Power Spectral Graghs,PSG)。计算方法采用快速傅里叶变换(FFT)[4]。
在分析过程中,对脉象功率谱求取功率谱峰值和重心频率。其中,重心频率用来评价功率谱曲线重心的迁移情况。某频谱段功率谱密度曲线的重心频率(Gravity Frequency)(Wolfgang Klimesh)有时也称为平均频率(Mean Frequency),它可以较好地反映频谱中占分量较大的信号成分的频率,也可以反映整个脉搏功率谱的迁移情况,其计算公式为:
fg=∑f2f=f1[p(f)f]/∑f2f=f1p(f)(7)
式中:fg为重心频率;频率范围为f1~f2;p(f)为信号的功率谱;f为频率值。
1.3 SVM分类方法
支持向量机(Support Vector Machines,SVM)是在统计学习理论(Statistical Learning Theory,SLT)基础上发展而来的一种新的机器学习方法,是由模式类线性可分情况下的最优分类面(Optimal Hyperplane)提出的。它的基本思想是:若在原始特征空间中实现的分类器结构十分复杂,则通过定义适当的核函数诱导出某个非线性变换,用此变换将原始特征空间映射到一个高维空间,然后在这个新的特征空间中求得最优线性分类面,以降低分类器的复杂度[5,6]。由RKHS(Reproducing Kernel Hilbert Spaces)理论可知,当选定的核函数满足一定条件时,该核函数导出的高维特征空间中两特征向量间的点积可由核函数在低维特征空间中对应两特征向量上的定义计算得到。这样,便可在低维特征空间中处理对应高维特征空间中的数据。
由于求解SVM只涉及到向量间的点积运算,故不必担心由于引入核函数而引起计算上的维数灾难,可将注意力集中到如何选取恰当的核函数上,以改善特征向量在高维特征空间中的分类,从而使分类器结构更简单。这样,求解SVM的过程即为高维特征空间中求解模式类样本数据之间最优分类面的过程,此处的最优分类面是在控制样本错分率的前提下使两类样本数据间的分类间隔(高维特征空间中)最大的分类面。统计学习理论指出,Δ为间隔分类超平面集合的VC维上界h:
h≤min([R2/Δ2],n)+1(8)
式中:R为包含训练数据的球体的半径;Δ=1‖w*‖,w*=∑li=1yiαi,xi,αi≥0,i=1,2…,l;n为特征空间的维数。
考虑两类分类问题:{xi,yi}为给定训练样本。其中xi为第i个样本向量;yi代表xi的类别,yi∈{1,-1}。对于图2的两类问题,中间的实线为分类线,两边的虚线为过各类中离分类线最近的样本,且平行于分类线的直线,它们之间的距离叫作分类间隔(Margin),其值对应于两倍Δ-间隔,即2/‖w‖。图2中与虚线相切的点即为支持向量(Support Vectors)。所谓最优分类线就是要求分类线不但能将两类正确分开(训练错误率为0),而且分类间隔最大,等价于‖w‖2最小。广义最优分类面可通过解决下列条件的约束优化问题得到:
φ(w,ξ)=12(w,w)+C(∑ni=1ξδi)
s.t.yi[(wx)+b]-1+ξ≥0(9)
图2 二维空间中 SVMs原理示意图
在上面的问题中,如利用Lagrange优化方法将上述最优分类面问题转化为其对偶问题,这样计算的复杂度不再取决于空间维数,而是取决于样本数,尤其是样本中的支持向量数。不论是寻优函数,还是分类函数都只用到训练样本中间的内积运算,若再选定某一种核函数进行变换,则等价于解决下面的QP (Quadratic Programming ) 优化问题:
minα12∑li=1∑lj=1yiyjαiαjK(xi,xj)-∑lj=1αj,
s.t. ∑li=1yiαi=0,0≤αi≤C,i=1,…,l(10)
式中:K(xi,xj)为选定的核函数;xi为样本向量;yi为样本类别,yi∈{+1,-1};C为控制错分样本与模型复杂度之间折衷度的常量。
称式(10)为L1-SVM QP问题,解L1-SVM QP问题后得到SVM的决策函数:
f(x)=sgn[∑mi=1α*iyiK(xi,x)+b*](11)
式中:
b*=yi-∑li=1yiα*iK(xi,xj)(12)
式中:α*i为式(10)优化问题的最优解,如果训练样本xi对应αi>0,那么是支持向量α0,可由任意支持向量(xs,ys)确定:
α0=ys-∑li=1αiyiK(xi,xs)(13)
可以证明,式(10)优化问题的最优解对应于一个Δ-间隔分类超平面集合中处于几何中心位置的元素(在高维空间中,从几何上来讲,该优化问题的最优解所对应的学习机即为某一个超球的中心位置所对应的向量)。由式(8)可知,在选定核函数,训练集确定的情况下,只需最小化‖w*‖便可控制h,从而获得控制分类器所在分类超平面集合的VC信任;然后再在该集合中寻找使经验风险最小的分类器(该分类器即对应于分类器集合的几何中心),继而实现了SRM原则。
SVM可看成具有单隐层的前馈神经网络。隐层的神经元即为支持向量,神经元的权值即为式(10)最优解中具有非零值的α。SVM较神经网络的优点是:神经元及神经元的数目以及对应权值都可通过优化式(10)而自动确定;由于式(10)是一个凸优化问题,故优化过程收敛,且不存在局部极小问题;式(10)具有快速算法,收敛过程较快;更重要的是,SVM推广性能比普通前馈神经网络要好。
综上所述,与其他学习算法相比,SVM有三个主要特点:二次对偶目标函数,使得SVM可以通过求解一个二次函数来训练,这是一个全局最优问题,克服了传统神经网络的局部最优问题;平滑化的原则,‖w‖2的范数最小,可以得到很好的推广能力;核函数的应用,使其可以处理非线性问题。
1.4 核函数参数的自动调整
核参数决定了输入空间与高维空间的非线性映射本质,控制了映射过程的复杂度,选取合适的核参数是取得满意分类效果的关键。这里采用性能较好的高斯径向基函数(Radial Basis Function,RBF)作为核函数[7]:
K(x,z)=exp{-‖x-z‖22σ2}(14)
式中:σ为RBF函数的宽度参数,控制了核函数的径向作用范围。
在支持向量机的性能估计中,根据最小误差上界思想,利用训练数据,寻找最优的核参数。根据统计学习理论,Vapnik给出了支持向量机分类器的错误上界:
ε=1l•R2γ2(15)
式中:R为在特征空间中包含所有训练样本的最小球半径;γ为超平面的间隔。
γ=1‖w‖,且12‖w‖2=Q(α0)
R2=maxβ∑li=1βiK(xi,xNj)-∑li,j=1βiβjK(xi,xj)(16)
约束条件:
∑li=1βi=1,βi≥0,i=1,2,…,l
在求解式(16)所示的最优分类面过程中即可得到γ2,求解由式(16)的优化问题可得R2。因此,分类器的误差上界ε=1l•R2γ2=1lR2‖w‖2。
在核函数参数空间内,寻找使ε最小的σ,即为最优的核参数σ2。
根据上面的讨论,给出寻找最优和参数的步骤:
(1)选取较小的核参数σ、核参数增量Δσ以及核参数的搜索范围;
(2)求解式(10)优化方程,获得支持向量、相应的算子α0及‖w‖2;
(3)求解优化方程式(16),并计算R2与误差上界ε;
(4)将σ+Δσ赋予σ,回到步骤(2),继续搜索,如果完成整个范围的搜索,去步骤(5);
(5)最小误差上界εmin对应的σ即为最优参数σ0,该参数将用于分类。
2 结果与讨论
根据上述方法,将采集到的脉搏信号用上述Welch法进行功率谱估计,得到PSG,由于40 Hz以上的PSG能量非常小[8],故可忽略。在此,提取0~30 Hz频段的PSG进行分析,表1为30组样本对应的功率谱重心、重心频率功率、谱峰值和峰值频率。
表1 脉象信号的功率谱重心值,重心频率,功率谱峰值和峰值频率
类型功率谱重心值重心频率功率谱峰值峰值频率
Y011.277 2e+005 1.128 352.7250.750
Y029.572 6e+004 1.198 152.0450.875
Y031.172 1e+0051.160 452.4890.750
Y042.740 8e+0041.568 649.0110.875
Y056.004 4e+0041.474 550.4471.000
Y067.966 8e+0041.224 352.1780.750
Y072.058 5e+0041.155 545.5610.750
Y085.225 3e+0041.369 350.8220.875
Y096.113 5e+0041.204 853.4810.750
Y101.542 7e+005 1.156 853.4810.750
Y112.931 6e+004 1.801 849.4191.000
Y121.582 9e+003 1.585 244.0211.000
Y138.143 3e+004 1.331 052.3200.875
Y145.806 3e+004 1.885 049.5081.125
Y151.286 6e+005 1.224 553.6260.875
Y161.216 6e+005 1.071 353.3860.750
Y171.377 2e+005 1.145 453.0790.750
J012.842 4e+004 1.377 048.4240.875
J021.071 9e+005 1.136 352.5950.625
J033.035 8e+004 1.308947.5050.875
J042.290 3e+004 1.460 347.4060.875
J058.209 9e+003 1.340 242.7080.750
J066.050 9e+004 1.210 650.4820.750
J071.717 0e+004 1.198 245.43 80.750
J082.635 8e+004 1.170 246.4610.750
J097.243 9e+004 1.209 251.5830.750
J104.685 5e+004 1.490 851.3420.750
J118.912 4e+004 1.099 851.7010.750
J122.290 4e+004 1.460 447.4080.875
J136.050 7e+004 1.210 750.4800.750
注:表中Y代表亚健康人;J代表健康人。
对上述的30个样本进行分类,采用与LDA相同的迭代方法进行训练,每次从中选择2个样本作为测试样本,28个作为样本训练。为了比较各特征量的分类效果,在进行对比试验时,选用高斯径向基核函数,各参数以及采用SVM对各脉搏特征的分类结果如表2所示。
表2 支持向量机对各特征量的分类结果
特征量
SVM参数设置分类正确率 /%
σ惩罚因子C训练样本测试样本
功率谱峰值、峰值频率 0.75259080
功率谱重心、重心频率1.225 82.1576.67
3 结 语
这里就线性判别式分析(LDA)和支持向量机(SVM)对所提的特征进行了分类。对比实验结果可以发现,LDA算法在对亚健康状态识别应用中取得了较好的效果。SVM算法有着理论上的突出优势,但在实际应用中,由于样本数目有限, 并且选择的核函数及其参数都有一定的不确定性,需要根据经验进行选择和判断,在这一方面还需要进一步的研究和改进。
参考文献
[1]陈复平,李强.亚健康概论[M].北京:中国轻工业出版社,2004.
[2]徐宝,何映.亚健康状态及其研究现状[J].中国性科学,2007,16(2):16-18.
[3]费兆馥.现代中医脉诊学[M].北京:人民卫生出版社,2003.
[4]王柄和,罗建,相敬林,等.人体脉搏功率谱分析与中医脉诊机理研究[J].西北大学学报:自然科学版,2001,31(1):21-25.
[5]邓乃扬,田英杰.数据挖掘中的新方法支持向量机[M].北京:科学出版社,2004.
[6]Evgeniou T,Pontil M,Poggio T.Regularization Networks and Support Vector Machines[J].Advances in Computational Mathematics,2000,13(1):1-50.
[7]Amari S,Wu S.Improving Support Vector Machine Classi-fiers by Modifying Kernel Functions[J].Neural Networks,1999,12:783-789.
[8]元慧.脉搏波的特征信息分析和动脉硬化诊断研究[D].济南:山东大学,2005.
[9]梁宏斌,严正俊.基于支持向量机的模式识别方法[J].现代电子技术,2007,30(16):193-194.
[10] 郑晓星,吴今培.基于支持向量数据描述的数据约简[J].现代电子技术,2007,30(2):74-76.