梅曉碧,張雪英+,李鳳蓮,胡風云,賈文輝
(1.太原理工大學 信息與計算機學院,山西 太原 030024; 2. 山西省人民醫(yī)院 神經(jīng)內(nèi)科,山西 太原 030012)
經(jīng)顱多普勒超聲(Transcranial Doppler,TCD)可以幫助臨床醫(yī)生診斷狹窄、硬化等引起的頸動脈血管疾病,是腦卒中早期篩查診斷的重要依據(jù)[1-3]。本文在TCD數(shù)據(jù)基礎(chǔ)上,擴充構(gòu)建了新的組合特征,利用機器學習方法來挖掘TCD數(shù)據(jù)中的潛在信息,可以輔助醫(yī)生更快速、準確地做出診斷。
現(xiàn)實生活中的許多問題都是實例相關(guān)的代價敏感問題[4],近年來它受到越來越多的關(guān)注[5-7],但將實例相關(guān)代價引入到腦卒中分類問題中的研究幾乎未見報道。Bahnsen等[4]提出了實例相關(guān)的代價敏感決策樹算法,并對應(yīng)提出了Savings成本節(jié)約量評估指標,取得了可觀的成本節(jié)約效果。最近,Zelenkov等在Bahnsen的基礎(chǔ)上提出了代價敏感決策樹的boosting集成算法[5],進一步提升了成本節(jié)約量。旋轉(zhuǎn)森林(rotation forest,ROF)[8]是一種集成分類算法,其核心是利用主成分分析(principal component analysis,PCA)對數(shù)據(jù)進行特征變換,旨在增加基分類器的多樣性。該算法已被廣泛應(yīng)用于各個領(lǐng)域,并表現(xiàn)出了優(yōu)越的性能[9-11]。
腦卒中TCD數(shù)據(jù)具有顯著的非平衡特性和實例相關(guān)代價敏感特性,本文根據(jù)腦卒中疾病的特性設(shè)計了腦卒中代價矩陣,并用于腦卒中分類模型的構(gòu)建。同時受文獻[9-11]啟發(fā),本文提出了一種組合旋轉(zhuǎn)森林框架。將組合旋轉(zhuǎn)森林與實例相關(guān)代價敏感問題結(jié)合進行TCD非平衡數(shù)據(jù)的分類研究,并與已有的方法進行比較,驗證了本文算法的有效性。
給定訓練數(shù)據(jù)集X,其含有N個實例,每個實例有n個特征,定義X={(xi,yi),i=1,…,N},xi是n維特征空間X的一個實例,yi∈Y={0,1} 是實例xi的類別標簽,標簽yi=1對應(yīng)于少數(shù)類(即正類),yi=0對應(yīng)于多數(shù)類(即負類)。
(1)
那么,集合X的總代價為
(2)
本文采用實例相關(guān)代價敏感決策樹(example-depen-dent cost-sensitive decision tree,ECSDT)[4]作為基分類器,在構(gòu)建決策樹時,采用基于實例成本的節(jié)點分割準則,將不同實例的不同成本引入決策樹的生成階段。不同于傳統(tǒng)決策樹采用信息熵、基尼系數(shù)等度量方法,ECSDT使用基于實例成本的不純度度量方法,考慮每個實例的成本矩陣,旨在衡量分割準則在降低成本方面的表現(xiàn),而不只是提高準確率。
Cost(f0)表示分類器f將節(jié)點中所有的樣例分為正常人所造成的損失,Cost(f1)表示分類器f將節(jié)點中所有的樣例分為腦卒中患者所造成的損失,ECSDT采用兩者中的較小值來定義基于成本的不純度度量
Ic(X)=min{Cost(f0(X)),Cost(f1(X))}
(3)
(4)
本文首先根據(jù)腦卒中疾病特點,對腦卒中TCD數(shù)據(jù)進行特征構(gòu)建,更好挖掘數(shù)據(jù)信息;然后根據(jù)腦卒中的實例相關(guān)代價敏感特性設(shè)計了針對腦卒中疾病的代價矩陣,將實例相關(guān)代價引入到腦卒中TCD數(shù)據(jù)分類問題中。
本文使用的腦卒中TCD數(shù)據(jù)均來自山西省人民醫(yī)院神經(jīng)內(nèi)科,其中1248例正常人、553例硬化患者、265例狹窄患者,可見不同病癥患者TCD數(shù)據(jù)量同健康個體TCD數(shù)據(jù)量之間存在著非平衡關(guān)系。每個實例有17維特征。以往的研究[3]只使用了僅有的17維特征,未對特征進行深入的挖掘和研究,本文根據(jù)已有的血流特征,構(gòu)建兩組共8維組合特征,包括收縮期最大流速與舒張末期流速的比值S/D;左右兩側(cè)動脈血流速度的對稱度 |L-R|, 構(gòu)建的組合特征見表1。其中S/D可評估血管順應(yīng)性和血管彈性; |L-R| 可評估左右兩側(cè)腦動脈的差別。將組合得到的8維特征加上原始17維特征得到25維特征。
腦卒中的分類診斷問題,是與實例相關(guān)的代價敏感問題。如果未能成功預(yù)測出腦卒中患者,患者會因為病情被延誤,錯過最佳的預(yù)防或治療時機,從而面臨巨大的醫(yī)療開銷甚至是付出生命的代價。由此造成的后果因人而異,其中年齡是導致各實例代價差異較大的一個關(guān)鍵因素。因為隨著年齡的增長,身體各方面機能會有所下降,患者的致殘甚至致死的風險會更大,而且還會加大治愈的難度,因此本文將根據(jù)不同年齡段的致死率和致殘率設(shè)計代價矩陣。
首先將每個實例正確分類的代價為0,CTPi=CTNi=0; 然后假定去醫(yī)院做一次檢查的費用為Cti,則將正常人預(yù)測為病人的代價CFPi都為Cti;將病人預(yù)測為正常人的代價CFNi因人而異,而且大于將正常人預(yù)測為病人的代價,即CFNi>CFPi, 本文定義CFNi=Ui·ri·Cti, 其中Ui為數(shù)據(jù)
表1 腦卒中TCD數(shù)據(jù)原始特征及組合特征
的不平衡度,ri為實例對應(yīng)年齡段的致殘率和致死率之和。設(shè)計的腦卒中代價矩陣見表2。
表2 腦卒中代價矩陣
傳統(tǒng)的旋轉(zhuǎn)森林采用PCA進行特征映射,旨在增加基分類器的多樣性。在此基礎(chǔ)上,本文引入有監(jiān)督的LDA進行特征映射,旨在增加基分類器多樣性的同時提升其準確性,此外考慮到不同的特征空間具有不同的表征能力,本文還考慮了原始的特征空間。這樣針對每個基分類器,根據(jù)3個不同的特征空間訓練出3個獨立的子分類器,進一步提高組合旋轉(zhuǎn)森林的多樣性。
PCA是一種無監(jiān)督的特征變換技術(shù),可使得投影后的數(shù)據(jù)方差盡可能的大。假定訓練集X={(x1,y1),(x2,y2),…,(xN,yN)}, 其中任一樣本xi包含n維特征,yi∈{0,1}。 PCA作為特征映射算法,算法流程如下:
(1)對X進行中心化,得到Xc;
LDA是一種有監(jiān)督的特征變換技術(shù),能合理運用標簽信息,使得投影后的維度具有判別性,不同類別的數(shù)據(jù)盡可能分開,同類別的數(shù)據(jù)盡可能靠近。采用LDA作為特征映射算法,將數(shù)據(jù)映射到具有可分性的特征空間,算法流程如下:
假定Xm(m=0,1) 為第m類樣本的集合,而um(m=0,1) 為第m類樣本的均值向量,定義∑m(m=0,1) 為第m類樣本的協(xié)方差矩陣。
(1)計算每個類的類內(nèi)散度矩陣之和Sw
(5)
(2)計算類間散度矩陣Sb
Sb=(u0-u1)(u0-u1)T
(6)
下面給出本文提出的實例相關(guān)代價敏感組合旋轉(zhuǎn)森林ECS_CROF的構(gòu)建步驟,圖1展示了ECS_CROF算法框架。用F表示樣本完整的特征集。T1,T2,…,TD表示使用D個基分類器。
圖1 實例相關(guān)代價敏感組合旋轉(zhuǎn)森林框架
(1)針對訓練集X,隨機將F劃分為K個不相交的特征子集,每個子集包含M=n/K個特征,若K不能整除n,最后一個子集將是n除以K的余數(shù)。令Fd,k(1≤d≤D,1≤k≤K) 為第d個基分類器的第k個特征子集,對訓練樣本集按一定比例進行重復(fù)抽樣,得到新的訓練樣本子集X′,對此樣本子集上的Fd,k特征子集進行PCA和LDA變換,得到投影矩陣Wkpca,Wklda。
(7)
(4)將以上步驟重復(fù)D次,得到3D個訓練好的ECSDT。
本文根據(jù)山西省人民醫(yī)院神經(jīng)內(nèi)科的TCD數(shù)據(jù)設(shè)計了兩組實驗,分別為“正常人-硬化患者”,“正常人-狹窄患者”,每組實驗分別對“原始特征”和“融合特征”進行對比實驗。將所提出的ECS_CROF與實例相關(guān)代價敏感隨機補丁ECSRP[5],基于PCA特征映射的實例相關(guān)代價敏感旋轉(zhuǎn)森林(用ECSROF_PCA表示),以及基于LDA特征映射的實例相關(guān)代價敏感旋轉(zhuǎn)森林(用ECSROF_LDA表示)進行比較,以此驗證所提出的ECS_CROF算法的有效性。將數(shù)據(jù)進行五折交叉驗證,每一折都劃分為訓練集、驗證集和測試集,使用網(wǎng)格尋優(yōu)算法對模型進行參數(shù)尋優(yōu),尋優(yōu)的目標函數(shù)為“成本節(jié)約(Savings)”,取五折交叉驗證的平均值評估算法的整體性能。
傳統(tǒng)的分類性能評價指標,如準確率(accuracy)、幾何平均(geometricmean,Gm)、召回率(recall)等,只強調(diào)準確性而不考慮誤分類所產(chǎn)生的代價。實例相關(guān)代價敏感問題需要評估的是算法在降低成本方面的性能,而不僅僅強調(diào)準確性。
本文使用Savings指標評價算法的成本節(jié)約性能[4]。首先,計算將所有實例分為負類或正類時(即代價最大時)所產(chǎn)生的總代價Costbase(X),然后將成本節(jié)約Savings定義為在實際預(yù)測中使用算法預(yù)測結(jié)果所產(chǎn)生的代價Cost(f(X)) 相比于Costbase(X)所帶來的成本節(jié)約量
(8)
其中,Costbase(X) 為Cost(f0(X)) 和Cost(f1(X)) 之間的最小值,fa(X)=a,a∈{0,1}。 Savings值越大,說明算法在節(jié)約成本方面的性能更優(yōu)越。
本文還采用了傳統(tǒng)的Gm、Recall和特異性(specificity,Sp)評價指標,Gm為Recall和Sp的幾何平均,Recall表示在所有患者中,被正確識別出的患者比例,Sp表示在所有正常人中,被正確識別出的正常人比例,對應(yīng)的公式如下所示
(9)
(10)
(11)
式中:FP(false positives)代表實際為負類樣本,但被錯誤預(yù)測為正類樣本的數(shù)量,F(xiàn)N(false negative)代表實際為正類樣本,但被錯誤預(yù)測為負類樣本的數(shù)量。TP(true positives)、TN(true negative)分別表示的是實際為正(負)類樣本且被正確預(yù)測為正(負)類樣本的數(shù)量。
(1)驗證組合特征的有效性。表3給出了本文方法及對比方法用于分類腦卒中TCD數(shù)據(jù)的Savings實驗結(jié)果,可以看出,采用融合特征后,對于硬化患者(實驗①②)和狹窄患者(實驗③④),各個方法的Savings值都有一定的提升。由此可見,本文構(gòu)建的組合特征有實際效用,能更好挖掘腦卒中TCD數(shù)據(jù)信息。
(2)驗證本文算法ECS_CROF的有效性。由表3的實驗結(jié)果可以看出,對于硬化患者和狹窄患者,本文的方法的Savings都是最優(yōu)的,可見本文方法ECS_CROF用于不平衡TCD數(shù)據(jù)的成本節(jié)約性能最優(yōu)。此外可以看出ECSROF_PCA和ECSROF_LDA的性能均優(yōu)于ECSRP,由此驗證了旋轉(zhuǎn)森林模型的有效性。在實驗①②③中ECSROF_LDA的性能均優(yōu)于ECSROF_PCA,實驗④中兩者性能差別不大,ECSROF_LDA只是略低于ECSROF_PCA,說明利用LDA技術(shù)代替PCA進行特征投影,可以進一步提升旋轉(zhuǎn)森林模型性能。
表3 不同算法對腦卒中TCD數(shù)據(jù)的Savings性能對比
(3)本文進一步對比分析了4種方法的傳統(tǒng)評價指標Gm、Recall和Sp。對比結(jié)果見表4,可見本文方法ECS_CROF的Gm參數(shù)和Savings性能類似,仍然是最優(yōu)的,進一步驗證了本文方法的有效性。由表3和表4實驗①可見,ECSRP的Savings指標不如ECSROF_PCA,但是Gm卻優(yōu)于后者;由實驗④可見ECSROF_LDA的Savings指標不如ECSROF_PCA,但是Gm卻優(yōu)于后者;可見Gm指標和Savings并沒有嚴格的正相關(guān)或負相關(guān)關(guān)系,因為Savings考慮了每個實例的代價,更具有實際參考價值。
此外相比于ECSROF_LDA和本文方法ECS_CROF,ECSROF_PCA的Recall更高但是其Savings和Gm性能都較差,這是因為ECSROF_PCA判別能力較差,受到代價矩陣的影響便一味提高Recall,卻將大量的正常人誤判為了患者,也就是Sp指標較差,最終導致Savings和Gm效果較差,這在現(xiàn)實生活中,勢必會因為大量的復(fù)查造成極大的資源浪費,失去了代價敏感分類的意義。然而本文提出的方法ECS_CROF能夠保證較高Recall的同時,很好提升Savings和Gm指標,說明本文方法通過綜合不同的特征空間,更好權(quán)衡Recall和Sp兩個指標,最終取得最優(yōu)的成本節(jié)約性能Savings。
表4 不同算法對腦卒中TCD數(shù)據(jù)的Gm、Recall和Sp性能對比
總之,本文提出的組合特征能更好挖掘數(shù)據(jù)潛在信息,針對不同的算法,均能有效提升數(shù)據(jù)可分性;此外,本文提出的ECS_CROF的Savings和Gm指標均優(yōu)于對比算法,可見本文提出的算法,能有效提升模型性能,更好節(jié)約成本,更具有實際的參考價值。
首先根據(jù)腦卒中TCD數(shù)據(jù)特點,本文構(gòu)建了多個組合特征,充分挖掘數(shù)據(jù)的潛在信息來提高其分類性能。然后根據(jù)腦卒中的實例相關(guān)代價敏感特性,本文設(shè)計了適用于腦卒中的新的代價矩陣,用于實例相關(guān)代價敏感算法,并用“成本節(jié)約(Savings)”評估算法性能。最后提出了實例相關(guān)代價敏感組合旋轉(zhuǎn)森林算法用于腦卒中TCD數(shù)據(jù)分類,結(jié)果顯示,與已有的實例相關(guān)代價敏感算法相比,所提的ECS_CROF在成本節(jié)約上性能更為顯著。本文僅對代價敏感腦卒中早期篩查診斷做出初步的探索,今后,可以綜合考慮多方面因素,設(shè)計更加精細的腦卒中代價矩陣;采用其它的特征映射算法,構(gòu)建更多樣的旋轉(zhuǎn)森林,進一步改善性能指標。