蘭 欣,衛 榮*,蔡宏偉,郭佑民,侯夢薇,邢 磊,那 天,陸 亮
(1.西安交通大學第一附屬醫院網絡信息部,西安 710061;2.西安交通大學第一附屬醫院影像科,西安 710061)
隨著計算機技術、信息技術和互聯網技術的迅速發展,社會各個領域積累了海量的數據。如何在這些海量數據里挖掘出有用的信息是目前各行各業所面臨的問題。機器學習作為解決數據挖掘問題的主要方法之一,在許多領域得到廣泛應用,尤其是在醫療領域[1]。本文現對機器學習的定義、分類、經典算法等相關概念及其在醫療領域中的應用作一綜述。
機器學習是一種能自動構建出模型用來處理一些復雜關系的技術,它使用計算機模擬人類學習行為,通過學習現有知識,獲取新經驗與新知識,不斷改善性能并實現自身完善[2]。
機器學習一般根據處理的數據是否需要人為標記分為監督學習、半監督學習和無監督學習3類。
監督學習是用具有分類標簽的數據作為學習目標,其針對每個要學習的樣本都由學習輸入和學習目標組成。機器學習算法通過已經打標簽的數據進行模型訓練,并將訓練好的模型用來預測新數據的結果。因此,監督學習的最終目標是訓練機器學習的泛化能力。
無監督學習是用于處理不具有分類標簽的數據,不需要提前進行訓練,而是希望通過機器學習算法尋求數據間的內在模式和規律,從而發現樣本數據潛在的結構特征。因此,無監督學習的最終目標是在學習過程中根據相似性原理對數據進行區分。
在實際應用中,只有少量的帶有標記的數據。因為有時對數據進行標記的代價會很高,如基因序列比對、蛋白質功能預測等需要使用特殊設備或經過昂貴且用時非常長的實驗過程進行人工標記,所以衍生出半監督學習。半監督學習是使用大量的無標簽的數據和一小部分有標簽數據訓練模型,在已標記的類別樣本提供的監督信息的“引導”下,學習全部樣本或只學習未標記類別樣本[3]。
決策樹是一種類似樹形結構的預測模型,其中樹的每個分支是一個分類問題,樹的葉節點表示對應分類的數據分割。決策樹利用信息增益發現數據庫中最大信息量的字段作為決策樹的一個節點,按照字段取值的不同建立樹的分支。對于每個分支再重復建立樹的下層節點和分支過程,最終建立完成決策樹[4-5]。圖1為某實例決策樹模型示意圖。由于決策樹是一種典型的分類算法,因此在疾病的預測、輔助診斷中應用廣泛,如用于管理決策協議、創建代謝紊亂的分類模式、獲取耳神經病的相關知識、糖尿病的數據挖掘以及區分癡呆嚴重程度等[6]。

圖1 某實例決策樹模型示意圖
貝葉斯網絡是一種基于概率推理的圖形化網絡。貝葉斯網絡實質是有向無環圖,其中節點主要代表隨機向量。節點與節點之間的關系,代表向量與向量之間的聯系。向量之間關系的強度,需采用條件概率標識[7]。貝葉斯網絡在很多方面均有應用,包括自然語言理解、故障診斷、計算機視覺、機器人等。在醫學領域中的應用主要集中在醫療診斷、治療規劃等方面。
人工神經網絡是模擬人腦神經元結構進行信息處理的一種數學模型,建立在麥卡洛克-皮茨模型(McCulloch-Pitts model,簡稱“MP 模型”)和 Hebb學習規則基礎上。神經網絡中的每個神經元接收大量的輸入信號,執行輸入的加權和,通過非線性激活函數產生激活響應并對隨后連接的神經元傳遞輸出信號[8]。圖2為某實例人工神經網絡模型示意圖。人工神經網絡包含前饋式網絡、反饋式網絡和自組織網絡三大類。人工神經網絡具有很強的自組織性、魯棒性和容錯性,在疾病的預后評估、早期預防中得到廣泛的應用[9]。
支持向量機的基本思想是在高維空間中尋找一個最優超平面作為二分類問題的分割,這個超平面要保證最小的分類錯誤率[10]。支持向量機具有強大的數學背景、分析高維復雜數據集的能力和準確的性能。在醫療領域應用中,其可對骨齡估計、跌倒監測、醫療咨詢框架以及依據人腦圖像進行癡呆癥、抑郁癥分類的模式識別[11]。

