王小科,晏峻峰
(湖南中醫(yī)藥大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長沙 410208)
帕金森疾病(Parkinson’s disease,PD)為慢性進(jìn)展性運動障礙病癥,可受諸多復(fù)雜因素導(dǎo)致錐體外系功能性障礙,且隨著人類壽命的延長,PD患者的數(shù)量也在不斷增加[1]。PD具有持續(xù)靜止性顫動、肌肉強(qiáng)直、運動障礙等臨床表現(xiàn),同時還伴有語言和發(fā)聲受限的問題[1-2]。目前新型的帕金森診斷方法包括:基于手繪圖特征診斷帕金森病、步態(tài)分析和面部表情分析診斷PD,這些研究取得了一定的成果,但是也存在檢測過程復(fù)雜,對病人身體產(chǎn)生物理損傷等問題,不易進(jìn)行大范圍的PD檢測。近年來,大量研究學(xué)者提出了各種非侵入性的方法來檢測帕金森病的癥狀。其中在PD的病癥表現(xiàn)中,發(fā)現(xiàn)幾乎所有的PD患者會出現(xiàn)并發(fā)癥引起的聲帶損傷,從而出現(xiàn)某種程度的語音障礙[3],因此,檢測語言障礙是實現(xiàn)高準(zhǔn)確率的PD疾病診斷的可靠手段。
該文采用UCI公開的Speech帕金森語音數(shù)據(jù)集,首先針對數(shù)據(jù)集中存在噪聲樣本以及非均衡數(shù)據(jù)的問題,使用SVM SMOTE過采樣技術(shù)均衡數(shù)據(jù)集,接著采取信息增益特征選擇數(shù)據(jù)集中的八個特征作為最優(yōu)特征組合并構(gòu)建RF模型。為進(jìn)一步提升算法的性能,使用網(wǎng)格搜索與交叉驗證相結(jié)合的方式尋找RF最優(yōu)參數(shù),進(jìn)一步提高了模型的分類準(zhǔn)確率。
近年來在基于語音信息的PD診斷方面的研究,首先是對語音數(shù)據(jù)提取特征,然后采用機(jī)器學(xué)習(xí)建模的方式進(jìn)行分類。B.E.Saker等人設(shè)計了一個用于數(shù)據(jù)收集的計算機(jī)輔助系統(tǒng),將參與實驗人員的發(fā)聲數(shù)據(jù)采集出來,并設(shè)計合理的實驗方法,從中分析提取出具有較大PD信息的屬性特征。Little等人[4]對語言障礙的檢測則是通過提取其中的非線性特征,進(jìn)一步對患者病情的發(fā)展情況做出判斷。目前國內(nèi)外從事基于語音信息PD診斷的學(xué)者,數(shù)據(jù)大部分來自這兩位研究人員。在特征提取和特征壓縮方面,主要研究方法為:主成分分析(Principal Component Analysis,PCA[5])、窮舉法[6]、基于局部學(xué)習(xí)的特征選擇法[6]、啟發(fā)式特征選擇等[6]。在疾病診斷模型方面,主要研究方法為:最鄰近節(jié)點算法(K-Nearest Neighbor,KNN[6])、貝葉斯網(wǎng)絡(luò)(Naive Bayes,NB[7])、隨機(jī)森林(Random Forest,RF[7])、最小均方誤差回歸[8]、BP神經(jīng)網(wǎng)絡(luò)[8]、支持向量機(jī)(Support Vector Machine,SVM[5,9])等。Kursun等[10]通過基于信息的方法進(jìn)行排列分析,以得到最佳數(shù)據(jù),文獻(xiàn)中采用皮爾遜相關(guān)系數(shù)方法來優(yōu)選數(shù)據(jù);Chen[11]等人使用PCA降維方法,然后再采用模糊K近鄰方法進(jìn)行重新采樣的估計方法;通過生物啟發(fā)算法,如Olivares等基于蝙蝠算法設(shè)計的生物極限學(xué)習(xí)機(jī)可以進(jìn)行分類試驗,但是,該方法只能采用梅爾頓倒譜系數(shù),并沒有考慮到數(shù)據(jù)遺漏的問題;李勇明等提出了基于語音樣本重復(fù)剪輯和隨機(jī)森林的帕金森診斷算法對帕金森數(shù)據(jù)樣本進(jìn)行分類診斷,達(dá)到了較好的分類準(zhǔn)確度,但該方法語音特征較多,效率低下;張瓊等人[12]采用改進(jìn)PSO-SVM算法對不同性能的粒子動態(tài)分配慣性權(quán)重和學(xué)習(xí)因子,提高支持向量機(jī)模型的學(xué)習(xí)能力和泛化能力,提高了對疾病的識別精度;郭東偉[13]采用樣本約簡算法和3種特征降維算法分別結(jié)合3種機(jī)器學(xué)習(xí)分類算法對樣本分類,得出ELM+NNGIR+KPCA的最佳組合模型;譚言丹[14]設(shè)計基于AdaBoost的特征篩選方法并開發(fā)基于正則化損失函數(shù)的XGBoost來實現(xiàn)最終病情診斷;羅正潮[15]通過中文語音識別PD患者情況,通過發(fā)聲分析、韻律分析和輪替運動分析提取出患者身體狀況的語音特征,使用XGBoost算法提高了中文PD識別的優(yōu)勢;馬超等人[16]利用混沌理論和高斯變異方法改進(jìn)樽海鞘算法,有效地解決了模型的參數(shù)設(shè)定和最優(yōu)特征選擇問題;張小恒等人[17]提出兩步式稀疏遷移學(xué)習(xí)算法:采用語音段特征同時優(yōu)選的快速卷積稀疏編碼算法和采用聯(lián)合局部結(jié)構(gòu)信息分布對齊算法,在保持各自樣本結(jié)構(gòu)信息的同時最小化分布誤差,從而顯著提高了算法的準(zhǔn)確率。
算法整體流程如圖1所示。
圖1 算法整體流程
由于該文所使用的數(shù)據(jù)集存在非均衡數(shù)據(jù)和樣本噪聲的問題,使用SVM SMOTE過采樣技術(shù)在沒有引入更多數(shù)據(jù)的情況下平衡二分類數(shù)據(jù);使用信息增益特征提取根據(jù)信息增益大小排序選取得到8個特征作為最優(yōu)特征組合;構(gòu)建RF帕金森疾病診斷模型,并使用網(wǎng)格搜索和交叉驗證相結(jié)合的方式進(jìn)行參數(shù)調(diào)優(yōu);最后使用該模型對測試集進(jìn)行樣本分類。
(1)輸入整個數(shù)據(jù)集,SVMs-K的數(shù)量,Extrapolation Borderline-SMOTE的過采樣率α%。
(3)將t從1到K循環(huán)。
(7)輸出支持向量機(jī)的集合F(x)=sgn(∑tf(x))。
信息增益通過計算信息熵而來,量化了信息去除不確定性的程度,可以通過信息增益的大小為變量排序進(jìn)行特征選擇。信息量與概率兩者之間呈單調(diào)遞減關(guān)系,概率越小,信息量越大。
2.3.1 信息量
其中,u表示發(fā)送的消息,ui表示發(fā)送信息u的一種類型。
2.3.2 先驗熵
信息熵表示信息量的數(shù)學(xué)期望,是信源發(fā)出信息前的平均不確定性,也稱為先驗熵。信息熵的定義如下所示:
當(dāng)ui中某一種類型的概率為1時,即沒有發(fā)送消息的不確定性,信息熵Ent(U)=0;
當(dāng)ui對應(yīng)的概率相同時,即概率都為1/k,信息熵Ent(U)=log2k。
2.3.3 后驗熵
信息熵Ent(U)表示在發(fā)出信息U之前存在的不確定性,在接收搭配信息V之后,信息U的不確定性會發(fā)生改變,即后驗熵,它是接收到一定的信息后,對信息U進(jìn)行的后驗判斷,定義如下:
考慮所有信息V時,得到的后驗熵的期望(又稱條件熵)如下,Ent(U|V)是指在V結(jié)束之后存在對信息U的平均不確定性,通常由隨機(jī)干擾引起。
2.3.4 信息增益
信息增益是指先驗熵與后驗熵差值部分,表示信息消除不確定性的程度,定義如下:
Gains(U,V)=Ent(U)-Ent(U|V)
特征選擇原理:對數(shù)據(jù)集選擇特征時,以目標(biāo)標(biāo)量作為信息U,由特征變量作為信息V,代入公式計算信息增益,以信息增益的值按照大小順序來確定特征的順序,以此進(jìn)行特征選擇。信息增益越大,表示變量消除不確定性的能力越強(qiáng)。
隨機(jī)森林(Random Forest,RF)主要思想是在原始的數(shù)據(jù)集上隨機(jī)挑選P個樣本作為訓(xùn)練集以生成相應(yīng)數(shù)量的決策樹,在挑選最佳屬性時,RF并非像決策樹一樣讓所有的屬性都參與選擇,而是隨機(jī)選擇Q個屬性用于構(gòu)建決策樹,然后將這些決策樹構(gòu)成一個森林,RF中每一棵決策樹之間是獨立無關(guān)聯(lián)的。當(dāng)RF構(gòu)建完成之后,輸入新的數(shù)據(jù)樣本,決策森林中的所有決策樹均會做出判斷并將輸出最多的類別作為最終的模型診斷類別。
具體實現(xiàn)過程如下:
(1)對原始訓(xùn)練集M使用bootstrap方法,在M中有放回隨機(jī)選取X個樣本集合,構(gòu)成X個分類樹,每次沒有被選中的數(shù)據(jù)樣本構(gòu)成K個袋外數(shù)據(jù);
(2)假設(shè)有ma個變量,在決策樹的所有節(jié)點處均隨機(jī)抽取mt變量(mt,n,ma),然后在mt挑選分類能力最強(qiáng)的變量,最后通過測量每一個分類點確定變量分類的閾值;
(3)所有決策樹均可以得到最大限度的生長,也無需任何修剪;
(4)將生成的所有分類樹構(gòu)成RF并輸入新的數(shù)據(jù)進(jìn)行分類判斷,根據(jù)樹分類器的投票結(jié)果作為輸出類別的判別。
實驗總共包括三個部分:(1)針對數(shù)據(jù)集中存在噪聲樣本以及非均衡數(shù)據(jù)的問題,使用SVM SMOTE過采樣技術(shù)對數(shù)據(jù)進(jìn)行均衡處理。(2)使用信息增益特征提取算法對該數(shù)據(jù)集進(jìn)行特征提取,選取八個特征作為最優(yōu)特征組合,將樣本映射到更加低維的特征空間,減少了系統(tǒng)的計算時間,同時提高了模型的準(zhǔn)確率。(3)構(gòu)建RF帕金森疾病診斷模型,由于RF參數(shù)n_estimators的取值范圍過大,首先使用學(xué)習(xí)曲線的方式學(xué)習(xí)參數(shù)n_estimators的大致范圍,接著使用網(wǎng)格搜索和交叉驗證相結(jié)合的方式尋找RF模型的最佳參數(shù)組合,進(jìn)一步提升了診斷模型的準(zhǔn)確率。
3.1.1 實驗數(shù)據(jù)
該數(shù)據(jù)集是由英國牛津大學(xué)的Max Little[4]與科羅拉多州丹佛市的國家語音和語音中心聯(lián)合建立。由三十一個患者發(fā)送固定的元音‘a(chǎn)’,其中二十三人屬于PD患者,八人健康,從而得到一組生物醫(yī)學(xué)語音檢測信息,總計197條信息,23個屬性特征以及1個標(biāo)簽。屬性分別為:平均聲部基頻MDVP:Fo(Hz),最大聲部基頻MDVP:Fhi(Hz),最小聲部基頻MDVP:Flo(Hz),基頻變化的幾個度量MDVP:Jitter(%)、MDVP:Jitter(Abs)、MDVP:RAP、MDVP:PPQ、Jitter:DDP,振幅變化的幾個度量MDVP:Shimmer、MDVP:Shimmer(dB)、Shimmer:APQ3、Shimmer:APQ5、MDVP:APQ、Shimmer:DDA,語音狀態(tài)中噪聲與音調(diào)分量之比的兩種測量NH、HNR,兩種非線性動態(tài)復(fù)雜性測量RPDE、D2,信號分形縮放指數(shù)DFA,基頻變化的三種非線性測量spread1、spread2、PPE,姓名name。標(biāo)簽為status,1表示患者,0表示健康。
3.1.2 數(shù)據(jù)預(yù)處理
在該數(shù)據(jù)集中姓名name屬性列描述患者的姓名,對實驗沒有實質(zhì)的用途和意義,所以在數(shù)據(jù)集中將姓名屬性列移出,即所使用的數(shù)據(jù)集為22個屬性列,1個標(biāo)簽列。另外,由于數(shù)據(jù)集的特征取值范圍各不相同,該文將數(shù)據(jù)做歸一化處理,將數(shù)據(jù)映射到0-1之間,使得特征之間持有相同的度量尺度。公式如下:
其中,xmin和xmax是指要歸一化數(shù)據(jù)的最小邊界和最大邊界。x為原始數(shù)值,xscale為歸一化處理之后的數(shù)值。
3.1.3 SVM SMOTE均衡數(shù)據(jù)集
該語音數(shù)據(jù)樣本標(biāo)簽嚴(yán)重不平衡,其中標(biāo)簽為1的樣本數(shù)量為147,標(biāo)簽為0的樣本數(shù)量為48。從數(shù)據(jù)角度來看,造成數(shù)據(jù)稀疏問題:數(shù)據(jù)的缺失導(dǎo)致模型對稀疏數(shù)據(jù)刻畫能力不足,無法對此類樣本進(jìn)行分類;從分類器的角度看,會造成決策邊界偏移問題:因為多數(shù)類樣本數(shù)量遠(yuǎn)大于少數(shù)類樣本數(shù)量,導(dǎo)致學(xué)習(xí)的分類界限更偏向于多數(shù)類,造成決策邊界的偏移,最終使得模型的分類性能下降。SVM SOMTE算法的核心思想是聚合各種支持向量機(jī),通過向正確的方向構(gòu)建合成少數(shù)樣本來修正初始決策邊界,再以插值的方式為少數(shù)樣本生成合成樣本以達(dá)到均衡數(shù)據(jù)集的目的。圖2為數(shù)據(jù)集均衡前數(shù)據(jù)集各屬性和標(biāo)簽的數(shù)據(jù)分布直方圖,圖3為數(shù)據(jù)集均衡后各屬性和標(biāo)簽的數(shù)據(jù)分布直方圖,兩圖中最后一個直方圖為標(biāo)簽數(shù)據(jù)分布圖。
圖2 SVM SMOTE均衡前數(shù)據(jù)分布直方圖
圖3 SVM SMOTE均衡后數(shù)據(jù)分布直方圖
3.2.1 實驗環(huán)境
PD診斷模型運行在windows10系統(tǒng)PyCharm2021.3.2平臺下,基于Anaconda開發(fā)環(huán)境下Python3.8編寫運行。實驗以70%的PD數(shù)據(jù)集作為訓(xùn)練集,30%作為測試集,根據(jù)測試集的分類結(jié)果對模型進(jìn)行評估。
3.2.2 信息增益特征選擇選取最優(yōu)特征組合
該文采用的語音數(shù)據(jù)集包含196個樣本,22個特征,1個標(biāo)簽。與樣本量相比,特征數(shù)量相對較多,大膽假設(shè)這些特征中必然存在無關(guān)特征和冗余特征,這些特征對算法毫無意義,無法提升算法的性能。另外。還存在一些冗余特征可以由其他特征推斷而來,這種情況下,可以通過特征選擇減少數(shù)據(jù)的特征維度,過濾數(shù)據(jù)噪聲提高模型精度,同時降低學(xué)習(xí)任務(wù)的難度。信息增益特征選擇通過比較特征值劃分?jǐn)?shù)據(jù)集所獲取的信息增益,選取信息增益最高的特征劃分?jǐn)?shù)據(jù)集。具體流程為:(1)根據(jù)公式計算原始信息熵H;(2)選取一個特征,用特征值進(jìn)行分類并計算類別的信息熵,以一定的比例加和得出該劃分方式下的信息熵H';(3)計算信息增益,即H-H';(4)根據(jù)(2)、(3)計算所有特征屬性對應(yīng)的信息增益,保留信息增益較大的特征屬性。經(jīng)過算法選擇后選取出的最優(yōu)特征數(shù)量為8,分別為MDVP:Fo(Hz),MDVP:Fhi(Hz),MDVP:Flo(Hz),Shimmer:DDA,HNR,spread2,PPE,D2。
3.2.3 隨機(jī)森林參數(shù)優(yōu)化
構(gòu)建RF模型,使用網(wǎng)格搜索[13-14]參數(shù)尋優(yōu)尋找RF全局最優(yōu)參數(shù)組合時,由于參數(shù)n_estimators搜索的范圍較大,倘若網(wǎng)格搜索遍歷的步長較小且要包含最優(yōu)解,那么會出現(xiàn)計算量過大而降低電腦運行速度等問題。通過刻畫參數(shù)n_estimators學(xué)習(xí)曲線的方式編碼繪制RF參數(shù)的學(xué)習(xí)曲線,確定參數(shù)大致取值范圍,再使用網(wǎng)格搜索在該范圍內(nèi)進(jìn)行精細(xì)搜索,進(jìn)一步獲得包括參數(shù)n_estimators在內(nèi)的參數(shù)的最優(yōu)組合。圖4為參數(shù)n_estimators的學(xué)習(xí)曲線,由圖可知參數(shù)的最優(yōu)值大致在25左右,因此確定網(wǎng)格搜索該參數(shù)的范
圖4 參數(shù)n_estimators學(xué)習(xí)曲線
圍為20到30。對于其他參數(shù)由于在參數(shù)n_estimators確定后的取值范圍較小,可直接使用網(wǎng)格搜索尋找最佳值。經(jīng)網(wǎng)格搜索計算,該參數(shù)的最優(yōu)組合為n_estimators=25,criteriion=“gini”。
使用準(zhǔn)確率(Accuracy)、靈敏度(Sensitivity)、特異度(Specificity)作為算法的判斷指標(biāo),以此來檢驗文中模型的合理性。準(zhǔn)確率指數(shù)據(jù)中被正確診斷的病人數(shù)量與總樣本數(shù)的比例;而靈敏度又叫真陽性比例,即實際發(fā)病且被準(zhǔn)確診斷的病人所占比例;特異度又稱為真陰性率,是指實際無病并能準(zhǔn)確檢測的病歷所占比例。具體包括:
其中,TP為真陽性例數(shù),TN為真陰性例數(shù),FP為假陽性例數(shù),FN為假陰性例數(shù)。
表1分別為經(jīng)過SVM SMOTE算法均衡數(shù)據(jù)集、通過特征提取以及網(wǎng)格搜索交叉驗證優(yōu)化RF參數(shù)后的模型評估指標(biāo)。由表可知,原始RF算法的準(zhǔn)確率、靈敏度和特異度分別為92.38%、96.54%、80.17%;經(jīng)過SVM SMOTE算法均衡數(shù)據(jù)之后,準(zhǔn)確率提升至94.76%,靈敏度和特異度也分別提高至94.37%和97.33%;特征提取獲取最優(yōu)參數(shù)組合后,模型的準(zhǔn)確率、靈敏度和特異度分別為96.02%、94.93%和95.42%;利用網(wǎng)格搜索尋得RF的最佳參數(shù)之后,RF模型的準(zhǔn)確率、靈敏度和特異度分別為96.59%、94.81%和95.49%。
表1 RF診斷模型結(jié)果對比 %
為了驗證所提出方法的有效性和先進(jìn)性,基于SVM SMOTE和信息增益提取目標(biāo)特征子集之后構(gòu)建的RF模型,就多項指標(biāo)與現(xiàn)有研究中具有代表性的模型,如SVM、KNN、NB、XGBoost、DT進(jìn)行了詳細(xì)對比,表2展示了對比結(jié)果。
表2 不同分類器性能對比 %
從表中可以看出,RF模型實現(xiàn)了最佳的準(zhǔn)確率,其靈敏度稍低于DT,其特異度低于KNN,然而當(dāng)指標(biāo)數(shù)值在85%到95%的范圍時,即可判定該指標(biāo)性能良好。可見,文中模型具備較好的泛化性能。
文中數(shù)據(jù)來源于kaggle官網(wǎng),由英國牛津大學(xué)的Max Little[6]與科羅拉多州丹佛市的國家語音和語音中心合作創(chuàng)建。通過使用SVM SMOTE均衡算法均衡數(shù)據(jù)集使得樣本達(dá)到平衡,特征選擇根據(jù)信息增益的大小排序選取得到8個特征,進(jìn)而建立了基于RF的PD疾病診斷模型,并使用網(wǎng)格搜索和交叉驗證相結(jié)合的方式進(jìn)行參數(shù)調(diào)優(yōu)進(jìn)一步提高模型的準(zhǔn)確率。與傳統(tǒng)RF相比,PD診斷模型在準(zhǔn)確率、靈敏度和特異度上的表現(xiàn)均有提高,實驗的有效性得以證明。