?

糖尿病相關預測模型構建的機器學習方法*

2024-01-02 16:25陳長生
中國衛生統計 2023年4期
關鍵詞:準確度機器預測

鄒 瓊 張 楊 萬 毅 陳長生△

糖尿病是以高血糖為特征的一種代謝性疾病,血糖高大多是由胰島素分泌缺陷或其生物作用受損引起,患糖尿病時持續存在的高血糖,會損害各種組織,特別是腦、腎、心臟、神經等[1]。目前,糖尿病是全世界最主要的慢性非傳染性疾病之一[2]。新版糖尿病地圖指出,在全球范圍4.63億糖尿病患者中,有2.319億未診斷,未診斷率為50.1%,其中絕大多數為2型糖尿病患者。中國有超過6500萬糖尿病患者尚未確診,這些患者沒有明顯的糖尿病癥狀,如果不能早發現、及時干預,將增加糖尿病相關并發癥的風險,從而極大地增加糖尿病相關醫療保健費用[3]。在糖尿病相關方面的預測分析研究領域,目前更多的是采用機器學習(machine learning,ML)的方法。

機器學習是一類經典的預測模型,已在慢性病發病風險識別以及危險因素研究中得到了廣泛應用[4]。這是一門研究機器如何適應環境和從示例中學習,并通過模仿人類學習過程來解決各種復雜問題的知識。受醫學神經系統的啟發,機器學習算法在計算機系統上得到了應用和發展,特別適用于大數據分析和多變量之間復雜關系的研究。目前,機器學習方法眾多,有Bagging、Boosting、支持向量機(support vector machines,SVM)、人工神經網絡(artificial neural network,ANN)等。

將機器學習方法應用于糖尿病相關方面的預測可以提高臨床治療效果[5]。根據美國糖尿病協會(The American diabetes association,ADA),診斷糖尿病可基于血糖標準,即:糖化血紅蛋白(≥6.5%)、空腹血糖(≥7.0 mmol/L)、OGTT(2小時值≥11.1 mmol/L)和有典型高血糖或高血糖危重癥狀的患者,隨機血糖≥11.1 mmol/L[6]。這種傳統≥11.1 mmol/L診斷方法既費時又費錢,限制了低收入國家的實際應用。而機器學習方法相比傳統方法,耗時較少,并且幾乎沒有預測成本[7]。利用機器學習算法在現有數據基礎上建立預測模型,不僅能夠為醫學領域提供高效的預測方法,而且能夠直接干預疾病預后的相關因素,以減輕疾病的危害以及減少個人和社會的負擔[8]。

糖尿病相關預測模型分類

預測模型使流行病學和衛生統計學的研究成果更好地與臨床實踐相結合,通過高危篩查、臨床循證指南等方式促進疾病的三級預防,降低疾病的發病率和死亡率[9]。根據使用對象的不同,糖尿病相關的預測模型可分為以下三類:

1.糖尿病發病風險評估模型:它是一種針對健康人(非糖尿病患者)的糖尿病風險預測,主要用于識別糖尿病的高危人群,并對這些人群的糖尿病風險因素進行干預,從而將疾病消滅在萌芽狀態,避免發生糖尿病,屬于一級預防的范疇[10]。這類模型操作簡便,成本低廉,可盡早發現糖尿病高危人群,及時制定防控措施,有效降低糖尿病的發病率或減緩糖尿病的發生,并能一定程度降低衛生負擔[11],具有重大的公共衛生學意義。

2.糖尿病篩查模型:該模型是對社區人群進行糖尿病篩查的工具,指導社區糖尿病篩查,然后對模型檢測到的糖尿病患者進行深入的糖尿病檢測。這類模型的目的是從社區人群中識別患者,從而達到早發現和早治療的目的,屬于二級預防的范疇[10]。

3.糖尿病并發癥預測模型:也稱為糖尿病臨床模型,主要用于預測糖尿病患者未來幾年,甚至是更長的時間內發生某一種或某幾種并發癥的可能性,甚至可以預測并發癥發生的順序,屬二級預防和三級預防的范疇。國外開展該研究較早,有些相關模型已經程序化,形成了預測模型軟件,并可應用在移動終端上,其中最著名的有英國的前瞻性糖尿病研究模型(UK prospective diabetes study model,UKPDS model)和阿基米德糖尿病模型(Archimedes Model)[10]。

機器學習分類