圖2 某實例人工神經網絡模型示意圖
深度學習作為機器學習領域的一個新的研究方向,不需要人工參與設計就能將原始數據通過自動學習過程從一些簡單的非線性模型變換為更高層次的抽象表達,再組合多層變換,學習提取出非常復雜的函數特征。這是深度學習與傳統的機器學習最主要的區別[12]。圖3為某實例具有2個隱層的深度學習模型示意圖。在醫療領域中,常用的深度學習算法包括卷積神經網絡、深層信念網絡、深度神經網絡與遞歸神經網絡,主要可以用來進行疾病診斷、藥物研發、醫學影像的分析等[13]。
機器學習在醫療數據中的研究與應用越來越廣泛,已取得不少成果,主要集中在疾病的預測、疾病的輔助診斷、疾病的預后評估、新藥研發、健康管理、醫學圖像識別等方面。

圖3 某實例具有2個隱層的深度學習模型示意圖
現代醫療方法都是期望通過早期干預來預防疾病,因為早發現、早治療是降低大多數疾病治療成本甚至逆轉診斷結果的關鍵。傳統意義上,醫生根據人口統計學、現有醫療條件、生活常規等基本信息評估疾病發展的可能性,但是準確率并不高。隨著大數據和機器學習技術的發展,疾病的預測變得越來越準確。Hongyoon和Kyong采用那些具有輕度認知障礙、易發展為阿爾茨海默病的患者的腦圖像數據作為數據樣本,運用卷積神經網絡訓練模型,預測患者3 a內患上阿爾茨海默病的趨勢,其準確度高達84%[14]。諾丁漢大學流行病學家Weng博士團隊[15]發現一套評估心血管病風險的機器學習算法,這套評估算法是來自英國家庭的378 256例患者的常規臨床數據,該數據應用到基于4種不同機器學習算法:隨機森林、邏輯回歸、梯度提升和神經網絡。預測準確性通過ROC曲線下的AUC面積進行評估,結果顯示,這4種機器學習算法在預測心血管疾病方面比美國心臟病學院已建立的、使用近10 a的算法做得更好,其中神經網絡技術表現最佳,比已建立的算法正確預測心血管疾病患者達355人[15]。具體每種算法所對應的AUC值如圖4所示。用機器學習算法對疾病的預測實質上就是用標示過的數據集進行訓練,然后不斷對訓練的模型進行測試和優化,最后對未知的結果進行預測。機器學習用于分類的方法有很多,包含支持向量機、決策樹算法、邏輯回歸、集成方法等,其中支持向量機用得最多,它有著極強的穩健性且能對非線性決策邊界建模,又有許多可選的核函數,同時還可以有效學習高維數據,這一點是其他算法很難做到的,因此在疾病的預測方面有著廣泛的應用。

圖4 不同算法下的AUC值對比圖
對患者疾病診斷的過程會產生大量的數據,從醫學圖像到基因序列,從檢驗數據到病理數據,這些大量數據如果單靠人力采用常規方法診斷既費時又費人力,同時缺乏質量保證。因此,可以結合機器學習技術提供相應的輔助診斷。Mahesh Kumar等[16]針對228個可視波長眼部圖像數據運用序列最小支持向量機優化算法預測眼前節眼部異常,結果顯示:準確率為96.96%,靈敏度為97%,特異度為99%[17],比其他的算法構建的分類器性能更好,具體見表1。
Rehme等[17]對人在靜息狀態下的功能磁共振成像數據運用機器學習算法中的支持向量機算法識別和分類腦卒中后運動功能障礙的內表型。支持向量機算法能夠正確診斷中風患者,準確率達到了87.6%[17]。疾病輔助診斷的模型建立核心是分類算法的選取,每一種分類算法各有利弊,其中K-近鄰算法簡單、易于實現、精度高、對異常值不敏感,同時不需要對參數進行估計,尤其是在多分類問題上的效果比其他機器算法更具優勢,能夠為醫生在疾病診斷中提供高效、高質量的分析判斷,提升診斷準確率。

