原標題:機器學習算法在疾病風險預測中的應用

機器學習(machine learning,ML)方法作爲人工智能方法的分支,利用計算機系統以算法和統計模型實現預測或決策任務,能爲醫學科學的進步提供極大的可能性。尤其是隨着“健康中國2030”[2]的提出,疾病零級預防顯得愈發重要,同時,居民對於個體健康管理服務的需求也在迅速增加,這催生了疾病風險預測的需求。機器學習因其方法學優勢,在疾病風險預測領域發揮着越來越重要的作用。

2018年8月,教育部、財政部和國家發展改革委員會印發的《關於高等學校加快“雙一流”建設的指導意見》[1]明確提出,要加強學科協同交叉融合。爲響應學科交叉融合,“醫工融合”概念的提出推動了醫學與工程學、生物學的融合與應用,實現了不同學科的優勢互補。

ML是通過研究算法和統計模型,讓計算機系統使用這些算法和統計模型,依靠模式和推理來執行特定的任務,而不使用明確指令的一種方法。機器學習能基於樣本數據建立數學模型,以便在沒有被明確編程的情況下作出預測或決策[3]。ML與醫學的融合爲疾病的預防和治療帶來了諸多便利,如China-PAR模型可以評估心血管疾病的10年風險和終生風險,爲我國心血管疾病的一級預防提供了實用性評估工具[4]。在疾病風險預測領域,研究人員運用多種ML算法對不同疾病風險進行了預測,例如,使用支持向量機來檢測糖尿病前期和糖尿病患者[5],利用多種深度神經網絡模型預測宮內生長發育遲緩[6],應用隨機森林算法對體格檢查人羣的糖尿病患病風險進行預測[7]。但是,對於不同類型的ML算法如何在疾病風險預測中精確應用,不同算法的適用條件如何,不同算法的精準度如何,尚缺乏相關研究。

現對ML方法在疾病風險預測中的前沿應用進行綜述,以期爲更合理地應用ML方法預測疾病風險提供方法學支持。

1 適合疾病風險預測的ML算法

ML的核心是ML算法,主要有3種學習方式:①監督學習,基於先前的示例調整預測算法,使再次輸入時預測的結果儘量接近示例的輸出值[8];②無監督學習,不給出輸出值,訓練系統對數據底層結構建模;③強化學習,使用獎罰序列,在試錯中形成在特定問題空間中行動的策略[9]。ML通過監督學習算法如支持向量機(support vector machine,SVM)、貝葉斯學習、決策樹、迴歸等,無監督學習算法如k均值聚類,關聯規則學習等,強化學習算法如Q-learning、SARSA等,以及神經網絡等特殊算法實現[10]。目前,疾病風險預測的量化識別技術的主要思路是將疾病風險問題轉化爲統計中的分類問題,然後採用對應的模型進行處理。基於文獻研究、應用實例和方法學特徵,現概述最普遍應用於疾病風險預測並具有較好效果的算法[11]包括SVM、BP(back propagation)神經網絡、隨機森林和樸素貝葉斯。

1.1 SVM

SVM是一種監督學習算法,是數據驅動的、無模型的,具有強大的分類鑑別能力。SVM算法通過構造一個(n-1)維的分離超平面來區分n維空間中的2個類,該超平面把輸入數據轉換到高維空間,生成一個n維向量,並且最大化2個數據組之間的餘量來對不同類別進行最優分離。正是因其適用於小數量樣本數據,可以解決高維問題等優點,近來SVM越來越多地被用於疾病監測,並且在解決生物信息學中的分類問題方面表現出色。

1.2 BP神經網絡

人工神經網絡(artificial neural network,ANN)是一種特殊的ML算法,由大量的節點相互連接構成。每個節點代表一種特定的輸出函數,稱爲激活函數。每2個節點間的連接都代表一個對於通過該連接信號的加權值,稱爲權重,這相當於人工神經網絡的記憶。網絡的輸出則依據網絡的連接方式、權重值和激活函數的不同而不同。BP神經網絡算法是根據誤差反向傳播算法訓練的多層前饋網絡,是應用最廣泛的人工神經網絡模型之一。BP神經網絡可以用來學習和存儲大量的輸入輸出模型的映射關係,且不需要事先揭示描述這些映射關係的數學方程。其學習規則是採用最速下降法,利用反向傳播來調節網絡的權值和閾值,以達到誤差平方和最小[12]。BP神經網絡具有並行處理方式、自組織、自學習能力、聯想記憶和容錯等能力,尤其在疾病的早期預防、診斷和預後評估等方面可起到專家系統的作用[13]。

1.3 隨機森林