機器學習最早應用于人工智能領域,屬于人工智能的核心,是一種實現人工智能的方法。機器學習是通過“吃大量的數據”來開展“訓練”,并通過各種算法規則學習完成任務的方法。機器學習傳統的算法包括決策樹、聚類、貝葉斯分類、支持向量機、Adaboost等。從學習方法上來分,機器學習算法可分為監督學習(如判別分類問題)、無(非)監督學習(如聚類問題)、半監督學習、強化學習、集成學習和深度學習[12]。

1.有監督學習

在監督學習下,為一組示例或訓練模塊提供正確的輸出,并在這些訓練集的基礎上,通過將其輸出與作為輸入的輸出進行比較,算法學習如何更準確地響應。監督學習也稱為通過示例學習或從示例中學習。監督學習任務可分為分類任務和回歸任務,分類任務時,輸出是離散的,而回歸任務時,輸出是連續的[13]。常見的有監督學習有樸素貝葉斯(naive Bayes,NB)、決策樹(decision tree,DT)、k-近鄰(k-nearest neighbor,KNN)、人工神經網絡(ANN)、支持向量機(SVM)、隨機森林(random forest,RF)、logistic回歸(logistic regression,LR)等。

2.無(非)監督學習

無監督學習方法是從數據中識別未識別的現有模式,以便從中導出規則,適用于數據類別未知的情況。無監督學習的訓練數據沒有標記,被認為是一種基于統計的學習方法,旨在從未標記數據中發現隱藏結構[13]。常見的無監督學習有k-均值聚類、主成分分析、系統聚類、獨立成分分析等。

3.半監督學習

半監督學習是一種學習范式,研究計算機和自然系統(如人類)在有標記和無標記數據的情況下如何學習。半監督學習的目標是了解組合標記和未標記數據如何改變學習行為,并設計利用這種組合的算法。半監督學習在機器學習和數據挖掘中具有重要意義,可在標記數據稀缺或昂貴的情況下使用現成的未標記數據來改進監督學習任務。一些流行的半監督學習模型包括自訓練、混合模型、聯合訓練和多視圖學習、基于圖的方法和半監督支持向量機[14]。

4.強化學習

從不懂到通過不斷學習、總結規律,最終學會的過程便是強化學習。強化學習被認為是一種中間類型的學習,其算法只提供一個反應,告訴輸出是否正確。算法必須探索并排除各種可能性,以獲得正確的輸出。強化學習被認為是與批評家一起學習,其算法不會對問題提出任何建議或解決方案[15]。強化學習算法主要分為兩類:基于價值的算法(value-based)和基于策略的算法(policy-based)。強化學習的常見應用場景包括兩個方面:動態系統和機器人控制[15]。

5.集成學習

集成學習是一個總稱,通常指的是在有監督的機器學習任務中結合多個誘導因素來做出決策的方法。集成方法被認為是許多機器學習方法面臨挑戰的最先進的解決方案,通過訓練多個模型并結合其預測來提高單個模型的預測性能[16]。三種最常見的集成學習分別為Bagging、Boosting和Stacking,可進一步分為兩類:順序集成方法和并行集成方法。順序集成方法是利用基礎學習者之間的依賴性,按順序構建基礎學習者的方法,例如Boosting;并行集成方法是利用基礎學習器之間的彼此獨立性,按并行構建基礎學習器的方法,例如Bagging和隨機森林(Bagging的一個擴展變體)[13]。

6.深度學習

深度學習(deep learning,DL)是一類機器學習技術,利用多層非線性信息處理進行有監督或無監督的特征提取和轉換,以及模式分析和分類[17]。深度學習主要采用人工神經網絡(ANN)來實現,是一種受生物神經系統工作方式啟發而構造出的數學模型。人工神經網絡由人工神經元及其連接構成,人工神經元的工作邏輯可以使用多種線性、非線性數學函數來定義,其作用參數可通過訓練數據學習優化而來。常見的深度神經網絡(deep neural network,DNN)有多層感知機(multi-layer perceptron,MLP)、卷積神經網絡(convolutional neural network,CNN)、循環神經網絡(recurrent neural network,RNN)、深度自編碼器(deep autoencoder,DAE)[18]。

基于機器學習的糖尿病相關預測

鑒于糖尿病控制的重要性,近年來,研究人員探索了各種算法并調整了許多超參數,以獲得最適合現實生活應用的結果。