表1 基于一階統計和小波特征的分類器比較[17]%
疾病的預后評估是對疾病發病后發展為各種不同結局的預測,在臨床很有必要。同一種疾病,由于患者的年齡、體質、合并疾病、接受治療的早晚等諸多不同因素,即使接受了同樣的治療,預后也可能有很大的差別。如果能對不同術后患者的預后作出準確預測,那么就可以對不同的患者有針對性地采用不同的治療手段,進一步提高患者的生存率。Asadi等[18]對國家神經科學中心22 a間接受血管內治療腦動脈畸形(brain arteriovenous malformation,BAVM)的患者進行回顧性研究并收集患者的臨床表現、影像學、手術細節、并發癥等信息建立數據庫,然后通過人工神經網絡和支持向量機對數據進行分析,預測精度在90%以上,遠遠高于標準的回歸模型43%的預測精度。他們還使用機器學習技術來確定尼爾瘺管的存在與否是影響BAVM血管內栓塞治療的結果最重要的因素,具體各影響因子重要性如圖5所示。Hope等[19]通過高斯過程回歸模型研究了MRI圖像中的病灶與治療結果之間的關系,并用該模型預測腦卒中后認知功能障礙的嚴重程度和隨時間的恢復過程。疾病的預后受多種因素所影響,并且各因素之間并非完全獨立,針對疾病預后因素的分析和疾病結局的預測,機器學習中的神經網絡因其非線性處理的能力,以及其高度的并行性、良好容錯性等特點表明它在疾病預后評估方面有良好的應用。

圖5 影響BAVM血管內栓塞治療結果的各因素占比[18]
新藥研發是一個極其復雜過程,包括目標識別、設計和制造以及新藥物的治療、藥物劑量選擇、藥物療效評價和藥物不良反應控制。傳統方式的藥物研發由于資源有限、成本高、持續時間長、命中率低具有一定局限性,機器學習技術在藥物學的發展,為藥物開發提供了新的思路,并逐漸受到研究者的關注。根據目前的研究,機器學習技術被廣泛應用于新藥的發現和新的藥物靶點的確定、適當治療和藥物劑量的決定、藥物療效、藥物之間相互作用的預測。哥倫比亞大學研究組利用機器學習算法研究發現,頭孢曲松和蘭索拉唑混合使用可導致心律紊亂。而微軟公司Hanover利用機器學習預測藥物有效性,為患者制訂個性化治療方案[20]。深度學習與傳統的人工神經網絡相比,其包含多層隱層,能自動學習特征,對數據結構的要求低,同時過濾掉諸多噪聲,更加接近人腦的認知模式。因此,深度學習算法的大數據處理能力及強大的特征抽象能力使其在藥物研發和藥物信息領域具有廣泛的應用前景。
目前,在各個醫院里都有可穿戴設備和移動醫療設備,這些設備大多只能監測血壓和脈搏等簡單生命指標,被動地提醒患者何時吃藥,但無法主動監測和記錄患者行為、環境因素并給出預防措施和建議[21]。將這些設備采集的數據與機器學習技術相結合,能夠提供個性化的健康預警與建議,監控個體行為,實現健康管理的目標。加州大學舊金山分校采用半監督機器學習技術,利用33 628人周的健康傳感器數據訓練深度神經網絡(DeepHeart)[21]。他們后來對照12 790人周的單獨數據集驗證了DeepHeart的準確性,成功率達85%。
醫學圖像識別指利用數學方法和計算機對醫學圖像進行處理、分析的技術,一般分為輸入待識別圖像、輸入圖像預處理、圖像特征提取、辨別分類、輸出分類結果5個步驟。醫學圖像識別可以在減輕醫師工作量的基礎上,提高識別的準確率,降低醫療成本,節省醫療資源,目前在肺結節、腦部、心臟、眼部視網膜等領域有良好的發展前景。例如:David等[22]提出開發一套能夠利用圖像處理技術對糖尿病視網膜病變重要特征進行視網膜圖像分析以及基于人工神經網絡的圖像分類器自動系統,根據疾病情況對圖像進行分類,結果血管網、視神經盤和病變樣滲出物被識別出,如圖6~8所示。針對醫學圖像的特征,基于傳統的機器學習算法如神經網絡、支持向量機、粗糙集、模糊理論的圖像識別能達到一定精度,但是各方法均有一定局限性。傳統的機器學習算法需要人工選取特征,這些會受到片面或者主觀方面的影響,導致特征提取方法在內容表達上不夠好,識別率低。近年來,深度學習的出現讓識別從人為設定變為自學習狀態,特別是以卷積神經網絡為代表的模型逐漸變成了醫學識別領域的發展方向和強有力的工具。