隨機森林是屬於監督學習中的集成學習算法,其實質是一個包含許多隨機生成的決策樹的集成分類器,將若干個弱(基)分類器組合起來,得到一個分類性能顯著優越的強分類器[14]。隨機森林算法需要決策樹之間有較大的差異性且沒有任何關聯,如果各弱分類器之間沒有強依賴關係、可並行生成,就可以使用隨機森林算法[15]。隨機森林利用自主抽樣法從原數據抽取多個樣本,對抽取的樣本先用弱分類器——決策樹進行訓練,然後把這些決策樹組合在一起,通過投票得出最終的分類或預測結果。隨機森林的基分類器可以用到許多算法,比如CART決策樹、基於核函數的極限學習機(kernelized extreme learning machine,KELM)、BP神經網絡、SVM等。由於引入隨機樣本和隨機特徵,隨機森林不容易過擬合,並且具有一定的抗噪聲能力。因採用了集成算法,具備準確率高等優點,該方法被廣泛應用於醫學、管理學、經濟學等領域。

1.4 樸素貝葉斯

樸素貝葉斯建立在貝葉斯決策理論和貝葉斯網絡的基礎上[16],是一種被廣泛應用的ML算法,屬於監督學習[17]。算法主要分爲2個階段:第一階段,對實驗樣本進行分類,分別計算不同條件下的概率;第二階段,輸入測試樣本,計算不同條件的概率,比較其概率大小,從而完成對測試樣本的分類。樸素貝葉斯算法假定屬性之間相互獨立,這使分類算法的邏輯變得簡單。樸素貝葉斯算法具有對缺失數據不太敏感,分類效率穩定和能夠處理多分類任務等優點,在處理文本數據時可以得到較好的分類結果,因此,被廣泛應用於文本分類和自然語言處理等場景。

2 ML算法在疾病風險預測中的應用

2.1 SVM在多種疾病風險的預測中表現優異

SVM算法被廣泛應用於多種疾病的風險預測,且表現優異。有學者[18]使用SVM算法構建了肝硬化分類模型,得到模型的正確率高達82.0%~98.8%。Ashfag等[19]分別使用SVM和隨機森林來研究比較癌症、肝臟和心臟疾病數據集,通過選擇適當的參數來優化不同內核的結果,以建立更好的預測學習方法。這一研究發現,用SVM徑向基函數的觀察結果比SVM其他參數組要好得多,並且與隨機森林技術相當。在腎臟疾病風險預測方面,Vijayarani等[20]分別使用SVM和ANN來分類4種腎臟疾病。SVM方法的準確率高達76.32%,並且處理時間相比ANN縮短一半以上。

2.2 BP神經網絡尤其適用於預測心血管疾病

BP神經網絡適合預測心血管疾病。在心血管疾病的基礎上,運用特徵選擇技術,選擇7種與心血管疾病相關程度高的指標數據,並將這些數椐進行歸一化處理,從而使用BP神經網絡算法創建心血管疾病預測模型。該BP神經網絡預測模型的準確率接近90%,並且優於SVM[21]。考慮到BP神經網絡及其改進算法具有強大的分類與預測功能,研究人員還利用其開發出針對於老年人羣缺血性心血管病發病風險的預警模型,用以解決老年人羣缺血性心血管病早期預警的關鍵問題[22]。在冠狀動脈粥樣硬化性心臟病的中醫藥診療方面,有學者[23]以MATLAB構建了BP神經網絡模型,用於疾病的中醫證候。

2.3 隨機森林可應用於預測多種疾病風險和比較算法

隨機森林算法可用於預測多種疾病風險。爲預測糖尿病的概率,隨機森林算法被應用於構建出一個功能相對完善的糖尿病預警系統[24]。基於肝硬化患者的臨牀病歷數據,構建了肝硬化患者上消化道出血的隨機森林預測模型,用來識別可能發生上消化道出血的肝硬化患者,儘早實施干預以降低肝硬化上消化道出血的發生率及致死率[25]。在與其他算法的比較研究中,研究人員分別用邏輯迴歸、決策樹和隨機森林算法建立模型來預測心血管疾病,使用錯誤率、F1分數、藥-時曲線下面積(area under the curve,AUC)值對模型進行評估,發現隨機森林模型的預測效果優於邏輯迴歸和決策樹[26]。在冠狀動脈狹窄早期風險識別模型中,隨機森林算法的綜合性能相比logistic迴歸和BP神經網絡更強[27]。

2.4 樸素貝葉斯及其改進算法廣泛應用於疾病風險預測

樸素貝葉斯算法被廣泛應用於對肝臟疾病、代謝綜合徵、中醫疾病等的預測。在原發性肝癌預後的預測中,樸素貝葉斯算法通過若干屬性取值預測患者手術後的存活期[28]。在肝臟疾病的分類中,其表現相比於函數式程序設計(functional programming,FP)增長算法更好。高聿琛等[29]研究發現,代謝綜合徵患病風險的預測中,在納入12項體格檢查指標後,貝葉斯模型平均法的最佳靈敏度和特異度分別爲70.8%和81.1%,AUC值爲0.824 6。此外,基於雲框架實現的改進貝葉斯算法可以進行中醫疾病預測,使得樣本集的處理效率和疾病分類的準確率顯著提高[30]。