Dong等[19]采用機器學習方法構建了2型糖尿病患者3年糖尿病腎病風險預測模型,并可用作臨床試驗的篩選工具。文中比較了光梯度提升機(light gradient boosting machine,Light GBM)、極端梯度提升算法(eXtreme gradient boosting,XGBoost)、自適應提升算法(adaptive boosting,AdaBoost)、人工神經網絡、決策樹、支持向量機和logistic回歸這7種機器學習算法的預測性能,結果Light GBM模型的AUC(area under the curve,AUC)最高(0.815),靈敏度為0.741,特異度為0.797,準確度為0.768。在此基礎上,SHAP框架(SHapley additive exPlanation,SHAP)可更好地解釋LightGBM模型結果。

Ihnaini等[20]采用集成深度學習模型和數據融合技術用于糖尿病預測,提出了一種針對糖尿病的智能醫療推薦系統(smart healthcare recommendation system for multidisciplinary diabetes patients,SHRS-M3DP),并使用德國法蘭克福醫院和皮馬印第安人糖尿病數據集進行模擬。同時將所提出的集成深度學習模型與其他分類器(SVM、LR、KNN、NB、RF和DT)進行了預測效果的比較,所提出模型性能最佳,在融合數據集上的準確度99.64%、精確度100%、靈敏度99%。Ihnaini等的系統改進了疾病診斷性能,并主張將其應用于糖尿病患者的自動診斷和推薦系統。

Li等[21]利用中醫舌診與機器學習技術相結合建立一種可用于評估高危重狀態血糖患者的預測模型。為獲得更好的分類效果,選取NB、LR、RF、SVM、XGBoost、ANN、KNN和DT這8種經典機器學習模型,采用Stacking技術進行模型融合,建立了Stacking模型。同時基于Vgg16、Vgg19、DenseNet121、ResNet50、InceptionV3和Xception開發深度學習模型,結果Stacking模型的微觀平均AUROC(area under the receiver operating characteristic curve,AUROC)為0.87,宏觀平均AUROC為0.84,ResNet50模型的微觀平均AUROC為0.83,宏觀平均AUROC為0.82。

Thenappan等[22]為挖掘糖尿病數據,設計了一種高準確度的糖尿病早期預測模型。該研究基于EPCA(enhanced principal component analysis,EPCA)進行特征提取,并采用改進的支持向量機(modified support vector machine,MSVM)對疾病進行預測和分類。同時與已有方法(KNN、DT、RF、LR、MLP、SVM、NB)進行了分類效果比較,從性能分析來看,所提出方法的準確度為97.13%,靈敏度為97.46%,特異度為97.11%,表現更出色。

Gupta等[23]基于皮馬印第安人糖尿病數據集,利用深度學習(DL)中的MLP和量子機器學習(quantum machine learning,QML)分別給出了相應的預測模型。DL模型的準確度0.95,靈敏度0.95,特異度為0.95,結果表明所開發的DL模型具有優勢,并獲得了大多數性能指標的最佳值。

Tan等[24]提出了一種用于糖尿病風險預測的GA-stacking(genetic algorithm-stacking,GA-stacking)集成學習模型。將采用與不采用遺傳算法(GA)的KNN、SVM、LR、NB、CNN和stacking模型在準確度、特異度、靈敏度等指標上進行對比,結果表明加入GA可以提高預測效率,GA-stacking在青島體檢數據集上的平均準確度、靈敏度、特異度分別為85.88%、39.24%、99.92%,在UCI(university of california at irvine,UCI)數據集上的準確度、靈敏度、特異度分別為98.71%、96.77%、100%。

Chang等[25]提出了基于機器學習(ML)算法(樸素貝葉斯、隨機森林和決策樹J48)的電子診斷系統,用于診斷糖尿病。樸素貝葉斯、隨機森林和決策樹J48結合SHAP框架形成了可解釋的機器學習模型。在完整的皮馬印第安人糖尿病數據集上,隨機森林在準確度(79.57%)、特異度(75.00%)和AUC(86.24%)方面優于樸素貝葉斯和決策樹J48,而決策樹J48具有最佳的靈敏度(88.43%)。J48決策樹始終保持88.43%(完整數據集)到89.92%(五因素數據子集)的靈敏度,無論有多少特征需要處理,它都能很好地預測糖尿病的存在。樸素貝葉斯在微調特征時表現更好,而隨機森林在更多特征時表現更好。

Taha等[26]提出了一種基于模糊聚類和logistic回歸混合元分類器的集成學習方法,用于預測2型糖尿病。與6個單獨的分類器和2個集成方法(軟投票、硬投票)相比,該集成學習方法在皮馬印第安人數據集和Schorling數據集上的準確度、靈敏度、AUC分別為99.31%、99.10%、99.10%和95.20%、95.40%、94.10%。

