版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要神经系统疾病在世界范围内严重影响着人们的生活,帕金森病(Parkinson’sdisease,PD),也称作特发性或原发性帕金森病,就是一种最常见的神经系统疾病。但是由于帕金森病的确切病因目前仍不清楚,所以对于帕金森病的检测和诊断仍旧比较复杂。近年来帕金森病与语音障碍之间联系的研究愈发受到重视,许多语音信号处理的算法被提出,用来对帕金森病的患病情况进行预测。目前的研究大多数是通过采集受试者的语音信号来进行帕金森病的诊断,其效果大多数比较好,成功的反映了语音障碍对帕金森病之间的联系。本研究构建了一个语音检测帕金森病的系统。该系统通过采集受试者的语音信号,利用语音信号处理的技术,从中提取多种语音障碍特征,接着通过使用多种人工智能的算法,对受试者进行帕金森病的诊断和其帕金森病患病严重程度的评估。同时将该系统放入手机应用的后端中,实现对帕金森病的远程诊断和病情监控。本研究为实现了帕金森病的诊断和疾病评估方便化、远程化提供了一定的贡献,同时可以作为决策支持工具,对医生的治疗和诊断提供相应的辅助。关键词:帕金森病;语音障碍;远程诊断;人工智能;手机应用ResearchonDetectionMethodofSpeechDisorderinParkinson’sDiseaseAbstractNeurologicaldiseasesseriouslyaffectpeople’slivesintheworldwide.Parkinson’sdisease(PD),alsoknownasidiopathicoridiopathicParkinson’sdisease,isoneofthemostcommonneurologicaldiseases.ThedetectionanddiagnosisofParkinson’sdiseasearecomplex,becausethespecificcausesofParkinson’sdiseaseremainelusive.ThefieldoftheconnectionbetweenParkinson’sdiseaseandspeechdisorderbecomesmoreandmoreattractiveinrecentyears,andthus,numerousspeechsignalprocessingalgorithmshavebeenproposed,aimingtopredicttheonsetofParkinson’sdiseases.MostofthestudiesaredesignedtodiagnoseParkinson’sdiseasesbycollectingspeechsignalsfromsubjects,andthemajorityofthealgorithmsareeffective,whichcansuccessfullyreflecttheconnectionbetweentheParkinson’sdiseasesandspeechdisorder.ThisstudyconstructedaspeechdetectionsystemforParkinson'sdisease.Thesystemcanextractvariousdysphoniafeaturesfromthespeechsignalcollectedfromsubjectsbythetechniquesofspeechsignalprocessing.Subsequently,thesystemcandiagnoseParkinson’sdiseasesandassesstheseverityofParkinson’sdiseasebyvariousartificialintelligencealgorithms.Moreover,thesystemshouldbeputintothebackgroundofmobilephoneapplicationstorealizetheremotediagnosisandconditionmonitoringofParkinson’sdisease.ThisstudycontributestotheconvenienceandremoteoftheParkinson’sdisease’sdiagnosisandevaluation.Itcanalsobeutilizedasadecision-supportmeansofprovidingtheassistanceforthedoctor'streatmentanddiagnosis.KeyWords:Parkinson’sDisease;SpeechDisorders;RemoteDiagnosis;ArtificialIntelligence;MobileApplication目录摘要 IAbstract II引言 11帕金森病与语音障碍 51.1目前帕金森病的诊断方法 51.2帕金森病人与语音障碍 51.3语音障碍检测帕金森病 62语音信号的采集 72.1发音选择 72.2录音设备 82.3统一帕金森病评分量表(UPDRS) 82.4采集方案 82.3.1病人采集状态 82.3.2采样环境 92.3.3采样命名规则 92.3.4采集流程 92.3.5入排标准 92.3.6预期目标 93语音信号预处理 113.1格式转换 113.2采样频率转换 113.3预加重 113.4加窗和分帧 133.5无声判别 133.6基频提取 143.6.1基音估计方法 153.6.2自相关法 153.6.3去除野点 154语音障碍特征 174.1基频特征Pitch 184.2基频扰动Jitter 184.3振幅扰动Shimmer 194.4信噪比特征 204.5非线性特征 224.5.1DFA(去趋势波动分析) 224.5.2RPDE(复发周期密度熵) 234.5.3D2(相关维度) 244.5.4PPE(基频周期熵) 255帕金森病诊断和严重程度评估 265.1问题归类 265.1.1帕金森病诊断问题 265.1.2帕金森病语音障碍严重程度评估问题 265.2算法原理介绍 275.2.1支持向量机 275.2.2支持向量回归 305.2.3线性回归 325.2.4逻辑回归 335.2.5人工神经网络 345.2.6朴素贝叶斯 365.2.7LASSO回归 375.3实验数据集 385.4实验结果 406系统后端部署 456.1app简介 456.2app后端配置 456.3算法接口 456.4用户数据库 466.5并发支持 466.6算法加速 47结论 48参考文献 49附录Aapp的界面图片 53致谢 55引言帕金森病(Parkinson’sdisease,PD)是最常见的神经系统疾病之一,容易在老年人群中发现,严重影响了人们的健康,加重了生活的负担。其主要的症状有静止性震颤(statictremor)、肌强直(rigidity)、运动迟缓(bradykinesia)、姿势步态异常(abnormalgait)等[1],同时还可能导致大量的非运动症状(NMS),如嗅觉功能衰退、便秘、抑郁、睡眠障碍等。作为一个进展性疾病,在病程的发展中,其各种症状(运动、非运动)都会愈加严重,发展到了后期还常会出现相应的并发症,包括药物疗效减退、“开-关”现象、异动症等。严重的患者极易被平衡障碍、跌倒、冻结步态、吞咽困难和言语障碍等症状所困扰,生活不能自理,生活质量严重下降[1]。经过相关统计调查,在世界范围内,有着大约20/100,000的发病率[2]和超过100/100,000的患病率[3],平均发病年龄在60岁左右。而对于我国来说,65岁以上的人群的患病率大约是1.7%[4],而近年来40岁左右的青年型帕金森病人的数量也表现出增加的趋势。世界帕金森病协会的统计表明,全球约有500万以上的帕金森患者,而我国帕金森病患者就已经超过了250万,几乎可以说占了全世界患者的总数的一半[4]。此外,这些统计数字可能低估了问题的严重性,由于我国人口老龄化以及帕金森病诊断的困难性等原因,这些数字不久可能会持续增加。帕金森病本身是有进展性的,但目前还没有能够治愈的治疗方法,也没有能逆转或阻止疾病进展的方法[5]。所以就像癌症一样,早期的发现与诊断是很重要的。帕金森病最为显著的病理改变是黑质致密带(SNZc)多巴胺能神经元脱失及并发纹状体轴突末梢多巴胺(DA)耗竭[6]。但是目前帕金森病的确切病因至今未明,遗传因素、环境因素、年龄老化、氧化应激等均可能参与多巴胺能神经元的变性死亡过程[7]。目前作为诊断的“金标准”:病理学检验需要使用脑内细胞进行显微检测,很显然不太可行。而现在帕金森病还没有明确的生化标记,所以精确的诊断比较困难。综上,帕金森病需要早期诊断,但又难以检测,因此如何可靠的诊断帕金森病已经吸引了越来越多的人进行研究。经过研究显示,语音也许是一个有效的诊断帕金森病的信号[8-10]。正常人的发声需要在正常的体态和呼吸方法的基础上,通过肺部呼出的气流对声带进行冲击,从而产生出不同的振动频率,同时也伴随着声带的传导和共鸣腔的共鸣,从而获得可听声[11]。但是对于帕金森病来说,其作为一个神经系统疾病,不仅仅影响到了骨骼及运动系统,也影响到了发声系统,很容易产生语音障碍(通常指语音的音量、音调、音质、语音持续时间以及共鸣出现了异常)[12]。基于临床数据的证明,绝大多数的帕金森病患者(90%)通常表现出一些语音问题[13]。而实际上,语音障碍也是可能在最早出现的帕金森病的前驱症状之一,可以在临床诊断的五年前被检测到[14]。所以目前已经有许多关于语音诊断帕金森疾病的研究。2007年,牛津大学的MaxA.Little等人开始相关的研究,他们使用语音来区分帕金森病人的声音和健康人的声音,经研究发现使用线性模型来处理语音模型,效果并不是很近人意,而使用非线性的特征更有效果[15]。AthanasiosTsanas和MaxA.Little于2009年,使用帕金森病人的在家中测量的语音文件来远程的监测帕金森疾病病情,其评估的语音障碍严重程度的评分与专业医师评估的UPDRS(满分167)评分平均之差只有7.5分[16]。同年MaxA.Little从195个发音中,提取语音障碍人特征,并选择了10个特征,使用了支持向量机来区分帕金森病语音和健康语音,得到了91.4%的准确率[8]。Pei-FangGuo在2010年结合遗传编程和期望最大化算法(gp-em),对帕金森病人进行分类,得到了93.1%的准确率[9]。R.Das也在2010使用了广义回归神经网络来对帕金森病人进行语音识别,得到了92.9%的准确度[17]。而在2012年,AthanasiosTsanas和MaxA.Little等人,总结出了132个语音障碍特征,并分别使用了4中特征选择算法(LASSO,mRMR,RELIEF,LLBFS)分别选择了与结果最相关的10个特征,结果发现使用RELIEF选择出的10个特征可以很好的区分帕金森病语音和健康语音,使用支持向量机的方法可以得到98.6%的准确率[18]。可以看出在诊断(二分类)问题上,国外已经有很好的结果了,但是在严重程度评估(回归)问题上还有待改进。而国内的研究也取得了很好的结果。燕山大学的张涛在2011年对持续的元音进行测量,从而对基于元音分类度的帕金森病语音特征进行了相关的分析[19]。在2012年张涛又提出多维筛组合分类器框架,从多个维度改进算法,实验表明,多维筛分类器不但具有较好可视性能,而且分类性能极佳[20]。2016年李勇明提出了一种新算法,对样本重复剪辑算法和随机森林进行了结合,并基于最新公共数据集进行了对比实验,在帕金森诊断上取得了很好的效果[21]。同年杨彬等人使用基于Matlab语音工具箱,对早期诊断帕金森疾病进行了评估[22]。可以看出,在国内的相关研究更注重诊断(二分类)问题,少有对严重程度评估(回归)问题上的研究,且据我们所知,国内目前没有语音检测帕金森病人严重程度的手机应用(app)。同时国内外相关的研究都局限于使用在比较封闭且安静的环境下所获得质量较好的语音信号。在本篇论文中,利用数学软件Matlab和Python语言,构建了一个语音检测帕金森病的系统,该系统首先采集受试者的语音信号,接着利用了语音信号处理的技术(语音预处理,语音特征参数评估等),从语音中提取出了多种语音障碍特征,接着通过使用多种人工智能的算法(分类,回归的机器学习算法),对受试者分别进行帕金森病的诊断(分类)和其帕金森病患病严重程度的评估(回归)。同时将该系统放入提前搭建好的手机应用的后端中,实现对帕金森病的远程诊断和病情监控,从而完成了一个语音检测帕金森病严重程度的app。该检测系统比起传统的检测方法,速度更快,且没有任何创伤,且由于包装成了手机应用,便于病人在家里随时进行检测。未确诊的病人可以通过自己的语音障碍严重程度来评估自己患病的风险,即实现远程诊断;已经确诊的病人可以通过自己的语音障碍严重程度,来随时监测自己的身体情况,即实现病情监控;同时可以作为决策支持工具,在临床上对医生的治疗和诊断提供相应的辅助。用来实验的数据分为两部分:(1)一部分数据集来源于开放的数据平台:UCIMachineLearingRepository,从该数据库得到了特性不同的三组帕金森语音特征数据。(2)另一部分数据的采集是和大连医科大学附属第一医院神经内科共同合作,得到了来自中国的真实帕金森病人的语音数据。考虑到采集的语音信号需要避免过多的发音不清、语种不同、有无方言、有无口音等多种干扰因素,本实验决定采用了持续发音法[12],此方法比较普遍,容易实现并且有着良好的效果。而在发音的选择上,本实验选择发元音,这是因为元音在发音过程中由气流通过口腔而不受阻碍,辅音在发音过程却受到阻碍,其发音时不一定需要声带振动;同时考虑到帕金森病语音障碍产生的原因,是由于神经系统对发音系统的控制力减弱,所以对声带和气流的控制也相应减弱,因此元音更能体现出语音障碍的程度,还有一个原因是不同地区的基本元音都很类似,所以采用元音。这里采用的元音是国际音标中的5个长元音:[i:]、[ɜ:]、[ɑ:]、[ɔ:]、[u:],方便受试者持续发音。本系统的大致流程如下:(1)利用手机的录音功能对受试者进行录音,对其发出5个持续长元音的语音信号进行采集。(2)当采集完语音信号之后,需要对信号进行一定的预处理,本次实验中进行的预处理为:采样频率转换(重采样)、预加重(滤掉低频,增加高频)、分段(加窗)、无声判别(双门限法)、基频提取(自相关法)。(3)进行完语音预处理后,便可以提取语音障碍特征,本次实验中,提取的语音障碍特征为:①基频特征pitch:基频的平均值(F0_mean)、基频的最大值(F0_max)、基频的最小值(F0_min)、基频的中值(F0_median)、基频的标准差(F0_std)。②基频扰动Jitter:基音周期相对扰动(Jitter)、基音周期绝对扰动(Jitter_abs)、基音周期相邻5点扰动(Jitter_PPQ5)、基音周期相邻3点扰动(Jitter_rap)、基音周期相邻3点扰动之差(Jitter_ddp)。=3\*GB3③振幅扰动shimmer:振幅扰动:%(Shimmer)、振幅扰动:分贝(Shimmer_dB)、振幅相邻5点(Shimmer_APQ5)、振幅相邻3点(Shimmer_APQ3)、振幅相邻3点之差(Shimmer_dda)、振幅相邻11点(Shimmer_APQ11)。=4\*GB3④信噪比特征:谐波信噪比平均(HNR_mean)、谐波信噪比标准差(HNR_std)、谐波噪信比平均(NHR_mean)、谐波噪信比标准差(NHR_std)。=5\*GB3⑤非线性特征:去趋势波动分析(DFA)、复发周期密度熵(RPDE)、相关维度(D2)、基频周期熵(PPE)。(4)提取语音信号的语音障碍特征后,本系统使用相应的人工智能算法对其进行分类和回归:=1\*GB3①分类算法:支持向量机(SVM)、人工神经网络、朴素贝叶斯、逻辑回归。=2\*GB3②回归算法:线性回归、LASSO回归、支持向量机回归(SVR)从而对受试者进行帕金森疾病诊断和语音障碍程度评估。
1帕金森病与语音障碍帕金森病是目前最为常见的神经系统疾病之一,此病是从1817年由英国医生詹姆士·帕金森所发现并首次发表[23],目前已经成为了继脑卒中后遗症和癫痫后的第三大危害神经系统的疾病[24]。但是由于帕金森病发病原因目前还不明确,且无法治愈,所以帕金森病早期有效的诊断是十分重要的,且由于帕金森病目前是无法逆转病情的,所以及时的疾病监控也是十分有必要的。1.1目前帕金森病的诊断方法目前帕金森病的诊断还是比较依赖病人的病史和相关的神经学的检查,但是还没有能够有效的确认帕金森病的方法[25]。而帕金森的诊断标准也随着医学的发展逐渐的更换。目前病理诊断是帕金森病诊断的“金标准”,但是相应的要求也比较高,需采取发病部位的细胞进行检测,而发病部位在脑部,容易造成创伤,并不可行。现在用来代替的方案是使用脑分子影像来进行帕金森病的早期诊断,这种方法较为简单,且灵敏度和特异度良好,其原理是直接检测脑内特定部位的细胞代谢情况,包括多巴胺代谢的情况,也可以检测黑斑的特殊病变,从而能够辅助医生进行诊断和综合评估,这种方法对临床表现不典型的患者诊断价值更大。可是其难点在于PET脑分子影像结果分析复杂,且容易受到医生自身的主观影响,对医生的经验和水平的依赖比较高,不太方便。总的来说,目前的诊断方式都比较复杂。同时不仅仅是仪器检测,对医生自身的经验和水平也很重要,所以帕金森病的快速、简便而又准确的诊断是不可或缺的。1.2帕金森病人与语音障碍帕金森病会导致神经系统退行,其神经会失去对身体的控制,除了可见的运动障碍之外,言语障碍也比较常见。基于临床数据的证明,有90%左右的帕金森病患者有不同程度的言语障碍。比较典型的表现有语言不清、音量过低、声音嘶哑、说话音调平淡、没有抑扬顿挫、发声控制能力下降等。而音量过低、说话音调平淡是最为普遍的。同时有许多患者因为自身的言语障碍,渐渐的就不喜欢交流,这样却会导致言语障碍变的更加严重,形成了一个恶性循环。患有语音障碍的帕金森病患者的音量会比健康的人低,经调查,通常表现为降低2~4分贝,即声音强度降低了0.4左右。经医生反映,一个比较常见的情况就是当要求病人更大声的讲话时,患者却感觉自己的声音足够大了,应该是对方没有仔细听,这样就导致沟通上出现障碍。帕金森病导致语音障碍的根本原因目前在医学上还没有一个确切的结果,但是有两个假说,第一个假说认为发音实际上也是靠肌肉控制的一种运动,而帕金森病可以产生运动障碍,那么这些很有可能也影响到了发声运动;第二种假说认为感觉反馈系统受到了影响,出了问题,所以自身无法正确判断自己的音量,导致音量降低,产生语音障碍。早在1978年,Logemann等人就发现了帕金森病患者的语音频率与声带功能障碍大概率存在关联[26]。在1984年,经过DGHanson等人的研究发现了帕金森病人有着双侧声带的收缩运动不对称的现象[27],在1995年,Smith等人发现了病人存在着舌肌和颈肌的震颤现象[28]。在2001年,Gallena等人发现了左旋多巴可以一定程度的改善患者喉肌的活动水平,从而改善了患者的语音障碍程度[29],而2002年,CynthiaM.Fox等人发现了帕金森病人的语音障碍还与对言语的感知和反馈上的障碍存在一定的关系[30]。1.3语音障碍检测帕金森病经过研究显示,语音也许是一个有效的诊断帕金森病的信号[8-10]。自从2007年牛津大学的MaxA.Little等人开始相关的语音障碍检测帕金森病研究,他们使用语音来区分帕金森病人的声音和健康人的声音,经研究发现使用非线性的语音障碍特征可以较好的区分帕金森病人。这之后,通过语音障碍来检测帕金森病越来越受到关注,尤其是在2012年,AthanasiosTsanas和MaxA.Little等人,总结出了132个语音障碍特征,接着使用RELIEF特征选择算法选择出了的10个特征,这10个特征可以很好的区分帕金森病语音和健康语音,使用支持向量机的方法可以得到98.6%的准确率[18]。所以用语音来进行帕金森病的诊断可以达到很准确的结果。而在2009年,AthanasiosTsanas和MaxA.Little,通过语音来对病人的语音障碍的严重程度进行评估,其得到的评分与专业医师评估的UPDRS(满分167)评分平均之差可以达到7.5分[16],证明了语音障碍不单单可以诊断,同时也可以对帕金森病的严重程度进行评估。但是过去的研究都是让受试者在低噪音的环境下,使用专业设备进行录制语音的,而目前随着智能手机的普及,手机对语音进行录音并上传分享的功能越来越受到人们喜爱,本篇论文便是在此基础上,构建了一个语音检测帕金森病的系统,通过手机进行录音,然后对受试者进行诊断和严重程度评估。之后将该系统部署到后端,通过与已经做好的前端软件相连接,完成一个语音检测帕金森病的app。
2语音信号的采集首先需要对语音信号进行采集,本次实验是与大连医科大学附属第一医院神经内科共同合作,参与采集的病人都自愿协助我们进行采集实验。2.1发音选择采集的发音内容需要简短,同时能够在一定程度上反映出病人的语音障碍。考虑到需要不同的人之间存在语种不同、有无方言、有无口音以及需要避免发音不清等多种因素,决定采用持续发音法[12],此方法比较普遍,且效果好,可操作性强。而选择发音上,我们选择了元音,这是因为不同的音形成的机理不同:(1)元音:是在发音过程中由气流通过口腔而不受阻碍发出的音。其发音时气流从肺部呼出经过声门,然后冲击声带,使声带均匀振动,最后气流不受阻碍通过口腔、鼻腔,通过舌、唇的调节而发出不同的声音。所以发元音时声带必然振动。(2)辅音:是在发音过程中由气流在口腔或咽头受到阻碍而发出的音。其发音时气流受到多个发音器官的各种阻碍,其主要依靠阻碍来发音。所以发辅音时声带不一定要振动。如果考虑到帕金森病语音障碍产生的原因,是由于神经系统对发音系统的控制力减弱,因此对声带和气流的控制也相应减弱。同时根据REF_Ref483433409\h1.2帕金森病人与语音障碍这一小节中里面的研究表明,声带的振动与语音障碍关系比较大,因此元音更能体现出语音障碍的程度。另一个原因是不同地区的基本元音都很类似,所以采用元音比较合理。这里采用的元音是英语音标中的5个长元音:[i:]、[ɜ:]、[ɑ:]、[ɔ:]、[u:],长元音方便受试者持续发音。表2.1采集的音节汉语拼音国际音标类似发音持续时间a[ɑ:]啊3se[ɜ:]额3si[i:]咿3so[ɔ:]哦3su[u:]呜3s采集的时间也是一个需要考虑的问题,如果采集时间过长,许多老年人无法一口气持续发音那么长时间,很容易在录音过程中中断,影响语音质量;而如果采集时间过短,就会发生采集的语音数据不够,导致结果变差。经过多次实地采集测试,发现每个音节采集3秒时间比较合理。最终所采集的发音如表2.1所示。2.2录音设备与以往使用专业的录音设备的实验相比,为了满足将其包装成app的需要,采集时用到的设备为正常的手机。同时由于手机存在操作系统不同的问题,我们使用了两台手机进行采集,一台是iphone5s,另一台是oppor9s。采集的时候通过使用已经开发好的app进行采集,将语音文件存到了后台服务器里。2.3统一帕金森病评分量表(UPDRS)对于帕金森病语音障碍严重程度这一问题,需要使用一个具体的指标。目前已经提出用来评价帕金森病严重程度的指标有很多,比较常用的有统一帕金森病评分量表以及帕金森病Hoehn-Yahr分级评分量表等评价方法[31]。由于相关问题大多采用统一帕金森病评分量表(UPDRS)作为指标,协助采集的医生也建议使用UPDRS,所以本实验使用UPDRS作为帕金森病严重程度的指标。统一帕金森病评定量表(UnifiedParkinson’sDiseaseRatingScale,UPDRS),用于跟踪帕金森病的纵向病程,是帕金森病临床研究中最常用的评估严重程度指标[32]。UPDRS是以填表的形式来进行评估,但是填写此表需要有相当的医学专业知识,所以患者很难进行自测,当前流行的UPDRS是UPDRS3.0版本,此版本主要分为4个部分:(1)精神、行为和情绪,4个问题,共16分。(2)日常生活活动,13个问题,共52分。(3)运动检查,共14个问题,108分。(4)治疗的并发症,共11个问题,23分。综上,UPDRS3.0一共42道题,最高199分,UPDRS值越高说明帕金森病越严重,而其中第3项“运动检查”中,包含了言语障碍的严重程度,所以进行采集的时候,需要医生评估整体的UPDRS值以及其中运动检查单项的值。2.4采集方案2.3.1病人采集状态为了得到大量的实验数据,需要对每一个帕金森病人进行多次测量(开状态,关状态,服药前,服药后,服药1小时后,服药3小时后)。2.3.2采样环境采样环境需满足安静同时使采样者放松的房间,且协助采样者同样保持安静。如果在录音过程中有突发的不可预测的杂音,需要删掉重录,从而保证录音的质量。2.3.3采样命名规则Id_times_type_data(病人编号_当天第几次采集_采集语音类型_采集日期)。其中type分为(a,e,i,o,u),例如:10_3_a_20170302。2.3.4采集流程采集之前需要协助采样者填写采集表,帮助我们对病人的情况有所掌握,填写表格如表2.2,表中列出了几个例子。表2.2采集表病人编号病人姓名年龄性别是否确诊帕金森其他导致语言障碍的疾病患病时间(按月)UPDRS(运动)UPDRS(整体)采集日期(年/月/日)采集时间(时:分)当天第几次采集1李60男是无1010402017/3/139:0012刘55男是无2430702017/3/139:3011李60男是无1015412017/3/1314:0023王63女是无148362017/3/1315:001具体的采集流程如下:(1)专业医生对帕金森病人进行UPDRS评估(可与下面同时进行);(2)咨询表格中的采样信息,并填表2.2;(3)按a,e,i,o,u,顺序依次录音;(4)待全部录音完成后,对所有录音进行重命名,并保存;(5)当天采样结束后,从数据库中提取音频,按病人id建立不同文件夹并保存。2.3.5入排标准需要保证接受采样的患者的语音障碍不能过于严重,必须能够发音。完全没有语音障碍的帕金森病患者也可以接受采样。2.3.6预期目标(1)病人的数量录取200名以上帕金森病人的语音数据(至少要有5个元音),以及对应的UPDRS(包括运动、整体),同时每个病人至少要录取一种状态。尽量保证病人患病的程度均匀分布。病人的语音数据,每个病人至少要录取一次。(2)语音的质量需要尽量保证录音的质量(杂音要少,时间不能过长,声音不能过小,保证元音的不间断性)。
3语音信号预处理采集的语音信号不能直接使用,需进行一定的预处理。此操作可以去掉一些干扰因素,并可以为之后的特征提取打下基础。许多实验都证明了预处理的重要性,其对最终结果的影响比较大[33]。语音信号预处理主要功能为对声音做采样频率转换、预加重、加窗、分频、无声部分切除等处理,可能还需要计算基音频率等参数。本次实验使用MatlabR2017a作为处理工具。3.1格式转换目前,已经使用过多种不同品牌不同型号的手机进行语音录制,发现录制出的语音文件略有不同:(1)苹果的手机所录得的音频文件默认格式为M4A格式,采样频率为44100Hz,并且为双声道。(2)安卓的手机所录得的音频文件格式就不太统一,有WAV格式,有MP3格式,偶尔也有WMA格式的,但是采样频率都为44100Hz,并且为双声道。所以为了保证所有的音频文件统一,在用来录音的手机应用上,加上了一个音频格式转换包,由于手机应用前端的部分并不完全由我完成,这里不详细介绍。最终将不同的音频文件的格式统一成WAV格式,同时采样频率为44100Hz,并且为双声道。之后再将这些音频文件上传到后端的服务器中保存。3.2采样频率转换采样频率转换,即重采样,可以统一录制语音的频率,能通过降频来减少计算量。通常目前用于通话的语音,又称电话带宽语音(TelephoneSpeech),其频带在300~3400Hz的范围内。根据奈奎斯特采样定理[34],采样率至少需要6800Hz,但是目前的通信采样率多为8kHz。但是实际的语音信号处理中,采样率常为10kHz[33]。本次实验中首先只保留语音信号的一个通道(左声道),接着将采样频率转换为10kHz(常用且方便计算),实现的时候使用resample函数。3.3预加重预加重即滤掉低频,增加高频。由于口唇辐射,经由预加重,语音信号的高频部分会被提高,从而高频分辨率会变高。其原因是由于语音信号的平均功率谱受声门激励和口鼻辐射影响,高频端大约在800HZ以上按6dB/倍频程跌落[33],所以随着频率的升高,有用的信号所占的比例会逐渐降低,且频率低的部分本来就极易包含噪音(例如50Hz的工频干扰),所以需要进行预加重。本次实验中使用了一阶FIR高通数字滤波器来实现预加重,其传递函数为:(3.1)其中a为预加重系数,一般,设n时刻的语音采样值为,经过预加重处理后的结果为,本次实验取a=0.9375。图3.1高通滤波器的幅频和相频特性图3.2预加重前后的时域和频域对比图3.1展示了FIR滤波器的幅频特性和相频特性,图3.2展示了语音信号经过预加重前后的时域和频域的变化,从图中看出该滤波器成功的完成了预加重的工作。3.4加窗和分帧在经过了预加重处理后,还需要分别进行加窗处理和分帧处理。经过研究,语音信号具有短时平稳性,即可以认为语音信号的各种特性在10~30ms几乎不变,这样就可以把语音信号分为许多个小段(帧)来进行处理,这就是分帧。而通常为了去掉每一帧的边缘处突变的问题,就需要对每一帧进行加窗处理[33]。分帧通常用有限长的窗进行平移并加权。每秒的帧数取33~100帧比较好,但还需要视具体问题来选择。最常用的方法为交叠分帧法,即为了保证帧的边缘信息不丢失,相邻帧之间会有重叠,重叠的大小称为帧移,而每一帧的信号长度为帧宽。帧移与帧宽的比常取0~0.5。本次实验使用的帧宽为25ms,帧移为10ms,同时使用汉明窗来进行加窗处理。3.5无声判别因为无法保证得到的音频文件一直都有声音,所以需要滤掉那些声音的空白期,那么就需要无声判别(也称为语音端点检测)。常用的方法是使用双门限法[33],双门限法的原理是使用短时能量或短时平均幅度和短时过零率。本次实验为了简便和快速,只采用短时能量。图3.3双门限法原理双门限法的原理如图3.3所示,首先需要设置两个门限:高门限和低门限,其中高门限可以确定语音已经开始,低门限可以来判断已经确认开始的语音的起始点和终止点。可以总结成下文:(1)高门限:有声部分必须有高于高门限的部分。(2)低门限:有声部分的端点能量等于低门限。短时平均能量的定义是:(3.2)其中w是使用的窗,即之前的汉明窗。经过多次尝试,由手机录得的音频使用高门限=0.05,低门限=0.02的时候,便可以很好的进行无声判别。无声判别的结果如图3.4所示。图3.4无声判别3.6基频提取基音频率(fundamentalfrequency),简称为基频,指的是声音中最低且理论上最强的频率,这个频率在一定程度上可以被认为是声音的基础音调,而这个频率其对应的声音便是基音(fundamentaltone)。通常基频的大小可以在一定程度上反映了声源的振动频率,即声带的振动频率。3.6.1基音估计方法基音是语音信号的重要参数,自对语音分析研究开始以来,基音的检测一直是一个重要的课题,目前已经有许多种方法被提出,但是这些方法大多有局限性,至今仍未发现可以适用于不同人群、不同要求、不同环境的完善的算法。所以找到一个好的基频的提取方法比较困难,通常要根据具体情况来选择。表3.1列举出了几种比较常见的基音估计方法。表3.1常见的基音估计方法类别基音提取法特征波形提取法并行处理法由多种简单的波形峰值检测器决定提取的多数基音周期数据减少法根据多种方法,从波形中去掉修正基音脉冲以外的数据过零数法通过波形的过零数相关处理法自相关法及各种改进对语音波形进行自相关,可以通过削波来提速SIFT法降低语音波形取样,进行LCP分析AMDF法使用AMDF检测周期变换法倒谱法对数功率谱的傅立叶逆变换分离频谱的包络循环直方图在频谱上,求出基频高次谐波成分的直方图,并求其公约数3.6.2自相关法本次实验,综合多方面考虑,采用了最为常见的自相关法来进行基频的提取,其特点是可解释性强,同时适合于这种快速的语音处理手机应用。自相关法其计算比较简单,就是利用自相关函数进行基频的估计。首先需要对之前提取的每一帧语音信号进行短时自相关计算。对于确定性的信号,短时自相关函数的定义为:(3.3)然后对于每一帧的自相关函数,需要找到其第一个过零点之后最大的峰值,其对应的下标k值就是该帧语音对应的基音周期,取倒数就是基频。3.6.3去除野点由于音频可能会混有未知的噪音,所以取得基频有可能忽然出现很大或很小的点,这些点称为野点。那些与平均值相差很大的野点称为大野点,反之,那些与平均值相差不是很大的野点称为小野点。如图3.5可以看出,基频提取的时候,很容易在无声判别之后,对相邻的两个有声部分进行拼接时,其对应的拼接处产生野点,由于录制的音频是5个元音,所以其4个交界处有明显的野点。此时就需要初步进行去除大野点的操作:求该音频的基频的平均值,找到与平均值相差过大的点,去除掉即可。当然还有使用各种平滑法来去除小野点的,但是在这里不适用,因为本实验提取的不是正常人的基频,而是有语音障碍的帕金森病人的基频,而其语音提取的基频本身就比起正常人更容易出现抖动,所以不可以去除小野点。图3.5基频提取(去除野点前后对比)
4语音障碍特征当语音进行过预处理之后,就可以提取语音中各种能够反映语音中存在障碍的特征,即语音障碍特征(dysphoniafeatures)。早期的语音障碍特征多偏向于线性的特征,但是经过牛津大学的MaxA.Little等人的研究,他们发现使用线性模型来处理语音模型,效果并不是很近人意,而使用非线性的特征更有效果[15]。所以近年来,多数的研究都是关于提取一些新的语音障碍特征,而这些新的语音障碍特征大多为非线性的特征。在2012年,AthanasiosTsanas和MaxA.Little等人,总结出了132个语音障碍特征,考虑到系统的速度,本次实验不能选取这么多特征,也没有必要选取这么多特征,只需选取一部分特征即可,如表4.1所示。表4.1语音障碍特征表分类语音障碍特征描述基频特征PitchF0_mean基频的平均值F0_max基频的最大值F0_min基频的最小值F0_median基频的中值F0_std基频的标准差基频扰动JitterJitter基音周期相对扰动Jitter_abs基音周期绝对扰动Jitter_PPQ5基音周期相邻5点扰动Jitter_rap基音周期相邻3点扰动Jitter_ddp基音周期相邻3点扰动之差振幅扰动ShimmerShimmer振幅扰动:按百分比来算Shimmer_dB振幅扰动:按分贝来算Shimmer_APQ5振幅相邻5点扰动Shimmer_APQ3振幅相邻3点扰动Shimmer_dda振幅相邻3点扰动之差Shimmer_APQ11振幅相邻11点扰动信噪比特征HNR_mean谐波信噪比平均HNR_std谐波信噪比标准差NHR_mean谐波噪信比平均NHR_std谐波噪信比标准差非线性特征DFA去趋势波动分析RPDE复发周期密度熵,与混沌有关D2相关维度,与混沌有关PPE基频周期熵4.1基频特征Pitch如REF_Ref483498042\h3.6基频提取小节里所说,基频是一个很重要的语音信号特征,一定程度反映了声带的振动频率。其提取方法较多,且各有局限。由于已经在REF_Ref483498192\h3.6基频提取介绍了语音的基频提取方法,这里就不再重复。一般基频用来表示,由于在语音预处理的时候对语音信号进行了分帧处理,所以每一帧都会有一个对应的,这样就可以得到一个基频序列。而基频特征就是在提取出的基频序列基础上,计算一些简单的统计学的参数[35]。(1)F0_mean:即对基频序列求平均值,反映了受试者声带振动频率的整体高低,男女之间有一定的差别。(2)F0_max:即对基频序列求最大值,反映了受试者声带振动频率的最大值。(3)F0_min:即对基频序列求最小值,反映了受试者声带振动频率的最小值。(4)F0_median:即对基频序列求中值,一定程度上反映了受试者声带振动频率的整体高低。(5)F0_std:即对基频序列求标准差,反映了受试者声带振动频率的离散程度。4.2基频扰动JitterJitter本为抖动的意思,在概率学上指的是一个事件实际发生与理想发生的时间的偏差,由确定性内容和高斯(随机)内容组成。这里面Jitter用来表示基频的扰动,即基音周期偏离周期的程度[35],由于音频采用的是持续发音法,且发长元音,可以排除元辅音交替的基频扰动,所以Jitter在一定程度上反映了受试者对声带振动的控制能力。Jitter计算的时候使用的不是基频,而是基音周期,基音周期定义如下:(4.1)其中n表示帧,N代表了帧的总数,指的是第n帧的基频,指的就是第n帧的基音周期。(1)Jitter:即基音周期的相对扰动,是相邻基音周期的差的平均绝对值,与基音周期的平均值的比值,反映了整体受试者对声带振动的相对控制能力。其公式为:(4.2)(2)Jitter_abs:即基音周期的绝对扰动,就是相邻基音周期的差的平均绝对值,反映了整体受试者对声带振动的绝对控制能力。其公式为:(4.3)(3)Jitter_PPQ5:即基音周期相邻5点扰动,是某一帧基音周期与其相邻5帧的平均基音周期之差的平均绝对值,一定程度反映了一段时间受试者对声带振动的控制能力。其公式为:(4.4)(4)Jitter_rap:即基音周期相邻3点扰动,是某一帧基音周期与其相邻3帧的平均基音周期之差的平均绝对值,一定程度反映了一段时间受试者对声带振动的控制能力。其公式为:(4.5)(5)Jitter_ddp:即基音周期相邻3点扰动之差,是相邻3帧基音周期之间的差的的差值,再求平均绝对值,一定程度反映了一小段时间内受试者对声带振动的控制能力的差值。其公式为:(4.6)4.3振幅扰动ShimmerShimmer本为闪烁的意思,在这里同Jitter,但是其测量的对象不同,是语音的振幅的扰动,即振幅偏离平均振幅的程度[35]。由于实验测得语音的振幅不单单与受试者发声有关,还与受试者与手机的距离等其他因素有关,所以很难用语音的振幅直接作为特征。但是帕金森病人有一个特点,就是在说话的时候,声音会原来越小,所以帕金森病人对语音的幅度的控制不如正常人,而Shimmer可以很好的体现这一点。Shimmer测量的振幅的定义是:(4.7)其中,序列表示第n帧的语音信号值序列,指第n帧对应的振幅。(1)Shimmer:即振幅扰动(按百分比来算),是相邻振幅的差的平均绝对值,与振幅的平均值的比值,反映了受试者对语音幅度的相对控制能力。其公式为:(4.8)(2)Shimmer_dB:即振幅扰动(按分贝来算)。是相邻振幅的比值的平均值,只不过单位是分贝dB,反映了受试者对语音幅度的相对控制能力。其公式为:(4.9)(3)Shimmer_APQ5:即振幅相邻5点扰动,是某一帧振幅与其相邻5帧的平均振幅之差的平均绝对值,一定程度反映了一段时间受试者对语音幅度的控制能力。其公式为:(4.10)(4)Shimmer_APQ3:即振幅相邻3点扰动,是某一帧振幅与其相邻3帧的平均振幅之差的平均绝对值,一定程度反映了一段时间受试者对语音幅度的控制能力。其公式为:(4.11)(5)Shimmer_dda:即振幅相邻3点扰动之差,是相邻3帧振幅之间的差值之差,再求平均绝对差值,一定程度反映了一小段时间内受试者对语音幅度的控制能力的差值。其公式为:(4.12)(6)Shimmer_APQ11:即振幅相邻11点扰动,是某一帧振幅与其相邻11帧的平均振幅之差的平均绝对值,一定程度反映了一大段时间受试者对语音幅度的控制能力。其公式为:(4.13)4.4信噪比特征谐波信噪比HNR(HarmonictoNoiseRatio)和谐波噪信比NHR(NoisetoHarmonicRatio)是比较常见的一对用来评估语音中包含噪音的比例的特征[36],其在言语病理学中的诊断价值已经被广泛的报道过[36-39]。它们可以很好的度量浊音语音信号用于产生声学波形中的加性噪声。而由于本实验采用的长元音也属于浊音信号,所以HNR和NHR是很好的语音障碍特征。如果采集的语音信号足够纯净,那么其中的噪音主要来自于声带在振动时的不完全闭合[40],帕金森病人的由于对声带附近的肌肉的控制力减弱且会振颤[27-29],所以可以用来评估帕金森病人发声时声带闭合的能力。一个比较简便而实用的计算方法也是基于自相关函数[40]。首先同REF_Ref483517189\h3.6.2自相关法小节里的方法对每一帧的语音信号计算自相关函数(短时自相关)。之后定义一个参数,其代表了除了零延迟以外,自相关的值最大的那个点对应的下标k值,近似该帧对应的基音周期。然后根据公式(3.3),就是那个最大的那个点的对应的自相关函数值。那么谐波分量为:(4.14)噪音分量为:(4.15)那么HNR(按分贝计算)的定义为:(4.16)那么NHR(按比例计算)的定义为:(4.17)之所以分为两种计算方法(分贝,比例)是因为值的大小,且如果都按分贝计算,只是多了一个负的HNR罢了,这样用两种不同的计算方法可以得到两种不同的度量。但是每一帧都可以得到一个对应的HNR和NHR,所以参考基频特征,还需要在HNR和NHR序列的基础上计算一些简单的统计学的参数。(1)HNR_mean,即谐波信噪比的平均值,可以在分贝的度量上,评估受试者发声时声带闭合的平均能力。(2)HNR_std,即谐波信噪比标准差,可以在分贝的度量上,评估受试者发声时声带闭合的平均变化。(3)NHR_mean,即谐波噪信比的平均值,可以在正常的度量上,评估受试者发声时声带闭合的平均能力。(4)NHR_std,即谐波信噪比标准差,可以在正常的度量上,评估受试者发声时声带闭合的平均变化。4.5非线性特征经过实验发现,使用非线性特征构建的模型更能区分帕金森病人的声音和健康人的声音[15],所以近年来越来越多的相关研究都在致力于使用新的非线性特征。非线性特征计算比较复杂。本次实验所采用的非线性特征为有去趋势波动分析(DFA)、复发周期密度熵(RPDE)、D2、基频周期熵(PPE)。下面就是对这些特征的原理与计算方法的介绍。4.5.1DFA(去趋势波动分析)去趋势波动分析(DetrendedFluctuationAnalysi,DFA)是一个最为直接的评估信号分形自相关性的方法之一,其早期是用来评估DNA链结构排序的变化特性[41]。其主要思想是去掉信号中的固有趋势,从而获得信号中的波动特性,属于非线性的模型,主要用于对非平稳的时间序列(在统计学上是指方差、自相关等特性随着时间而变化的序列)的标度指标进行计算。其计算较为复杂[42],首先需要对输入信号x(n)进行累加:(4.18)通常认为x(n)满足独立分布,且分布相同,即可以认为y(n)在统计学上满足自相关独立分布。接着需要对y(n)进行不重叠分段,其分段的段数scales默认的选择是从分2段开始,到最接近的整数,其中M是输入信号的采样总数。经过分段后,需要对每一段都进行线性拟合,通常使用最小二乘法来进行一阶拟合(线性回归),具体可见下文REF_Ref484429459\h5.2.3线性回归小节。最终每一段可以得到一个对应的斜率a和截距b。接着需要求拟合后与真实值之间的均方误差(及波动):(4.19)其中L是每一段的长度,是指第i段的第n个y值,就是第i段拟合出的斜率和截距。假如分段的段数scale有N个取值,即L有N个取值那么就需要对这N个分别求取对应的。由于分段长度L与标度指标之间的关系为:,所以不能直接求,通常需要映射到log-log空间中,即,进行线性拟合即可,同样拟合使用最小二乘法来进行一阶拟合(线性回归),可以得到,即DFA值。4.5.2RPDE(复发周期密度熵)复发周期密度熵(RecurrencePeriodDensityEntropy,RPDE),是一个基于混沌理论用来寻找信号周期的算法。可以发现一个时间序列重复的程度,其基本思想是在相空间下测量信号的重复度,即复发周期,从而可判断随机噪声的大小,属于非线性模型。其计算涉及到混沌理论,比较复杂[15]。(1)混沌理论:首先介绍一些混沌理论的基础:不同于通常的时间序列研究,在混沌时间序列中,需要将序列映射到相空间中,即相空间重构。通常,根据嵌入定理[43],可以使用坐标延迟法进行相空间重构:(4.20)式(4.20)中,是输入的时间序列x的第n个值。是相空间重构出的嵌入向量,是嵌入延迟,m是嵌入维度,即嵌入向量的长度,M是嵌入向量的个数。嵌入延迟和嵌入向量的选择是相空间重构十分重要的一环。(2)C-C算法目前有许多理论对和m进行求解,其中C-C算法是其中最为经典的算法之一[44],可以直接将二者全部求出,其基于关联积分:(4.21)其中,是其无穷范数,而N对应输入时间序列的长度。(4.22)那么计算时需要将输入时间序列分解成t个如下子序列:(4.23)N是t的整数倍,然后:(4.24)调整半径r,定义:(4.25)通常N,m,r的取值可以通过BDS统计结论来估计,其中如果取的时候,是输入时间序列的标准差,i=1,2,3,4。则:(4.26)(4.27)的第一个零点或者的第一个极小值对应的t即为要求的最优。(4.28)的最小值对应的t即为嵌入窗长,那么就可以得到最优m。(3)RPDE得到m和后,根据式(4.20)就可以得到M个嵌入向量,接着使用临近折返法,事先定义一个半径r,和长度为M向量P,P初始化为零向量,其原理是首先选取第i个嵌入向量,然后对之后的向量进行比较,当找到第一个与其的距离小于r开始计数,直到第一个与其的距离大于r停止,即有n-1个与其距离小于r的向量,然后对P的第n-1的值+1,然后对下一个向量进行同样的操作,直到所有向量轮完。那么RPDE为:(4.29)其中是选取的P的长度,默认对P全选。4.5.3D2(相关维度)相关维度(correlationdimension,D2),也是基于混沌理论的一个指标,反映了信号的关联程度。其计算也比较复杂[45]。D2是根据关联积分而来,定义与式(4.21)相同,但的意义不同由无穷范数变为二范数,即。根据式(4.21),r为半径,认为相关指标v与r之间的关系为:,那么类似DFA,也可以将其映射到log-log空间中,即,进行线性拟合即可。拟合时使用最小二乘法来进行一阶拟合(线性回归),可以得到v,即D2值。4.5.4PPE(基频周期熵)基频周期熵(PitchPeriodEntropy,PPE),是用来测量持续发声时基频的稳定性的特征,其思想是将基频映射到对数空间中,并去除各种干扰因素来求基频的周期熵,属于非线性模型。其计算不复杂,但是理论性较强[15]。首先将基频F0转换成对数半音序列:(4.30)然后需要将功率谱扁平化,MaxA.Little使用的是标准线性白化滤波器[8],本实验使用普通的线性白化滤波器,其原理是首先计算出输入语音信号的功率谱,然后滤波器为:(4.31)功率谱扁平化滤波可以滤除掉平均半音的影响(与性别和发音内容相关),滤波之后得到序列为r。接着求取其功率谱P(r)。最后仿照RPDE的方法求熵:(4.32)其中L为功率谱序列的长度。
5帕金森病诊断和严重程度评估提取完语音信号的语音障碍特征后,就可以构建模型,对受试者进行帕金森病的诊断和其语音障碍严重程度的评估。这里使用多种人工智能的算法来进行模型构建,之后对每个模型的效果进行相应的评价。5.1问题归类目前人工智能的算法中,可以解决的问题有多种,最常见的一些问题是分类、回归、聚类以及排序[46]。在构建模型之前,需要将具体的问题转化成那些经典的问题。5.1.1帕金森病诊断问题因为在帕金森病诊断的问题上,需要预测的值是离散的,且为二值的(患有帕金森病和未患有帕金森病),所以可以看成是一个经典的二分类问题。对于二分类问题,其解决方法为构建一个分类器,当输入一个样本(受试者的语音信号)的特征向量(由受试者的基本信息和语音障碍特征组成的向量)后,该分类器就可以将样本分为两类(是否患有帕金森病)。分类是最常见的机器学习的问题之一,目前已经有许多大量比较好的分类算法,本次实验选择以下几种经典的分类算法,来进行问题的可行性评估,这些算法会在以后的小节中进行具体说明:(1)支持向量机(SupportVectorMachine,SVM);(2)人工神经网络(ArtificialNeuralNetwork,ANN);(3)朴素贝叶斯(NaiveBayes);(4)逻辑回归(LogisticRegression)。5.1.2帕金森病语音障碍严重程度评估问题因为在帕金森病的语音障碍严重程度评估的问题上,需要预测的值(即UPDRS值)是连续的,所以可以看成是一个经典的回归问题。对于回归问题,其解决方法为构建一个回归器,当输入一个样本(受试者的语音信号)的特征向量(由受试者的基本信息和语音障碍特征组成的向量)后,该回归器就可以输出其对应的值(度量语音障碍严重程度评估,即UPDRS值)。回归也是最常见的机器学习的问题之一,目前也已经有许多好的回归算法,本次实验选择以下几种经典的回归算法,来进行问题的可行性评估,这些算法会在以后的小节中进行具体说明:(1)支持向量回归(SupportVectorRegression,SVR);(2)线性回归(LinearRegression);(3)LASSO回归(LASSORegression);5.2算法原理介绍本节总结实验中所使用的效果比较好的算法,对算法的基本原理和实现的方法进行相应的介绍。5.2.1支持向量机支持向量机(SupportVectorMachine,SVM),是最为经典的分类算法[47]。其主要思想是寻找一个超平面对样本进行分割,此超平面需要尽可能的让正类和负类样本之间的间隔最大,图5.1表示了一个基本的线性可分SVM分类器。图5.1线性可分SVM分类器首先假设有M个样本,其中是一个n维的向量,代表了第i个样本的特征向量,其n个值对应了第i个样本的n个特征,是第i个样本的类别标签,即正类和负类。在图5.1中,H是用来分类的超平面,其可以使用如下的线性方程表示:(5.1)其中是H的法向量,其维度也为n维,b是位移项,代表了H与原点的距离。对于第i个样本,若,则;若,则,这样就可以进行分类。而H1和H2是两个与H平行且距离相等的两个超平面,其中H1:和H2:。在SVM的思想中,一个好的分类器需要满足两个条件:(1)没有任何样本在H1和H2之间;(2)H1和H2之间的距离要最大。根据直线之间的距离公式可以推出H1和H2两个超平面间的距离公式:(5.2)其中D是两个超平面H1和H2的距离。根据条件(1),样本必须不能在H1和H2之间,根据条件(2),需要让D最大,则可以求解的最小值,那么可以转化为:(5.3)公式(5.3)为SVM的基本型。那么显然公式5.3是一个凸二次规划问题。可用凸优化方法解决,根据拉格朗日乘数法定理,然后利用对偶问题求解最优值。首先对上述函数引入拉格朗日乘子,得到拉格朗日函数:(5.4)其中,对此函数分别求w和b的偏导为0,结果为:(5.5)(5.6)那么将公式(5.5)和(5.6)代入(5.4)中,就可以得到一个对偶问题:(5.7)通常使用SMO算法就可以求解该问题[46]。利用对偶问题理论,知道就可以求解出,反过来,知道就可以解出,求解的最大值转化为求解的最大值,求出带入公式(5.4)可求出和。最后得到最优超平面。根据公式(5.1),当一个新的样本输入时,将其代入函数就可以得到该样本的类别。但是如果数据有噪声,直接使用上述模型就会带来一定的误差,这时可以让模型允许一些数据点在一定范围内偏离超平面,故引入松弛变量这个概念,其中。(5.8)引入松弛变量之后,允许样本点的函数间隔小于2,允许有些样本点在超平面之间或者对方的区域中。目标函数中第二项是惩罚项,对离群点进行处罚,离群点越多目标函数值就越多,因此要求尽可能的减小目标函数值。C表示离群点的权重,C越大目标函数值就越大。但是对于现实的问题,通常用一个线性模型是无法准确分类的(线性不可分),必须需用非线性模型,SVM通过引入核函数解决了这个问题,其原理是直接将样本从原始空间映射到更高维的特征空间,而在该空间中线性可分。令为x经过映射后的特征向量,那么带入到公式(5.8)中:(5.9)在计算的时候,需要计算,核函数由此引入:(5.10)由于其原理,所以核函数的选择与分类器的性能关系密切。表5.1列举几种常用的核函数。表5.1常用的核函数名称表达式参数线性核多项式核d≥1,是多项式的次数高斯核(RBF核)>0,为RBF核的带宽拉普拉斯核>0Sigmoid核(tanh是双曲正切函数),>0,>0最终求解可以得到:(5.11)实现SVM的方法有许多,目前最受欢迎的方法是台湾大学林智仁教授开发的LIBSVM工具箱[48],简单易用,速度快速,功能全面,支持Windows和Unix操作系统,支持的语言比较广泛,Java、Python、R、Matlab、Ruby等语言均可支持,本次实验使用的是Matlab来调用LIBSVM,版本为3.21版。LIBSVM本身可以支持的核函数有线性核、多项式核、RBF核和Sigmoid核,经实验,本实验最终使用高斯核(RBF核)。5.2.2支持向量回归支持向量回归(SupportVectorRegression,SVR),是根据SVM的基本思想改良成的一种回归算法[49]其主要思想是寻找一个超平面对样本进行映射,与其它的回归算法不同的是其映射与真实值之间的差的绝对值如果小于一个具体的范围,就不计入损失。图5.2表示了一个基本的线性的SVR回归器。图5.2线性SVR回归器首先假设有M个样本,其中是一个n维的向量,代表了第i个样本的特征向量,其n个值对应了第i个样本的n个特征,是第i个样本的对应的回归输出,即连续的值。在图5.2中,H是用来回归映射的超平面,可以使用如下的线性方程表示:(5.12)其中是H的法向量,其维度也为n维,b是位移项,代表了H与原点的距离。对于第i个样本,将其特征向量输入到回归器里后,即可得到模型的输出,这样就可以进行回归。而H1和H2是两个与H平行且距离相等的两个超平面,其中H1:和H2:。根据SVR的基本思想,可以容忍真实输出值y和模型输出值f(x)之间的误差不超过,只有误差超过才计算误差损失。如图5.2,即在H1和H2中间的部分就算预测正确。同时也需要让H1和H2距离最近,所以根据式(5.2)和上述条件,得到式(5.13):(5.13)其中,C是正则项的系数,是我们需要计算的损失,称为不敏感损失:(5.14)同SVM,引入松弛变量和,两个松弛变量代表了两侧的松弛程度可以不同,再引入核函数,其定义同SVM。最终可以变成:(5.15)其求解方法完全和SVM一样,通过引入拉普拉斯乘子,然后利用对偶问题求解最优值。最终解为:(5.16)实现SVR的方法也有许多,这里为了方便仍然使用Matlab来调用LIBSVM工具箱[48],只要调整其中的参数就可以改变算法类型,在本次实验使用的版本中,有e-SVR和v-SVR两种类型,经实验后选择比较常用的e-SVR。5.2.3线性回归线性回归(LinearRegression),是最为经典也是最简单的回归算法[46]。其原理比较简单,本小节介绍是最一般的情况下使用的多元线性回归,主要思想是试图对不同的特征分配不同的权重,从而构建出一个多元一次多项式,最终使用均方误差来衡量效果。首先假设有M个样本,其中是一个n维的向量,代表了第i个样本的特征向量,其n个值对应了第i个样本的n个特征,是第i个样本的对应的回归输出,即连续的值。那么需要构建一个如式(5.17)的一个多元一次多项式:(5.17)其中分配给对应的特征的权重值,其维度也为n维,b可以看作截距。求解w和b的时候,如上文所说,该算法用来衡量算法误差的度量为均方误差,所以本算法可以解释为最小化均方误差时,对应的w和b就是最优解,即:(5.18)其中向量,向量,而矩阵X的表达式如下:(5.19)最小化均方差误差的优化方法称为最小二乘法,其求解方法为求导找极值,令,那么对求偏导得:(5.20)当保证式(5.20)为零即可,若维度n=1还能比较简单的计算,可是当n继续扩大,计算会十分复杂,目前有两种方法:(1)认为具有满秩或正定的性质。这样可以得到:(5.21)(2)如果不是满秩或正定的,那么与可能会得到多个,这时通常会引入一个正则项来进行归纳偏好决定,这就是线性回归可以衍变成其它的回归算法的理论基础。本次实验中使用Matlab中自带的线性回归函数regress函数来完成的,调用方法比较简单。5.2.4逻辑回归逻辑回归(LogisticRegression),有些资料上也称对数几率回归,是线性回归为了解决分类问题而改良的一种分类算法[46]。其主要思想是通过使用了一个对数几率函数来对将回归出的连续的值映射到二值空间,即分类。为了将回归出的连续的值映射到二值空间,比较简单的方法是使用单位阶跃函数,但是由于该函数在0处不连续,会让后续求解变得复杂。所以DavidCox提出使用对数几率函数来映射,该函数属于Sigmoid函数(S状的函数),如图5.3,为对数几率函数,为单位阶跃函数。图5.3对数几率函数和单位阶跃函数首先假设有M个样本,其中是一个n维的向量,代表了第i个样本的特征向量,其n个值对应了第i个样本的n个特征,是第i个样本的类别标签,即负类和正类。那么根据线性回归,可以得到回归的连续值为:(5.22)其中分配给对应的特征的权重值,其维度也为n维,b可以看作截距。再套入对数几率函数,可以得到逻辑回归的表达式:(5.23)经过转化可以得到:(5.24)由于对数函数比较好求解,目前有多种数值优化算法可以求取最优解,如梯度下降法,这里就不具体讲解。本次实验中由于使用Matlab自带的函数效果不是很好,于是最后使用了网上开源的逻辑回归代码,并在源代码的基础上进行了一定的改良。5.2.5人工神经网络人工神经网络(ArtificialNeuralNetworks,ANN),简称神经网络,是一个发展很久的一种非线性算法,主要应用于分类[46]。其基本思想是仿照生物的神经网络,构建多层的神经元,输入不同的信号对其进行刺激,最终得到输出。其衍生的算法非常之多,近年来最受人们关注的深度学习也是其衍生的算法之一。本次实验使用的是最为经典的BP神经网络。该模型的基础是M-P神经元模型,该模型如图5.4所示:图5.4M-P神经元模型可以看出每个神经元都会接收到一些其他的神经元传递来的信号作为输入,输入会经过不同权重的连接传递到当前神经元里,然后将这些信号权重和与阈值做差,最后经过一个激活函数f(z)就可以得到输出。与逻辑回归相同,通常激活函数不会选择不连续的单位阶跃函数(但是也可以使用),而是会选择Sigmoid函数,可见图5.3。将这些神经元按照一个设计好的层次结构排列好即可得到一个简单的神经网络。如果只有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 近代史纲要期末复习题大题及答案
- 小学英语教资面试口语练习试卷及答案
- 古今词义拔高试题及答案
- 2027届新疆莎车县九上数学期末检测试题含解析
- 湖北省武汉市高新区2027届七上数学期末学业水平测试试题含解析
- 2027届山东省莱城区刘仲莹中学八年级数学第一学期期末教学质量检测模拟试题含解析
- 脑栓塞拔高试题及答案
- 沧州数丞商贸有限公司介绍企业发展分析报告模板
- 2026年压底机项目可行性研究报告
- 中国超高纯氮化硼行业市场占有率及投资前景预测分析报告
- 《工业机器人系统操作与运维》 课件 第22讲-机器人圆弧编程与焊接
- 挖机破碎合同协议书范本
- 儿童文学概论 课件全套 第1-12章 儿童文学基本理论-儿童文学整本书阅读指导
- 售前工程师笔试题及答案
- 2025年大学生信息素养大赛培训考试题库500题(附答案)
- 东南大学-区域经济学课件(2013-9-21)
- 中职学校“双师型”教师队伍建设与激励机制的实践与研究
- 2024-2025学年云南省昆明八中八年级(上)期中数学试卷(含答案)
- 安全伴我行-大学生安全教育智慧树知到期末考试答案章节答案2024年哈尔滨工程大学
- 支气管哮喘病例讨论课件
- 2023-2024学年广西百色市高二(上)期末数学试卷(含解析)
评论
0/150
提交评论