圖6 識別出的血管網[22]

圖7 識別出的視神經盤[22]

圖8 識別出的病變樣滲出物[22]
現代科技日新月異,機器學習技術為醫療領域提供了新方法,通過計算機的運算能力,對大量的醫療數據在相對短的時間內進行數據分析、建模和訓練,探究各種醫學指標之間的關系,通過訓練后的模型來預測并輔助診斷疾病,提升診斷準確率,同時也可擴展應用于醫藥及健康管理領域,進一步提升整體醫療行業的發展。目前在醫療領域,如疾病預測、疾病輔助診斷、疾病的預后評估、新藥研發、健康管理等,大多數研究者會使用支持向量機、人工神經網絡、決策樹等傳統的機器學習算法,這些算法其實都是對數據間的相似度進行衡量;監督學習是通過同類別樣本間的相似性對模型的參數進行學習,非監督學習是通過樣本間的相似性實現同類聚集、異類分散。故對于樣本間相似性的研究是一個重要方向,也是未來人工智能輔助診療的核心技術之一。基于醫療數據的相似度計算,目前可以拓展多種實際的應用,以下為其中的兩大應用發展趨勢:
(1)基于病案的推理。這是一個解決實際問題的范例方法,基于過往經歷過的病案及期間獲得的知識來為新的醫療問題提供解決方法。此類技術已經被廣泛運用于各種醫療場景中解決實際問題,利用已有的知識解決新的問題。Gottlieb等[23]提出利用患者之間在多個維度方面的相似性來預測最終的出院診斷,使用人口統計學、初始血液、心電圖測量以及醫學史等多方面在2個獨立醫院的住院患者中尋找相似性取得很高的精度。該方法在傳染病、寄生蟲病、內分泌、代謝疾病以及循環系統疾病在內的主要疾病類別提供了精確的預測(ROC曲線面積>0.86的交叉驗證精度)[23]。
(2)藥物警戒。在藥理學中,為了防止在復雜疾病情況下或與其他藥物混合使用時產生的有害作用,大部分的藥物在其使用過程中都需要收集、檢測、評估、追蹤。利用電子病歷數據檢測藥物的有害作用,目前已經有相當多的研究,其中關鍵的一步就是盡可能均等地匹配患者,以消除其他易混淆因素對分析結果的干擾。Vilar等[24]應用基于相似性的建模技術,使用2D和3D分子結構、不良藥物事件(adverse drug events,ADE)、靶和解剖治療化學(aratomical thernpeutic chemical,ATC)相似性度量,對先前在藥物中選擇的候選關聯即4個ADE結果的廣泛關聯研究。
機器學習算法較傳統的統計學算法有著無可比擬的優勢和發展前景,它不需要數據的前提假設,更多依據實際數據特征建立模型,并在建模過程中自動學習改進,這一技術的日趨成熟必將為醫療領域發展帶來巨大的變革。