Sadeghi等[27]評估了深度神經網絡(DNN)、極端梯度增強(XGBoost)和隨機森林(RF)在預測德黑蘭血脂和葡萄糖研究(Tehran lipid and glucose study,TLGS)隊列數據中少數民族糖尿病分類方面的性能。結果XGBoost和DNN(除了準確度)在所有指標方面都優于RF。與XGBoost相比,DNN的AUROC具有更高的值(0.857),而重復編輯最近鄰(repeated edited nearest neighbors,RENN)使DNN的AUROC從0.857增加到了0.862。

Akula等[28]為了準確預測2型糖尿病,提出了一種基于監督機器學習的集成模型,其中有7種機器學習算法[KNN、SVM、DT、RF、梯度提升(gradient boosting)、MLP和NB],除NB之外的其他6種算法都存在非常低的精度,因此進一步將所有算法合并到加權平均或軟投票集成模型中。集成模型在Practice Fusion和皮馬印第安人數據集上的準確度、靈敏度、特異度分別為86.0%、88.4%、84.7%和89.1%、90.9%、88.4%。

Deberneh等[29]使用方差分析、卡方檢驗和遞歸特征消除方法選擇了空腹血糖、糖化血紅蛋白、甘油三酯和體重指數等12個特征指標。LR、RF、SVM、XGBoost、基于混淆矩陣的分類器集成方法(confusion matrix-based classifier integration approach,CIM)、stacking分類器(stacking classifier,ST) 和軟投票 (soft voting,SV)算法被用來生成預測模型。結果表明RF、SVM、CIM、SV的準確度都為0.73,ST的精確度最高(0.75),SVM的靈敏度最高(0.74),但這些算法之間的性能差異在測試集上可忽略不計。

Kumar等[30]評估了英國NICE(national institute for health and care excellence,NICE)現有指南對評估新加坡女性妊娠期糖尿病風險的預測能力,并使用CatBoost(categorical boosting)梯度提升算法和SHAP框架開發了一種無創預測模型。結果顯示NICE指南對新加坡女性的可預測性較差,AUC僅為0.60(95%CI:0.51~0.70),該無創預測模型的AUC為0.82(95%CI:0.71~0.93),大大優于英國NICE指南。

Al-Nussairi等[31]提出了一種新的基于改進灰狼優化算法(enhanced grey wolf optimizer,EGWO)的人工神經網絡算法用于糖尿病患者的分類。在皮馬印第安人糖尿病數據集上,與其他受自然啟發的優化算法所訓練的人工神經網絡進行了比較,所有算法的分類準確度范圍為(0.69~0.76),其中EGWO算法的平均準確度為0.76。

Wei等[32]應用隨機森林和LASSO回歸建模預測糖尿病、血胰島素、空腹血糖(FPG)和口服葡萄糖耐量試驗后2小時的血糖。結果RF預測糖尿病時,發現集和驗證集的AUROC分別為0.98和0.72,導致了性能差和過度擬合。而LASSO回歸預測糖尿病時,發現集和驗證集的AUROC分別為0.80和0.78,顯示出相對較高的性能而沒有過擬合。

Ravaut等[33]為預測2型糖尿病的發病率,利用加拿大安大略省行政健康數據建立了一個人群水平的極端梯度增強(XGBoost)模型,可處理不同的特征類型和缺失值,且對結果可進行很好的解釋。該模型的AUC為80.26%(95%CI:80.21%~80.29%),并具有良好的校準圖,外部和前瞻性驗證效果好。

討 論

1.數據集

皮馬印第安人數據集是國內外糖尿病相關研究最常用的數據集,而其他較小的數據集主要來自醫院。相關預測模型的性能有時會受到數據集的數據結構特點的影響,一方面是特征平衡且結構良好的少量樣本數據集容易構建較優模型,但較少的屬性特征可能無法反映多因素疾病的復雜性[34],且規模較小的研究可能不太具有廣泛的公共衛生意義[35];另一方面是數據質量和數據代表性在預測模型構建中要非常重視,容易影響結果的準確性和模型的可推廣性。糖尿病是一個全球性的公共衛生問題,除了本文提及的相關預測模型研究外,目前大多數的建模研究使用的都是特定人群、特定醫院或診所以及世界上某個特定區域數據集,所研究的模型是否能夠有效地應用于其他地區的人群還尚不清楚,為了便于應用并推廣,有關方法需進一步在不同的人群中反復進行訓練、測試和驗證。

