廖華龍,曾小茜,李華鳳,于洋,趙燦,陳宇△
(1.四川大學 生物力學工程省重點實驗室,成都 610065;2.四川大學華西醫院 華西大數據中心,成都 610041;3.四川大學華西第二醫院麻醉科,成都 610041;4.四川大學華西醫院腎臟內科,成都 610041)
機器學習作為數據挖掘的主要工具之一,被用于醫療領域[1]。機器學習通過對患者現有的醫療檢測或調查得到的數據進行學習,建立風險模型,常用于預測疾病,診斷疾病嚴重程度以及評估疾病預后等[2]。本文闡述了機器學習的定義、分類以及主要的幾類算法原理,并以機器學習在預測心血管疾病、糖尿病、腎病、腫瘤、妊娠期疾病的應用為例,從數據特征選擇、算法和準確性等方面闡述了機器學習用于疾病預測的特點和效果。本文不涉及醫學圖像的深度學習算法。
機器學習是一種能自動構建出數據模型并用來處理數據之間復雜關系的技術[3]。它使用計算機模擬人類學習行為,通過學習現有數據或圖像(特征),再根據分類或者回歸的任務要求來發現規律,從而獲取新經驗與新知識,提升性能,實現自我完善。
機器學習根據是否有人為標記數據分為監督學習和無監督學習。監督學習是用具有分類標簽的數據作為現有知識,通過帶有標簽的數據進行模型訓練,并將訓練好的模型用來預測新數據的標簽結果。無監督學習是用于處理不具有分類標簽的數據,通過尋求數據間的內在關聯和規律,發現樣本數據潛在的結構特征。另外還有針對學習只有少量帶有標簽的數據而衍生出的半監督學習[4]。
K近鄰是一種原理較為簡單的機器學習算法。對于給定測試樣本,該算法基于距離度量找出訓練集中與其最靠近的k個訓練樣本,然后根據這k個訓練樣本(鄰居)的信息來進行預測[5]。
樸素貝葉斯法是一種基于貝葉斯定理的分類方法。對于給定的訓練數據集,其首先基于特征條件獨立假設學習輸入輸出的聯合分布概率P(x|y);然后基于此模型,對給定的輸入x,再利用貝葉斯定理求出其后驗概率最大的輸出y。樸素貝葉斯數學表達見式(1)。
(1)
邏輯回歸模型可看作是一個被Sigmoid函數歸一化后的廣義線性回歸模型,用一條直線區分不同類別的數據,用于分類任務。
支持向量機把線性不可分數據通過映射函數φ投射到高維空間,使特征在該空間變得線性可分,再用一個最大邊界間隔超平面對特征進行劃分[6]。
基于訓練集的特征,決策樹模型通過提出一系列的問題條件來推斷樣本的分類標簽。決策樹的建立過程是從根節點(第一個選擇點)開始,逐步通過非葉子節點的分支走到葉子節點(最終的決策結果),最終所有的數據都會落到葉子節點。
集成學習算法思想是使用弱分類器和多個樣本來構建一個強分類器,改善學習效果。集成的樹模型包括隨機森林、adaptive boosting(AdaBoost)、gradient boosting decision tree(GBDT)、light gradient boosting machine(LightGBM)和XGboost等。
隨機森林是以決策樹為基礎學習器,集成多個決策樹的結果,在bagging算法的基礎上進行了改動而演化過來的[7]。bagging算法是在原始的數據集上采用有放回的隨機取樣方式來抽取m個子樣本,從而利用這些子樣本訓練m個基礎學習器,降低模型的方差。在此基礎上,隨機森林還在訓練每個基學習器的時候,隨機地選取k個特征,從這些特征中選擇最優特征來切分節點,從而進一步降低模型的方差。
除了bagging算法之外,boosting也是一種可將弱學習器提升為強學習器的算法,屬于集成學習的范疇。其中比較有代表性的是AdaBoost,它會對訓練數據集中的每個樣本進行訓練,并賦予每個樣本一個權重。最初這些樣本的初始權重相同,然后AdaBoost通過訓練數據得出一個弱分類器并計算其錯誤率,接著在相同的訓練數據上,再次訓練弱分類器。在弱分類器的第二次訓練過程中,每個樣本的權重會重新得到調整。AdaBoost對第一次訓練分類正確的樣本降低其權重,分類錯誤的樣本提高其權重。AdaBoost不斷對弱分類器進行訓練迭代,最終綜合所有弱分類器得到結果。
在使用與Adaboost相同的boosting算法的基礎上,GBDT用Gradient Boosting的策略訓練出樹模型,是一個基于迭代累加的決策樹算法。它構造一組弱學習器(決策樹),把多棵決策樹的結果累加起來,作為最終的預測輸出[8]。在GBDT的基礎上,LightGBM是一個實現GBDT算法的框架,支持高效率的并行訓練,擁有更快的訓練速度和更高的準確率等優勢[9]。另外,還有學者對GBDT算法進行改進,提出了一種高效靈活,并且可移植性強的最優分布式決策梯度提升庫XGBoost[10]。
人工神經網絡是模擬人腦神經元結構進行信息處理的一種數學模型。神經網絡中的每個神經元接收大量的輸入信號,執行輸入的加權,通過非線性激活函數產生激活響應,并對隨后連接的神經元傳遞輸出信號[11]。還可以設置多個產生激活響應的隱藏層神經元,使其成為多層神經網絡。在此基礎上進行改進,其又可演變成為深度學習,常用的深度學習算法包括卷積神經網絡、深度神經網絡與遞歸神經網絡,在醫療領域中主要用來進行疾病診斷和醫學影像的分析等。
心血管疾病是中老年人的常見病。2017年,國內心血管疾病死亡率高達40%,已成為我國重大的公共衛生問題[12]。因此,提前預測心血管疾病并積極干預疾病的發生發展,具有重要意義。采用機器學習的方法對心血管疾病進行預測是一種經濟、安全、可行的途徑。
機器學習在預測心血管疾病方面已得到較多應用,目前相關的預測手段已經較為成熟。Ambale等[13]收集了6 814名來自多民族動脈粥樣硬化的數據,用隨機生存森林算法預測包括中風、冠心病、心房顫動和心力衰竭等事件的發生,發現隨機生存森林算法比已建立的心血管風險評分體系更好,預測準確度更高。因為樹模型是通過數據的二元遞歸分割來生長的,在每次生長分支時,模型會選擇一個候選變量,讓該變量最大化子節點之間累積危險的差異。數據不能再分割時即停止生長,使得每個終端節點至少有一個唯一的結果,這樣層層分支下來能夠很好地進行分類。集成的隨機生存森林綜合了每個樹模型的分類預測結果,精確度得到了提高。隨機生存森林在其他相關研究中的效果也已得到驗證[13]。同時隨機生存森林預測模型還發現了可能的患病危險因素,例如空腹血糖水平升高是中風最重要的危險因素,動脈粥樣硬化綜合指標是冠心病最重要的預測指標之一。另外,左室局部壁厚增加(心肌肥大)、射血分數降低和主動脈橫截面積增加等也是冠心病的其他主要預測因素。國內也有針對心血管疾病預測方面的研究。劉宇等[14]收集了來自300例患者的10 000個健康數據,包括年齡、性別、胸部疼痛、血壓、膽固醇等14個變量,再使用K聚類和XGBoost來預測心臟病的發生。結果表明,該預測模型的準確率超過了0.8,并顯示出對患心臟病的影響較為顯著的四個變量分別是:年齡、膽固醇、最大心跳和運動后比較心壓。相比于支持向量機和隨機森林,該預測模型的用時最少,是一種有效預測心臟病的方法。
陳偉偉等[12]預測2017年心血管疾病患病人數高達2.9億。隨著機器學習使用數據量的增加,相比與其他機器學習算法,適合處理大量數據的神經網絡表現出其優勢。Weng等[15]收集了378 256名英國家庭實踐患者的常規臨床數據(受試者初期沒有心血管疾病),數據包括完整的八個核心變量(性別、年齡、吸煙狀況、收縮壓、血壓治療、總膽固醇、高密度脂蛋白膽固醇和糖尿病),另外還加入了22項可能與心血管疾病有關的變量。團隊成員采用用隨機森林、邏輯回歸、梯度增強機(gradient boosting Machine,GBM)和神經網絡四種機器學習算法來預測心血管疾病的發生風險。機器學習確定了以前的風險預測工具未發現的其他潛在風險因素,包括慢性阻塞性肺病、嚴重精神疾病以及甘油三酯水平等。這些潛在發病因素在之后可以納入預測心血管疾病的模型中,進一步提高預測準確率。同時,與已建立的風險預測模型(美國心臟協會/美國心臟病學院基線模型)相比,四種機器學習算法的表現更好,其中神經網絡的效果最好。
糖尿病對人群健康產生巨大危害,消耗大量醫療資源。利用適合大范圍使用的糖尿病監測系統,尋找有效的早期檢測手段,做到糖尿病的早發現、早診斷和早治療,以延緩或防止糖尿病及其并發癥的發生與發展,能減少患者患病痛苦和醫療負擔,提高社會人群健康水平[16]。機器學習可通過學習患者的臨床檢測資料數據,來對患者是否會發展成為糖尿病進行預測,從而給醫生和患者提供參考和建議,有望建立相應的疾病監測系統。Lee等[17]收集了11 937名受試者的個體人體測量和甘油三酯等數據,用樸素貝葉斯和邏輯回歸來預測2型糖尿病的發生,找到了理想的預測因子:針對男性的是腰臀比加甘油三酯的組合,針對女性的是肋臀比加甘油三酯的組合。研究結果顯示出了這些預測因子可以組合預測2型糖尿病的趨勢。
在采用基本的體征測量數據以及甘油三酯數據進行預測的基礎上,選取更多的特征數據后,機器學習預測的效果也許會有所提升。Alghamdi等[18]用三棵不同的決策樹(樸素貝葉斯樹、隨機森林和邏輯模型樹)來學習具有13個特征屬性的32 555名無任何已知冠狀動脈疾病或心力衰竭的患者的數據,從而預測糖尿病的發生。模型有著高預測準確度,顯示了利用心肺健康數據配合機器學習算法預測糖尿病發病率的優勢。特征數據中年齡和恢復心率有最大的信息增益值,說明它們對預測疾病有著最重要的作用。如果在機器學習模型的特征中加入包含血糖類的數據,預測的可靠性還能進一步提高。Ijaz等[19]使用基于隨機森林的混合模型來預測403位患者發生2型糖尿病的可能性,特征篩選保留了9個特征,其中穩定血糖有最大的信息增益值,即對預測2型糖尿病的貢獻最大。混合模型使用這9個特征數據進行預測的結果精度比較高,與其他二分類算法預測糖尿病的模型(支持向量機、多層神經網絡、邏輯回歸和樸素貝葉斯)相比,具有更理想的預測效果。Zou等[20]從體檢數據中抽取68 994名健康人和糖尿病患者資料作為訓練集,數據集包括年齡、脈搏、收縮壓舒張壓以及空腹血糖等14項體檢指標,再用決策樹、隨機森林和神經網絡來預測糖尿病。結果表明,隨機森林預測效果更好,而且僅使用空腹血糖指標即可達到較高的準確度,說明空腹血糖是預測模型最重要的一個特征指標。以往的研究說明,樹類模型(決策樹,集成的樹模型)對糖尿病預測較為有效,預測結果也比常規方法更好。在醫院臨床中實際預測糖尿病時,考慮以樹類模型作為基礎算法也許能達到理想的效果。
腎病中比較常見的是急性腎損傷。急性腎損傷的流行病學數據差異大,發病率和死亡率比較高[21]。急性腎損傷早期癥狀隱匿,可能被原發疾病所掩蓋。近年有報道表明,某些生物標志物與急性腎損傷相關,其中以血清肌酐為主[22]。通過采集和學習患者的相關生物指標數據,機器學習能對急性腎損傷進行精準的早期預測。Kate等[23]收集了某大型醫療系統25 521位60歲及以上患者的資料,包括患者的人口統計學信息12項、共病14項、藥物使用12項和實驗室測定值9項,以此作為變量特征,用邏輯回歸、支持向量機、決策樹和樸素貝葉斯預測急性腎損傷。結果表明,邏輯回歸的效果好于其他方法,但所有模型結果都較差,只顯示了可以預測的趨勢,還未直接用于臨床預測。之后Koyner等[24]采用梯度增強機來學習121 158名患者的數據,希望預測急性腎損傷的發生風險。模型中使用的預測因素特征變量包括人口統計學、生命體征、常規實驗室檢查結果和生命體征等。梯度增強機發現其中血清肌酐的變化對預測結果的影響最大,該結果也與文獻[22]得到的血清肌酐是臨床診斷急性腎損傷金標準的結果相符合。該模型最終達到了比較好的預測效果,說明其可以對急性腎損傷高危人群進行早期預測。另外,張淵等[25]從公開的ICU醫學信息數據庫中提取了1 166例患者數據作為機器學習的數據集(其中有884例患者發展為急性腎損傷),用LightGBM預測ICU患者發生急性腎損傷,納入患者33項生理生化指標進行預測模型的構建,預測效果非常好。研究也得出了LightGBM特征重要性排名前10位的特征,分別是液體入量、紅細胞比容、患者進行了機械通氣、動脈氧分壓、乳酸、體溫、動脈血pH、心肌肌鈣蛋白、血小板計數、凝血酶原時間,其中對預測結果幫助最大的是液體入量。將模型結果與邏輯回歸和隨機森林的結果對比發現,LightGBM模型對急性腎損傷的預測效果最好。LightGBM與算法原理簡單的邏輯回歸相比,更適合于處理體量大、維度高的數據。并且LightGBM在樹模型的基礎上增加了一些提升算法,包括采用leaf-wise的分裂方式對樹模型進一步優化等[9],從理論和實踐上提升了性能。基于重癥患者的多項生理生化指標數據,機器學習模型預測急性腎損傷可以達到很好的效果,能幫助識別有風險的受試者并實施預防策略,或者幫助醫生根據預測結果來管理患者,為臨床決策提供輔助支持。
急性腎損傷如果未得到及時控制,可能會發展為慢性腎臟疾病。近年來慢性腎臟病的患病率逐年上升。有研究顯示,18歲以上人群慢性腎臟病的患病率已經超過10%[26]。若通過機器學習從早期體檢資料和實驗室檢查報告中找到慢性腎病患者的發病規律,即可對疾病進行早期檢查,做到及時干預。用于數據挖掘的機器學習可能成為一個有效的腎病預測工具。2018年Abdelaziz等[27]結合線性回歸和神經網絡兩種方法構建了混合預測模型,對慢性腎臟疾病進行診斷與預測,經過特征篩選后找出了13項與慢性腎臟疾病的發生相關的關鍵因素,包括年齡,血壓,隨機血糖,白細胞計數等。用這13項特征數據構建模型,模型預測慢性腎臟病的準確率達95%以上,預測效果優于其他研究者構建的預測模型。
據估計,我國2013年新發惡性腫瘤病例約368.2萬例,死亡病例222.9萬例[28]。目前早檢測、早預防、早治療是防治腫瘤、改善預后的重要途徑,利用機器學習對早期預測腫瘤具有重要意義。Huang等[29]采用多種支持向量機及其組合來預測乳腺癌的發生,并且針對不同規模的數據集(一個小規模數據集含有699條11維數據,另一個大規模數據集含有102 294條117維數據)和是否進行特征選擇的不同情況,找出了最適合的支持向量機算法,預測準確率都非常高,可見使用機器學習預測乳腺癌的技術已經較為成熟。
腫瘤診斷的直接證據是病理檢查發現細胞發生了異常增生,在患者的臨床生理指標數據基礎上,學習細胞的特征數據可提升機器學習預測腫瘤的精度。2019年苗立志等[30]通過隨機森林學習683條威斯康星臨床科學中心原始數據(數據包含了細胞核特征的10個屬性),使用這10個屬性進行模型訓練后,發現所建立的預測模型精度非常高。他們同時還通過計算各個屬性與致病性(患病)的相關度,發現細胞核周長、灰度值的標準差、輪廓凹面部分的數目與乳腺癌的發展密切相關,可將其作為乳腺癌預后評估的重要指標。細胞核周長、紋理組織和凹點對于乳腺癌的致病性具有較好的特征表述,可用于乳腺癌的診斷與發病規律研究。通過分析乳腺細胞核的特征變量的方法,可在很大程度上降低醫患雙方的醫療成本,提高醫院的工作效率。
除了乳腺癌以外,機器學習還可以通過學習基因表達數據來預測其他腫瘤。肺癌是常見的惡性腫瘤[28],目前也有將機器學習應用于肺癌的研究。冷菲等[31]收集了474例肺腺癌樣本和491例肺鱗癌樣本的數據,使用XGBoost學習1 099個差異表達的mRNA數據,希望對肺癌亞型肺鱗狀細胞癌(肺鱗癌)和肺腺癌進行預測。XGBoost表現出了非常高的預測精度和良好的穩定性,優于邏輯回歸和支持向量機,為肺鱗癌和肺腺癌的早期診斷和治療提供了試驗依據,同時機器學習也找到了對建立預測模型的貢獻率排名前三的mRNA。
因為腫瘤的發病機理與其他疾病不同,是在致癌因素的作用下細胞的基因發生了改變,導致細胞產生異常增殖。使用機器學習算法來預測癌癥時,以細胞或者基因層面的數據為主來進行學習和預測為主,或許能改善預測效果,甚至找出與癌癥發生有關的病變細胞或者基因,幫助醫生對患者進行診治。
目前研究較多的妊娠期疾病是妊娠期高血壓類疾病,妊娠期高血壓又可劃分為子癇、妊娠合并慢性高血壓、慢性高血壓并發子癇前期。妊娠期高血壓嚴重危害母嬰身體健康,是孕產婦和產兒死亡的主要原因之一。如果能用機器學習來確定妊娠期高血壓疾病的高危因素,提前對妊娠期疾病進行預測,進而及時進行疾病的早期干預診斷和治療,可能會幫助改善母嬰結局。Poon等[32]總結之前的研究發現大多數在懷孕11到13周發展為先兆子癇的孕婦,其平均動脈壓、子宮動脈搏動指數、母體血清中胎盤因子妊娠相關血漿蛋白-a,以及胎盤生長因子濃度發生了明顯變化,研究團隊收集了7 797條包含這四種指標的單胎妊娠數據,希望用邏輯回歸學習孕婦的這四種特征數據,來預測先兆子癇(preeclampsia,PE)的早期和晚期以及妊娠高血壓。結果早期先兆子癇的的預測精度非常高,然而PE晚期對應的預測效果比較差,妊娠高血壓的效果最差。該項研究采用的是發生先兆子癇的四種明顯變化的母體特征數據,能很好地預測先兆子癇早期。但是對于先兆子癇晚期和妊娠高血壓,目前還需要篩查其他的特征數據來進行學習,找出對預測晚期先兆子癇和妊娠高血壓最有幫助的一項或者幾項數據指標。另外,在預測妊娠期疾病方面,少有研究驗證和對比多種機器學習模型的效果和作用,常見的簡單分類算法也許并未達到理想的預測效果,因此,還需要進一步研究。
除了以上幾類疾病之外,機器學習在其他一些疾病的預測中也有涉及,并且取得了較好的效果。例如非綜合征性唇裂伴或不伴腭裂是一種多因素、部分遺傳的先天性疾病,涉及多個基因和遺傳與環境的復雜相互作用。Zhang等[33]發現該病在國內的發病率超過了世界平均水平,于是收集了587名對照組和非綜合征性唇裂伴或不伴腭裂嬰兒的血液樣本數據,希望結合43個單核苷酸多組合形式與機器學習來建立預測模型幫助預測疾病。他們對比了支持向量機、邏輯回歸、樸素貝葉斯、隨機森林、K近鄰、決策樹以及人工神經網絡的效果,最后發現邏輯回歸預測新生兒發病的效果最好,并且找出了可能與發病相關的基因。
除了可以預測單個疾病之外,機器學習還能對病人的整體健康狀況進行預測,判斷病人是否患病以及最可能患什么病。Miotto等[34]采用一種新的無監督深度特征學習方法對76 214名受試者進行評估,以期預測個體的整體健康狀況水平,發現該模型對嚴重糖尿病、精神分裂癥和各種腫瘤的預測效果較好,為臨床決策系統提供了一個很好的框架。
另外,如果患者已經發病,機器學習還能對患者疾病的發展趨勢進行預測。Shah等[35]收集了一年期慢性阻塞性肺病臨床試驗的110例患者的資料數據,用邏輯回歸預測慢性阻塞性肺疾病發生惡化的概率。結果邏輯回歸預測該疾病加劇的效果較好,同時還發現了脈搏率、血氧飽和度和呼吸頻率這三項生命體征,均能預測慢性阻塞性肺病加劇,將這些生命體征與基于機器學習的魯棒算法相結合則可以進一步提高預測精度。此外,Finkelstein收集了成人哮喘患者在家庭遠程監測期間提交的7 001份記錄數據,包括呼吸癥狀、哮喘引起的睡眠障礙、體力活動受限、感冒和藥物使用等信息,采用樸素貝葉斯、自適應貝葉斯網絡和支持向量機預測哮喘惡化,結果自適應貝葉斯網絡的預測準確率非常高[28]。
機器學習方法較多,可以僅通過學習患者的臨床檢測數據或監測記錄數據來預測疾病的發生風險,幫助醫生對患者的疾病進行提前干預和治療,減少患病風險,降低醫療成本,對疾病防控具有重要意義。機器學習還能發現對患病有巨大影響的潛在特征指標項,為疾病的診斷和治療提供新的依據。但是,不同的機器學習算法具有各自適宜預測的疾病,在實際應用時,需要找到最適合預測某種疾病的對應算法。
致謝
科技部國家重點研發計劃項目(2018YFC2001805),四川大學華西醫院“十三五”高端人才計劃項目(ZYGD18027)。