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