3 ML算法的特徵比較及其在疾病風險預測中的應用啓示

上述4種算法在疾病風險預測中都具有較廣泛的應用性,並且其精準度、靈敏度和適應性在不同疾病風險預測中各有差異。要實現不同ML算法在各類疾病風險預測中的最佳效果,需充分掌握不同算法的適用條件、優勢和缺陷等特徵。

3.1 SVM算法適用於訓練集樣本量小、變量多的疾病風險預測

SVM算法尤其適用於樣本量小、涉及變量多的情況[31]。SVM的最終決策函數只由少數的支持向量所確定,不僅避免了“維數災難”,還能保持較好的“魯棒性”,即最終結果不應受到模型中存在的數據擾動、噪聲及離羣點的太大影響。相比於其他方法,SVM更不容易過擬合。雖然SVM訓練時間可能非常漫長,但非常精確,尤其在模擬複雜的非線性決策邊界的能力方面[32]。SVM算法也具有一些缺陷,對於大規模訓練樣本難以實施,會耗費大量的機器內存和運算時間;經典的SVM算法只給出了二分類的算法,如要解決多分類問題,就要通過多個二類SVM的組合來解決。綜上所述,SVM適用於樣本量較少和(或)涉及多個變量的二分類醫療數據,常用於各種慢性疾病的預測。

3.2 BP神經網絡適用於訓練集樣本量大的疾病風險預測

與SVM不同,BP神經網絡更適用於大樣本量的數據集,其特點如下:①系統在多維輸入數據和輸出數據處理上有優勢;②能夠處理任意複雜的非線性問題,所以非線性映射能力較高;③能夠並行處理信息或數據,提高了數據的處理能力和性能;④具有較強的自適應性;⑤在數據融合方面較好[33]。但是,BP神經網絡也存在一些問題,如:計算結果受初值影響大;系統訓練需要較長的時間;系統訓練不穩定,如果學習速率過大,權值在修正過程中會超出誤差的最小值而永不收斂;算法可能使網絡權值收斂到局部極小解,卻並不是所求爲誤差超平面的全局最小解[34]。BP神經網絡是應用最廣泛的網絡之一,常用於慢性疾病的預警以及重大疾病的後果預測,如癌症的死亡率、複發率、存活率預測等。

3.3 隨機森林適用於訓練集維度高、特徵遺失和數據不平衡的疾病風險預測

隨機森林的性能相比於其他算法通常更好。處理高維數據、特徵遺失數據和不平衡數據,是隨機森林算法的長處。如果有很大一部分的特徵遺失,用隨機森林算法仍然可以維持準確度。對於不平衡的數據集來說,隨機森林算法可以平衡誤差。因爲使用的是無偏估計,隨機森林模型的泛化能力較好[35]。對於小樣本數據或者特徵較少的數據,隨機森林算法的分類能力下降。實驗證明,隨機森林能夠比較好地克服過擬合問題,且在分類和迴歸問題上都能取得較好的效果[36],常用於糖尿病和心血管疾病等慢性疾病的預測。

3.4 樸素貝葉斯適用於訓練集特徵間完全獨立或功能依賴的疾病風險預測

從根本上講,樸素貝葉斯分類器假設一個類的特定特徵的存在與任何其他特徵的存在無關。即使基礎假設不成立,樸素貝葉斯分類器的表現也相當不錯[37]。樸素貝葉斯算法能在2種相反的情況下達到最佳性能,即特徵之間完全獨立或者特徵之間功能依賴[38]。樸素貝葉斯模型有穩定的分類效率,對缺失數據不太敏感,算法也比較簡單;對小規模的數據表現很好,能處理多分類任務,適合增量式訓練[38]。貝葉斯模型可能由於假設的先驗模型導致預測效果不佳,並且對輸入數據的表達形式很敏感。樸素貝葉斯在處理文本數據時可以得到較好的分類結果,因此,多被廣泛應用於需要處理大量文本的肝臟疾病和中醫證候風險預測。

綜上所述,ML方法作爲人工智能方法的分支,能夠基於計算機系統對數據的自我學習,在最小化人爲干預的情況下,作出高精度的預測和決策。ML方法較傳統的統計學方法有着巨大的優勢和良好的發展前景,它依據數據特徵建立合適的模型,並在建模過程中自動學習更正。在疾病風險預測領域,ML方法既可以針對特定疾病進行預測,也可以對羣發性、突發性的流行疾病進行監測預警。只有基於不同ML算法的特徵和適用條件對這些算法更精準地運用,才能通過方法技術的發展,爲疾病風險預測領域帶來變革。

參考文獻

  1. 黃光成, 周良, 石建偉, 等. 機器學習算法在疾病風險預測中的應用與比較[J]. 中國衛生資源, 2020, 23(4): 432-436.

相關文章