浙江中醫(yī)藥大學(xué)(310053) 項莎特 瞿溢謙 葉含笑
【提 要】 目的 采用多層學(xué)習聯(lián)合建模方法挖掘氣陰兩虛型咳嗽的辨證證候,以期為中醫(yī)學(xué)習、研究臨床辨證及診斷提供新的思路與方法。方法 聯(lián)合采用隨機森林、XGBoost及l(fā)ogistic回歸三種機器學(xué)習算法,對767例咳嗽患者病案,運用Anaconda 3-5.2.0軟件建立算法模型進行分析。結(jié)果 運用該方法所得的證候結(jié)果與文獻記載的證候表現(xiàn)大體一致,主要為嗆咳、乏力、口干、痰少而色白,燥苔、脈弱等證候。經(jīng)交叉驗證得出,XGBoost算法準確率為86.7%,隨機森林為85.3%。結(jié)論 多層學(xué)習聯(lián)合建模方法可彌補單獨使用隨機森林、XGBoost或logistic回歸算法所產(chǎn)生的缺陷,尤其對于臨床病案較少的小樣本數(shù)據(jù)更為有效,該方法在一定程度上降低了重要變量丟失的可能性。
咳嗽為常見疾病,中醫(yī)治療該疾病的歷史悠久,且對于臨床檢查無殊的咳嗽的療效較為顯著[1]。氣陰兩虛為致使原因不明、臨床檢查無明顯病理性改變的咳嗽發(fā)作的病機之一。在當今大數(shù)據(jù)及人工智能的沖擊下,探索新的中醫(yī)學(xué)習、傳承方式成為趨勢[2]。通過機器學(xué)習提取判斷事物屬性特征,從而建立診斷模型的方式,成為了醫(yī)學(xué)領(lǐng)域中蓬勃發(fā)展的一項研究[3]。此方法有助于從隱匿和重疊的證候中挖掘出其分布特點,從而預(yù)測疾病證型[4],同時可達到挖掘和學(xué)習中醫(yī)臨床辨證及診斷的目的。
因此,本研究氣陰兩虛型咳嗽患者的基礎(chǔ)上,聯(lián)合多模型機器學(xué)習算法,組成多層學(xué)習聯(lián)合建模方法,對所采集氣陰兩虛型咳嗽的四診信息進行挖掘和分析,從而為機器學(xué)習輔助開發(fā)新的中醫(yī)學(xué)習方式提供參考。
1.數(shù)據(jù)來源
2018年1月-2018年12月就診于浙江中醫(yī)藥大學(xué)門診部的咳嗽患者病案。
2.納入標準
(1)疾病名稱為咳嗽,證型為氣陰兩虛;(2)復(fù)診資料顯示,該患者咳嗽癥狀緩解;(3)咳嗽的診斷標準同時參照《咳嗽的診斷與治療指南》(2015)[1];(4)所采集的病案包含了完整的四診信息。
3.排除標準
(1)復(fù)診資料顯示,咳嗽癥狀并未緩解者;(2)未見復(fù)診信息者;(3)病案中四診信息不全者;(5)咳嗽診斷標準不符合《咳嗽的診斷與治療指南》者。
4.數(shù)據(jù)總量
采集咳嗽病例767例,其中氣陰兩虛型咳嗽病例為564例,非氣陰兩虛型咳嗽病例為203例。
5.數(shù)據(jù)預(yù)處理
將采集到的病案按姓名、證候、是否為氣陰兩虛型咳嗽,建立信息標簽。證候名稱標準化參照《中醫(yī)藥學(xué)名詞》[5],錄入excel數(shù)據(jù)表,共得到210個證候標簽,并對各個證候進行語言規(guī)范化處理后,將信息采用“0”“1”變量賦值,是為“1”,否為 “0”。對疾病類型同樣采用“0”“1”變量賦值,是氣陰兩虛型咳嗽為“1”,非氣陰兩虛型咳嗽為“0”。
1.多層學(xué)習聯(lián)合建模方法
在機器學(xué)習的眾多算法中,隨機森林、XGBoost算法具有較高的計算效率,且在一定程度上能有效防止模型的過擬合[6-7],因此,與支持向量機、決策樹、logistic回歸等算法相比,隨機森林、XGBoost在疾病預(yù)測中具有較高的準確度[8-10]。
隨機森林采用集成學(xué)習的思想,使用決策樹作為弱分類器,組合多個決策樹形成具有較好效果的強分類器。該算法的準確率可與Adaboost相媲美[11]。采用隨機森林模型可以通過計算每棵決策樹的袋外數(shù)據(jù)誤差,及對袋外數(shù)據(jù)所有樣本的特征隨機加入噪聲后的袋外數(shù)據(jù)誤差,得出樣本特征變量的重要性[7]。
梯度提升決策樹(gradient boosting decision tree,GBDT)是XGBoost的基礎(chǔ)算法,它包含一個迭代殘差樹的集合,每一棵樹都在學(xué)習前N-1棵樹的殘差,將每棵樹預(yù)測的新樣本輸出值相加起來就是樣本最終的預(yù)測值。不同于常用的梯度提升決策樹在優(yōu)化時僅用一階導(dǎo)數(shù)信息,XGBoost對代價函數(shù)進行了二階泰勒展開,同時用到了一階和二階導(dǎo)數(shù),使得XGBoost得到良好的結(jié)果[12],并在許多機器學(xué)習和數(shù)據(jù)挖掘挑戰(zhàn)中得到廣泛認可[13]。
在采用機器學(xué)習挖掘辨別是否為氣陰兩虛型咳嗽的重要證候時,采用隨機森林結(jié)合XGBoost算法進行特征提取。但是,隨機森林、XGBoost均無法得出指標的方向性影響[14],將兩種算法所得的重要證候特征,再次使用logistic回歸模型進行建模。由此,可得到由多模型組合而成,用于輔助學(xué)習中醫(yī)辨證及診斷的新模型,命名為多層學(xué)習聯(lián)合建模方法。
2.多層學(xué)習聯(lián)合建模方法的運用
將經(jīng)過預(yù)處理的數(shù)據(jù)輸入Anaconda 3-5.2.0軟件,刪除決定性單一輸入后,可將210個證候特征縮減至63個,再經(jīng)隨機森林及XGBoost算法的運算,最終根據(jù)權(quán)重的高低排序,截取經(jīng)兩種算法運算后,各自所得結(jié)果的前35個證候特征及其相應(yīng)的權(quán)重值。所得的兩組證候特征結(jié)果中,具有29個重合變量。將此29個證候特征再次采用logistic回歸算法進行建模,最終得到辨別氣陰兩虛型咳嗽的重要證候特征。同時采用10折交叉驗證法,對算法進行準確性評估。(見圖1)
圖1 多層學(xué)習聯(lián)合建模方法流程圖
表1和表2分別為經(jīng)隨機森林、XGBoost算法所得氣陰兩虛型咳嗽證候的前35個重要證候。表3為重合的29個證候經(jīng)logistic回歸算法后所得結(jié)果,所得權(quán)重為正值的變量,歸屬為氣陰兩虛型咳嗽的重要辨證證候;所得權(quán)重為負值的變量,歸屬為非氣陰兩虛型咳嗽的重要辨證證候。
因此,經(jīng)多層學(xué)習聯(lián)合建模方法運算后,最終得出判定咳嗽屬氣陰兩虛型證型的重要證候有嗆咳、乏力、口干、氣急、反復(fù)咳嗽、咽中痰少、痰色白、自汗、盜汗、頭暈、裂紋舌、薄苔或少苔、燥苔、脈弱、脈弦(圖2)。經(jīng)10折交叉驗證法,得出XGBoost準確度為86.7%,隨機森林為85.3%。
表1 基于隨機森林所得氣陰兩虛型咳嗽證候的重要性排序
表2 基于XGBoost所得氣陰兩虛型咳嗽證候的重要性排序
表3 基于logistic回歸模型所得氣陰兩虛型咳嗽證候的結(jié)果
圖2 辨證氣陰兩虛型咳嗽的重要證候
1.多層學(xué)習聯(lián)合建模方法所得證候與中醫(yī)相關(guān)理論探討
通過多層學(xué)習聯(lián)合建模方法所得出的氣陰兩虛型咳嗽的重要證候結(jié)果,與臨床文獻報道[15-18]及《中醫(yī)病證診斷療效標準》[19]記載的證候特征大致相同,主要為乏力、口干、反復(fù)咳嗽、自汗、盜汗、痰少色白、舌紅、苔薄或苔少、苔干燥、脈弱、脈弦。在此基礎(chǔ)上,本研究尚且發(fā)現(xiàn)嗆咳、氣急、裂紋舌亦為氣陰兩虛型咳嗽的表現(xiàn)證候。
2.多層學(xué)習聯(lián)合建模方法的優(yōu)勢
在機器學(xué)習中,由于隨機森林在每次劃分時,考慮的屬性較少,因而該算法在大型數(shù)據(jù)庫上更為有效,但對于小樣本,其準確度有所下降[11]。而XGBoost對于小樣本的特征提取,效果明顯優(yōu)于隨機森林、支持向量機、logistic回歸等算法[20]。本研究采用隨機森林聯(lián)合XGBoost算法,找其重疊證候,既能彌補隨機森林對于小樣本的準確率較低的缺陷,又可進一步提升XGBoost結(jié)果的準確性,從而得出較為滿意的證候特征結(jié)果。此外,在數(shù)據(jù)維度較大的前提下,僅采用logistic回歸算法,會使得一些對辨證影響較大的相關(guān)證候被丟失,而影響較小的證候反而得到意義[21],故通過隨機森林和XGBoost降維,可剔除相關(guān)性較小的證候,彌補logistic回歸算法的不足。
綜上所述,本研究所采取的多層學(xué)習聯(lián)合建模方法,具有以下特征:為3個模型聯(lián)合使用的多模型算法;可輔助中醫(yī)學(xué)者學(xué)習,研究臨床疾病的辨證及診斷;能在臨床疾病樣本較少,維度較大的情況下,確保較高的準確性。因此,該方法用于挖掘中醫(yī)疾病證型的重要證候特征值得推廣。
3.多層學(xué)習聯(lián)合建模方法的展望。
該方法雖能確保較好的準確度,但可能仍存在一些對辨證影響較小的證候被提取。因此,在解決該問題時,可考慮優(yōu)化此模型結(jié)構(gòu),經(jīng)logisitic回歸算法后得出的證候,再經(jīng)專業(yè)人士判定,得出最終較為滿意的結(jié)果,即采用人機互助的模式,以減弱機器學(xué)習刻板化的缺點,增強該模型的靈活性,進一步提升結(jié)果的準確性。