2.單一模型與集成模型

機器學習是一個迭代的“試錯”過程,運用算法組合可獲得最佳模型。由于先前大多機器學習方法都基于單一學習方法建模,較常用的單一模型有支持向量機、樸素貝葉斯、logistic回歸和隨機森林等,其準確性不高,泛化能力較差,容錯性較差[36]。所以,目前糖尿病相關預測模型的發展趨勢是集成模型的構建,集成模型一般比單一模型的預測性能更好,例如Taha等[26]建立的模糊C均值聚類(FCM)和logistic回歸混合元分類器模型以及Ihnaini等[20]給出的集成深度學習模型。集成學習方法雖比單一學習方法效果好,但仍有許多集成模型的預測性能和可靠性低,這也限制了其廣泛的應用。因此建議研究者未來更加關注如何最大限度地提升集成模型的性能,以便推廣和應用。

3.機器學習的可解釋性。

傳統統計學方法中,對于輸入值的每一步處理都具有相對明確而簡單的關系[37]。而到目前,機器學習的可解釋性仍是一個難題。雖然機器學習算法的表示能力有所提高,但隨著模型復雜度的增加,機器學習算法的可解釋性變差,通過算法訓練出的模型也被視為一個黑盒子[38]。預測模型可解釋性越低,成本負擔就越重,為了提高機器學習的可解釋性,很多研究者都使用了Shapley加法解釋(SHAP),使得模型對最終用戶來說變得清晰易懂。另外,還有基于規則的解釋、激活值最大化、隱層神經元分析、分離式表征等機器學習模型的解釋技術[38]。目前仍有很多機器學習的研究未考慮到可解釋性的問題,這在將來是值得進一步探究的方面。

4.優化技術

實際應用中,機器學習還存在離散性、無約束性等問題。近幾十年來,為了提高不同系統的性能和降低計算成本,各種優化算法已經被提出。傳統的優化方法存在一些缺陷和局限性,如收斂于局部最優解和搜索空間未知等[39]。因此,對于特定的模型和數據集,找出最適合的優化技術非常重要。

事實上,大多數現代優化技術通常是啟發式和元啟發式的,這在解決復雜優化問題時非常有效。元啟發式算法一般可分為四類:群體智能算法、進化算法、基于物理的算法和基于人類的算法[39]。目前,元啟發式算法被廣泛用于優化機器學習或深度學習,甚至集成到混合預測模型上以開發可靠的預測模型,以達到靈活、設計簡單,不僅能更快地解決問題,而且實現也不困難。例如文獻[31]使用改進的灰狼優化技術來優化人工神經網絡,由于神經網絡易陷入極小值,收斂速度慢等缺陷,需要添加合適的算法進行優化[40]?;依莾灮夹g是一種群體智能算法,類似還有遺傳算法,麻雀搜索算法,蟻群優化、粒子群優化、鯨魚優化、和獅子優化算法等。

展 望

我們發現上述有關模型中都報告了準確度,同時根據研究需要也選擇了其他一些性能指標進行報告。由于所報告的指標存在異質性,模型之間性能的比較就具有挑戰性。希望未來研究者能從混淆矩陣和AUC(ROC)中至少計算三個參數(靈敏度、特異度和AUC)。理想情況下,應報告五個(準確度、靈敏度、特異度、精確度和F1分數)或更多參數(AUC等),以便于比較。如果其中有一個缺失了,還可從其他參數進行估計[34]。

目前,基于機器學習的預測方法雖然在疾病發生和預后方面具有良好的預測效果,但也存在著數據量大、一定時間內數據連續、泛化能力弱、過擬合(over-fitting)、陷入局部極小、對隨機和不穩定數據不敏感、對不平衡數據的預測效果不理想等缺點[41]。其中,不平衡數據分類問題是極其重要的研究領域,需要引起重視。在建模時充分考慮非平衡數據的影響,可獲得預測性能高的模型,從而為我國人群糖尿病的預防和控制提供科學方法和依據[42]。未來有關方法學的醫學研究中將會更加注重上述缺點,從而建立更優秀的機器學習模型,在人群慢性病防治領域中將發揮更大的作用。

猜你喜歡
準確度機器預測
無可預測
機器狗
選修2-2期中考試預測卷(A卷)
選修2-2期中考試預測卷(B卷)
機器狗
未來機器城
幕墻用掛件安裝準確度控制技術
不必預測未來,只需把握現在
動態汽車衡準確度等級的現實意義
高爐重量布料準確度的提高
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合