王逸豪,黃敬英,范勤勤*
(1上海海事大學(xué) 物流研究中心,上海 201306; 2 浙江大學(xué) 醫(yī)學(xué)院附屬邵逸夫醫(yī)院麻醉恢復(fù)室,浙江 杭州 310020)
在醫(yī)療領(lǐng)域,風(fēng)險預(yù)測模型通常以某種疾病的病因為基礎(chǔ),通過分析多因素的危險水平來建立預(yù)測模型[1]。術(shù)中低體溫是指人體在接受手術(shù)治療中核心體溫低于36 ℃的現(xiàn)象。術(shù)中低體溫的發(fā)生會影響人體酶促反應(yīng)效率和藥物代謝時間,嚴重的會導(dǎo)致人體術(shù)后寒戰(zhàn)、凝血功能異常、呼吸抑制等情況,有時甚至?xí)?dǎo)致死亡[2-3]。此外,術(shù)中低體溫的發(fā)生概率較高(50%~70%)[4-5]。因此,降低術(shù)中低體溫發(fā)生的風(fēng)險十分重要[6]。
為降低術(shù)中低體溫的發(fā)生,研究人員相繼推出各種風(fēng)險預(yù)測模型。文獻[7]根據(jù)專家文獻分析選取了7個危險因素來建立全麻手術(shù)患者的術(shù)中低體溫評分方程,并使用外部數(shù)據(jù)對其進行驗證,所得AUC(area under the curve,記作AUC)值為0.771,實驗結(jié)果表明該方程具有良好的預(yù)測性能。文獻[3]提出一種針對腹腔鏡手術(shù)的低體溫風(fēng)險預(yù)測模型,該模型通過單因素和多因素的邏輯回歸選取4個特征進行建模,實驗結(jié)果AUC=0.791,表明該模型的擬合度中等偏上。文獻[8]提出一種低體溫風(fēng)險預(yù)測模型,首先通過雙變量相關(guān)分析對特征進行分析,然后使用后向刪除不顯著的特征,最終選取5個特征來建立邏輯回歸模型;通過64名手術(shù)患者測試集的測試,該模型所得AUC=0.85,實驗結(jié)果表明模型的擬合度較好。
已有研究表明,特征選擇會極大影響機器學(xué)習(xí)模型的預(yù)測精度。傳統(tǒng)的特征選擇方法主要有4種[9]:封裝式、過濾式、嵌入式和混合式方法。為解決特征選擇問題,文獻[10]提出一種基于信息增益與皮爾森相關(guān)系數(shù)的2D自適應(yīng)特征選擇算法,該方法以信息增益為特征辨識度,并以皮爾森相關(guān)系數(shù)作為特征的獨立性,選出在2D坐標(biāo)空間中對分類任務(wù)貢獻大的特征作為特征子集;實驗結(jié)果證明,與經(jīng)典特征選擇算法相比,所提方法能在高維小樣本的基因表達數(shù)據(jù)上選出有效的特征子集。文獻[11]根據(jù)最大信息系數(shù)理論提出一種基于特征排序和近似馬爾科夫毯的兩階段混合式特征選擇方法,從而得到特征相關(guān)性與冗余性的關(guān)系。文獻[12]通過眾包學(xué)習(xí)將多種特征選擇方法的結(jié)果根據(jù)可靠性集成在一起,實驗結(jié)果表明該方法能夠提高特征選擇的有效性。為了避免特征選擇陷入局部最優(yōu)[13],研究人員使用進化算法去解決特征選擇問題。文獻[14]提出一種融合遺傳算法和烏燕鷗算法的封裝式特征選擇方法,該方法使用遺傳烏燕鷗算法對特征和支持向量機兩個參數(shù)進行同時優(yōu)化,從而提高預(yù)測模型的分類精度。文獻[15]提出一種改進的多目標(biāo)森林優(yōu)化算法來解決多目標(biāo)特征選擇問題,實驗結(jié)果表明,所提算法在特征數(shù)量和分類錯誤率方面都優(yōu)于其他多目標(biāo)特征選擇方法。文獻[16]提出一種基于特征屬性的新型自學(xué)習(xí)封裝式特征選擇方法,該方法利用先前特征子集的SHAP值指導(dǎo)元啟發(fā)算法的搜索過程,故具有較高的搜索效率。文獻[17]提出一種將高維特征選擇任務(wù)轉(zhuǎn)化成幾個低維特征選擇任務(wù)的多任務(wù)粒子群算法,通過低維特征選擇任務(wù)之間的知識遷移找到最優(yōu)特征子集。
由于以上研究都尚未將特征選擇當(dāng)作是一個多模態(tài)多目標(biāo)優(yōu)化問題,故它們無法給出更多等效的特征子集。相比于普通的多目標(biāo)優(yōu)化問題,多模態(tài)多目標(biāo)優(yōu)化不僅需要在目標(biāo)空間找到好的帕累托前沿逼近,還要在決策空間找到足夠多的等價帕累托解[18]。雖然特征選擇的主要任務(wù)是找出特征子集以降低維度,但這些特征子集可能存在多組等效的情況。為解決以上問題,Kamyab等[19]將多模態(tài)優(yōu)化算法用于求解特征選擇問題,結(jié)果表明多模態(tài)優(yōu)化方法找到的解決方案比單模態(tài)方法更具多樣性。Yue等[9]則使用一種多模態(tài)多目標(biāo)優(yōu)化算法來進行特征選擇,實驗表明多模態(tài)多目標(biāo)優(yōu)化算法可以降低特征提取成本。Jha等[20]基于特征間互信息與冗余度等因素,使用一種基于環(huán)形拓撲結(jié)構(gòu)的多模態(tài)多目標(biāo)優(yōu)化算法進行過濾式的特征選擇,選擇出具有最小冗余和最大相關(guān)的特征子集;實驗結(jié)果顯示,相比于其他特征選擇方法,所提算法不僅能提供更多數(shù)量的等效特征子集,而且具有更好或相似的預(yù)測精度。
雖然以上研究使用多模態(tài)多目標(biāo)優(yōu)化算法來進行特征選擇,但是它們都沒有考慮高維特征選擇問題。為解決現(xiàn)有多模態(tài)多目標(biāo)優(yōu)化算法無法解決高維特征選擇問題,本文提出一種基于因果模型和多模態(tài)多目標(biāo)優(yōu)化的兩階段特征選擇方法(two-stage feature selection method based on causal model and multimodal multi-objective optimization,TSFS-CMMMO)。在所提算法中,首先通過因果模型刪除高維數(shù)據(jù)樣本中的不相關(guān)特征進行降維,然后使用多模態(tài)多目標(biāo)進化算法對降維后的數(shù)據(jù)特征再次進行特征選擇,最后將TSFS-CMMMO與深度森林算法進行結(jié)合,用于術(shù)中低體溫風(fēng)險預(yù)測。實驗結(jié)果表明,相比于傳統(tǒng)特征選擇方法,所提算法不僅能夠提供多種可行方案,還能克服實際應(yīng)用中數(shù)據(jù)特征不易獲取的問題。同時,相比于基于多模態(tài)多目標(biāo)進化算法的特征選擇方法,所提方法能夠大大降低多模態(tài)多目標(biāo)優(yōu)化算法的求解難度,從而獲得更多的等效解集。
因果模型可以表示數(shù)據(jù)中的因果關(guān)系[21]。真正快速因果推斷[22](really fast causal inference,RFCI)算法是由Diego等提出的一種因果模型。在因果充分性假設(shè)難以滿足的條件下,滿足因果馬爾可夫和因果忠誠性假設(shè)就可以刻畫高維數(shù)據(jù)中各變量的依賴關(guān)系。
RFCI算法主要包含4個步驟:1)構(gòu)造所有變量的完全圖;2)使用d-分離法對三元組中的節(jié)點vi和vj進行vz節(jié)點下的獨立性檢測(如圖1所示),并刪去多余邊確定開放三元組〈vi,vj,vk〉和分離集sepset(記作SS);3)根據(jù)開放三元組〈vi,vj,vk〉中的vj是否為碰撞點來確定v型結(jié)構(gòu);4)盡可能給更多的邊定向。RFCI算法的具體流程如算法1所示。
圖1 vi⊥vj|vk的3種d-分離示意圖Fig.1 Three d-separation diagrams of vi⊥vj|vk
基于自組織物種生成的多目標(biāo)粒子群算法[23](self-organized speciation based multi-objective particle swarm optimizer,SSMOPSO)是一種結(jié)合了非支配排序算法和特殊擁擠距離的多模態(tài)進化算法[17]。它根據(jù)相似性將種群分為多個子種群,在求解多模態(tài)多目標(biāo)優(yōu)化問題上有較好表現(xiàn)。
在SSMOPSO算法中,首先,建立個體最優(yōu)存檔(private optimal archive,POA,記作POA),POA(i)代表當(dāng)前第i個粒子的最優(yōu)位置,并根據(jù)個體的非支配排序選擇物種種子(記為nbest),預(yù)設(shè)半徑R確定物種大小及包含的個體。然后,將多個子種群作為不同物種,同時向多個最優(yōu)方向進化,Pi(t)代表第t代第i個粒子,每個粒子i的速度向量s和位置l根據(jù)(1)式和(2)式[23]迭代更新:
si(t)=Wsi(t-1)+c1r1(lpbest-li(t))+
c2r2(lnbest-li(t)),
(1)
li(t)=li(t-1)+si(t)。
(2)
式中:W表示慣性權(quán)重;c1和c2為2個加速因子;r1和r2為服從[0,1]均勻分布的2個偽隨機數(shù);pbest代表個體最佳粒子。最后,各子種群并行搜索得出多個帕累托等價解集。SSMOPSO的偽代碼如算法2所示。
圖2 多粒度掃描示意圖Fig.2 Schematic diagram of multi granularity scanning
為了解決現(xiàn)有多模態(tài)多目標(biāo)優(yōu)化算法無法求解高維數(shù)據(jù)特征選擇的問題,本文提出一種基于因果模型和多模態(tài)多目標(biāo)優(yōu)化算法的兩階段特征選擇方法:首先使用因果模型對高維數(shù)據(jù)特征進行降維,然后使用SSMOSPO算法對降維后的數(shù)據(jù)特征進行多模態(tài)特征選擇,從而克服多模態(tài)多目標(biāo)進化算法對高維特征搜索能力不足的問題,最終獲得多組等效的特征子集。
圖4是特征選擇中多模態(tài)特性的示意圖,圖中虛線代表多目標(biāo)優(yōu)化問題的帕累托前沿。假設(shè)x1、x2、x3、x4、x5表示原始數(shù)據(jù)特征,填充黑點的方框表示被選擇的特征,而空白方框是未選擇的特征。在圖4中,{x1,x3}和{x2,x4}是選中的兩組不同特征子集,它們的分類錯誤率和特征數(shù)量相同,因此它們是一組具有多模態(tài)特性的等效特征子集。
圖4 特征選擇中的多模態(tài)特性示意圖Fig.4 Schematic diagram of multimodalcharacteristics in feature selection
基于TSFS-CMMMO的深度森林算法主要包含兩個部分,即數(shù)據(jù)特征兩階段選擇和深度森林算法建模。在使用因果模型進行特征選擇時,所提算法先對輸入的原始特征使用證據(jù)權(quán)重[26](weight of evidence,WOE,記作WE)進行編碼處理。對于第h個類型,其正負樣本分布比值的對數(shù)計算公式為
(3)
式中:py1表示該類型在負類樣本分布;py0表示該類型在正類樣本的分布;Bh表示該類型中負類樣本的數(shù)量;BT為總樣本中負類樣本的數(shù)量;Gh表示該類別中正類樣本的數(shù)量;GT為總樣本中正類樣本的數(shù)量。
在使用多模態(tài)多目標(biāo)進化算法進行特征選擇階段時,因為所選多模態(tài)多目標(biāo)進化算法不能直接求解特征選擇問題,所以每個決策變量的取值范圍設(shè)為[0,1],同時設(shè)置0.5為選擇閾值,即當(dāng)某個決策變量的值大于等于0.5代表這個位置對應(yīng)的特征被選中;小于0.5則代表這個位置對應(yīng)的特征被剔除。為直觀解釋個體編碼和解碼過程,其過程如圖5所示。粒子維度等于特征數(shù)量(在本例中特征數(shù)量假設(shè)為9),從圖5中可以看出, {x1,x3,x5,x6,x8,x9}為選中特征組成的子集。對于原始數(shù)據(jù)特征F,選中的特征FS和未選中特征FNS滿足(4)式和(5)式:
圖5 粒子與特征選擇的示意圖Fig.5 Shcematic diagram of particle and feature selection
F=FS∪FNS,
(4)
FS∩FNS=?。
(5)
基于TSFS-HMMMO的深度森林算法如圖6所示,整體實現(xiàn)步驟如下:
圖6 基于TSFS-HMMMO的深度森林算法框架圖Fig.6 Framework of deep forest algorithm based on TSFS-HMMMO
步驟1,輸入原始數(shù)據(jù);
步驟2,對手術(shù)類別特征進行WOE編碼;
步驟3,使用因果模型對原始數(shù)據(jù)進行特征選擇;
步驟4,基于步驟3,使用SSMOPSO算法對降維后的數(shù)據(jù)特征進行再次選擇;
步驟5,根據(jù)步驟4得到的數(shù)據(jù)特征,使用深度森林算法進行建模;
步驟6,判斷是否滿足搜索停止條件,滿足則進行步驟7,不滿足則返回步驟4;
步驟7,輸出所有滿足條件的搜索結(jié)果,即具有多模態(tài)特性的特征子集。
本文使用的數(shù)據(jù)集為實際術(shù)中低體溫數(shù)據(jù),共有295個樣本,特征數(shù)量為11,包含發(fā)生術(shù)中低體溫和未發(fā)生術(shù)中低體溫兩類結(jié)果。其中術(shù)中低體溫的總體發(fā)生率約為67.80%。經(jīng)過數(shù)據(jù)預(yù)處理,刪除其中數(shù)據(jù)缺失過多的樣本,最終使用其中290個數(shù)據(jù)樣本。表1給出術(shù)中低體溫數(shù)據(jù)集的詳細情況。
表1 術(shù)中低體溫數(shù)據(jù)集的所有特征Tab.1 All features of intraoperative hypothermia data set
本文將數(shù)據(jù)集按比例隨機分為訓(xùn)練集(75%)和測試集(25%),并使用1-AUC來對算法的分類能力進行評價。所有錯誤率均通過五折交叉驗證法產(chǎn)生。
在基于TSFS-HMMMO的深度森林算法中,SSMOPSO算法的物種半徑設(shè)置為自變量范圍[0,1]的5%,即0.05[27];種群規(guī)模和最大適應(yīng)度評估次數(shù)分別設(shè)為300和30 000。所有實驗均使用相同參數(shù)的深度森林算法作為分類器,其中隨機森林和完全隨機森林均包含100個決策樹[28]。為確保實驗的公平性,本文所有實驗都在Intel Core i7-10700 CPU @2.90 GHz運行環(huán)境下,并使用MATLAB 2021a和Python 3.7來進行計算。
3.3.1 算法結(jié)果比較
為驗證所提方法的特征選擇能力,將其分別與2種方法進行比較,即未進行特征選擇的深度森林算法和基于因果模型的深度森林算法。
所提算法首先使用因果模型(即RFCI算法)來對數(shù)據(jù)特征進行分析;其輸出的特征因果關(guān)系如圖7所示,可以看出術(shù)前體溫(x2)、BMI(x6)等能直接或者間接影響術(shù)中低體溫情況的發(fā)生。根據(jù)因果模型,可以剔除與結(jié)果x12不相關(guān)的x3、x4和x5等特征,即病患性別、病患年齡和ASA分級。因此,術(shù)中低體溫可由x1、x2、x6、x7、x8、x9、x10和x11等8個特征表示。根據(jù)以上8個特征,本實驗分別使用深度森林算法和基于因果模型的深度森林算法來對其進行建模,實驗結(jié)果見表2。
表2 3種方法的實驗結(jié)果Tab.2 Experimental results of the three methods
圖7 術(shù)中低體溫風(fēng)險的因果模型Fig.7 Hausal model of intraoperative hypothermia risk
在因果模型得到的特征選擇結(jié)果基礎(chǔ)上,所提TSFS-HMMMO算法利用多模態(tài)多目標(biāo)進化算法對特征再次進行選擇;并將特征數(shù)量和分類錯誤率作為2個優(yōu)化目標(biāo)(結(jié)果見表2)。從表2可知,使用深度森林算法對原始數(shù)據(jù)(11個特征)進行建模,不僅使用特征數(shù)量最多,而且錯誤率較高。對于基于因果模型的深度森林算法而言,其使用8個特征來進行建模,相比于原始深度森林算法,其在特征數(shù)量和錯誤率兩方面都有較好表現(xiàn)。另外,從表2可知,在特征數(shù)量≥2的情況下,所提算法在特征數(shù)量和錯誤率方面的表現(xiàn)均要優(yōu)于未進行特征選擇的深度森林算法和基于因果模型的深度森林算法。這說明TSFS-HMMMO算法有較好的特征選擇能力,主要原因是所提TSFS-HMMMO算法不僅使用因果模型剔除了不相關(guān)的特征,而且還使用多模態(tài)多目標(biāo)進化算法得到更多的等效特征子集。
此外,相比于其他2種方法,TSFS-HMMMO算法可以通過多組等效的特征子集進行建模。例如,當(dāng)選擇特征{x2,x6,x7,x8,x10,x11}或特征{x1,x2,x6,x7,x8,x11}進行建模時,它們的特征數(shù)量都為6,分類錯誤率都是0.22。在術(shù)中低體溫數(shù)據(jù)集中,x1是術(shù)前是否發(fā)生低體溫,x10是失血量。術(shù)前是否發(fā)生低體溫可以直接通過測量體溫獲得,而失血量這一特征需要專家在術(shù)前根據(jù)病人手術(shù)類型估計得到。如果只選擇6個特征進行建模預(yù)測,顯然術(shù)前是否發(fā)生低體溫比失血量這一特征更容易獲得,所以決策者可以選擇特征獲取成本低的{x2,x6,x7,x8,x10,x11}而不是{x1,x2,x6,x7,x8,x11}進行建模。同時,從表2可以看出,TSFS-HMMMO算法可以在高維空間找到多組具有多模態(tài)特性的特征子集,為決策者提供多種建模方案,從而降低了術(shù)中低體溫風(fēng)險預(yù)測模型的建模成本。
如上所述,特征數(shù)量和分類精度通常是2個沖突的目標(biāo),所提算法得到的Pareto前沿逼近見圖8。從圖8可知選擇特征數(shù)量與分類錯誤率呈現(xiàn)負相關(guān),這表明決策者需要在特征數(shù)量和分類精度之間進行平衡。
圖8 結(jié)合TSFS-HMMMO的深度森林算法所得Pareto前沿Fig.8 Pareto front obtained by the deep forest algorithm combined with TSFS-HMMMO
綜上所述,所提算法不僅具有較強的數(shù)據(jù)特征選擇能力,而且能夠提供多種等效的特征子集來降低建模成本。因此,TSFS-HMMMO是一種提高術(shù)中低體溫風(fēng)險預(yù)測能力的有效方法。
3.3.2 算法分析
為驗證本文提出的TSFS-HMMMO算法在高維數(shù)據(jù)上的特征選擇能力,將去除因果模型的TSFS-HMMMO算法用于術(shù)中低體溫數(shù)據(jù)的特征選擇,其結(jié)果如表3所示。由表2可知,當(dāng)特征子集為{x2,x6,x7,x8}時,基于TSFS-HMMMO的深度森林算法的分類錯誤率為0.24;而由表3可知,當(dāng)不使用因果模型和特征子集為{x2,x5,x7,x8}時,基于SSMOPSO的深度森林算法的分類錯誤率為0.25。由上可知,在特征數(shù)量相同的情況下,基于TSFS-HMMMO的深度森林算法的分類錯誤率更低。這是由于因果模型剔除x5等不具備良好分類能力的特征,避免了多模態(tài)多目標(biāo)優(yōu)化算法在高維決策空間上進行搜索。此外,從表2可知,當(dāng)特征子集為{x2,x6,x7,x11}時,基于TSFS-HMMMO的深度森林算法的分類錯誤率為0.24;但表3顯示,當(dāng)特征子集為{x2,x3,x6,x7,x11}時,基于SSMOPSO的深度森林算法的錯誤率也為0.24。這說明代表性別的特征無法提高分類器的性能,在分類錯誤率相同的情況下,使用基于因果模型和多模態(tài)多目標(biāo)進化算法兩階段特征選擇方法要好于只使用多模態(tài)多目標(biāo)進化算法的特征選擇方法。
表3 基于SSMOPSO算法的特征選擇實驗結(jié)果表Tab.3 Experimental results of feature selection based on SSMOPSO
為進一步說明本文算法的有效性,對比TSFS-HMMMO和SSMOPSO 2種算法找到的等效特征子集數(shù)量(如圖9所示)。從圖9可以看出,在特征數(shù)量較少時,相比于SSMOPSO算法,TSFS-HMMMO方法能找到更多的等效特征子集。這是由于因果模型縮小特征空間,使得多模態(tài)多目標(biāo)優(yōu)化算法可以有效地進行搜索。但是,在高維情況下,SSMOPSO算法反而能找到更多的特征子集,其主要原因可能是降維后的搜索空間存在的等效解變少。比如,當(dāng)從11個特征中挑選8個特征時,可能會存在更多的等效特征子集。因此,相比于SSMOPSO,TSFS-HMMMO方法可以在縮小的搜索空間內(nèi)找到更多的特征子集,這緩解了多模態(tài)多目標(biāo)進化算法求解高維數(shù)據(jù)特征能力弱的問題。
圖9 多模態(tài)特征子集數(shù)量對比圖Fig.9 Comparison of the number of multi-modal feature subsets
本文針對現(xiàn)有大多數(shù)多模態(tài)多目標(biāo)進化算法在高維特征選擇問題上存在搜索能力不足的問題,提出一種基于因果模型和多模態(tài)多目標(biāo)優(yōu)化的兩階段特征選擇方法(TSFS-HMMMO)。在本文TSFS-HMMMO算法中,首先使用因果模型分析特征變量之間的因果關(guān)系,剔除不相關(guān)特征以減小特征搜索空間的大小;然后使用多模態(tài)多目標(biāo)進化算法搜索特征子集;最后使用深度森林算法對降維后的術(shù)中低體溫數(shù)據(jù)進行建模。實驗結(jié)果表明,該方法具有以下優(yōu)點:1)克服了多模態(tài)多目標(biāo)算法在高維特征選擇問題中搜索能力不足的問題;2)提供多組等效的特征選擇方案,降低了建模的特征獲取成本;3)可以為決策者提供有效決策支持。