劉寧
(杞縣人民醫院 呼吸內科,河南 開封 475200)
哮喘是常見慢性呼吸道疾病,發病率逐年升高[1],我國是哮喘病死率最高的國家之一,給我國帶來巨大的社會負擔和醫療負擔[2]。哮喘的癥狀在其他呼吸道疾病中也同時存在,而人工智能技術可以使哮喘診斷快速、準確、知識化[3]。機器學習是一門人工智能的科學,可以在經驗學習中改善具體算法的性能[4]。從本質上來說,機器學習就是使計算機模擬人的學習行為,通過自動的學習獲取知識,不斷改善自身性能,最終實現人工智能。機器學習的主要算法有回歸算法、神經網絡、支持向量機、聚類算法和推薦算法等[5]。神經網絡的誕生與大腦工作機理的研究密切相關,神經網絡學習機理包括分解與整合[6]。一個簡單的神經網絡架構包括輸入層、隱藏層和輸出層,所有的層再組成神經網絡[7]。深度神經網絡是一種用于圖像分析的非線性回歸分析方法[8]。支持向量機是一種基于統計學習理論的新型學習機,是結構風險最小化方法的近似實現[9]。本研究選取了571名呼吸系統疾病患者,并選取了哮喘診斷時常用的22個指標,使用邏輯回歸分析、支持向量機和深度神經網絡3種算法對哮喘進行預測,比較這三種算法在哮喘預測和診斷過程中的準確性。
1.1 一般資料選取2020年1月至2021年6月杞縣人民醫院收治的370例哮喘患者和201例其他呼吸道疾病患者作為研究對象,哮喘的診斷是基于《呼吸疾病診療指南·第3版》中的哮喘的診斷標準,根據患者的癥狀史,并結合實驗室和影像學檢測最終診斷為哮喘。其他呼吸道疾病患者包括氣管炎、支氣管炎和肺炎等患者。哮喘患者中男220例,女150例,年齡18~81歲,平均(50.8±7.21)歲。非哮喘患者中男130例,女71例,年齡20~88歲,平均(54.2±6.89)歲。本研究經醫院醫學倫理委員會批準,所有受試者均簽署知情同意書。
1.2 輸入記錄在哮喘患者的病歷中,有22條與診斷相關的輸入記錄如下。(1)癥狀-身體特征:年齡、性別(二分類變量,女性=0,男性=1)、聽診氣喘情況(二分類變量,是=0,否=1)、咳嗽時間、氣喘時間、每日癥狀變化、重復癥狀、過敏疾病史、家族過敏史、吸煙史。(2)生化分析:外周血嗜酸性粒細胞數量、外周血嗜堿性粒細胞數量、總IgE值和氣-骨特異性IgE陽性(二分類變量,是=0,否=1)。(3)肺功能測試:第1秒用力呼氣容積(forced expiratory volume in one second,FEV1)占預計值的百分比、50%肺活量(V50)、25%肺活量(V25)、V50/V25、使用支氣管擴張劑后FEV1增加容積、使用支氣管擴張劑后FEV1增加容積百分比和呼出氣一氧化氮。(4)使用甲膽堿激發的支氣管激發試驗:氣道高反應性(二分類變量,是=0,否=1)。
1.3 分析方法使用邏輯回歸分析、支持向量機和深度神經網絡3種算法評估哮喘診斷的準確性。使用Keras代碼結合谷歌的Tensor Flow。在張量流顯式初始化變量的處理中,輸入是用數據相關初始化來衡量標準化。隨機分出80%的數據做為訓練數據,其余20%的數據作為每個系統的測試數據。機器學習技術有調整參數,例如深度學習中的神經元數量、批量大小、激活函數等,也稱為超參數。由于使用所有的數據樣本對超參數進行調優可能會導致過擬合,因此,使用訓練數據對超參數進行調優。Talos軟件包的數據庫用于自動模型調整超參數學習。
邏輯回歸分析通過使用sigmoid型函數估計概率將數據集分類,它被構造為一個單層的簡單神經網絡。在進行邏輯回歸分析時,網絡層分為輸入層、隱藏層和輸出層。輸入層是線性的,只負責從網絡內部結構傳輸數據。隱藏層和出口層是sigmoid類型,并在網絡上執行計算。
在支持向量機模型中,對于二值分類支持向量機,使用了線性或輻射基函數(radial basis function,RBF)核,未進行其他特征提取或特征量選擇,因此,匹配深度學習訓練中使用的輸入數據的標準。網格搜索的評分是根據評分數據的10倍交叉驗證獲得的平均AUC接收器工作特征進行的。訓練和驗證中使用的數據集與深度學習模型中使用的數據集相同。
另外,構建了一個深度學習模型,在分類系統中使用圖1所示的深度神經網絡。深度神經網絡是由多個隱藏非線性層組成的前饋神經網絡。它以一組權重矩陣、偏置向量和一個非線性激活函數為特征。超參數優化選擇哪個參數是激活函數、網絡結構、批量大小和周期數的最佳學習方式。在正向傳播中,激活網絡的激活函數為隱藏層的整流線性單元(relu)或正切雙曲函數(tanh),輸出層的激活函數為sigmoid型。在所有因素都輸入的情況下,網絡結構示例如圖1所示。其結構為22-18-18-18-1,其中輸入層22個節點,隱藏層18個節點,隨后隱藏層重復2次,輸出層1個節點(哮喘,是=1,非=0)。在傳播過程中,選擇“relu”作為調優超參數的激活函數。

圖1 深度神經網絡結構

2.1 邏輯回歸分析當輸入因素僅為癥狀-身體特征時,診斷準確率為65%;當輸入因素為癥狀-身體特征+生化檢測結果時,診斷準確率為68%;當輸入因素為癥狀-身體特征+生化檢測+肺功能檢測時,診斷準確率為82%;當輸入全部因素時,診斷準確率提升至94%。
2.2 支持向量機當輸入因素僅為癥狀-身體特征時,診斷準確率為62%;當輸入因素為癥狀-身體特征+生化檢測結果時,診斷準確率為64%;當輸入因素為癥狀-身體特征+生化檢測+肺功能檢測時,診斷準確率為75%;當輸入全部因素時,診斷準確率提升至82%。
2.3 深度神經網絡當輸入因素僅為癥狀-身體特征時,診斷準確率為68%;當輸入因素為癥狀-身體特征+生化檢測結果時,診斷準確率為70%;當輸入因素為癥狀-身體特征+生化檢測+肺功能檢測時,診斷準確率為88%;當輸入全部因素時,診斷準確率提升至98%。
2.4 3種方法的AUC比較邏輯回歸分析、支持向量機、深度神經網絡3種方法的ROC曲線如圖2所示。3種模型對所有22個輸入進行了訓練,其中邏輯回歸分析的AUC為0.97;支持向量機的AUC為0.83;深度神經網絡的AUC為0.99。見圖2。為了評估分類模型之間的AUC差異,DeLong法檢測ROC曲線顯示,深度神經網絡與支持向量機之間以及深度神經網絡與邏輯分析之間差異有統計學意義(P<0.05)。

圖2 3種分析方法的ROC曲線
本研究的目的是開發一個智能系統來診斷哮喘,將臨床特征作為輸出,用機器學習方法診斷是否為哮喘,結果可以看出,使用深度神經網絡診斷哮喘,如果輸入了完整的患者信息,其診斷準確率達到98%。
計算機輔助診斷是提高診斷準確性的一種有用方法,它涉及到將專家提供的信息與機器學習方法相結合。機器學習可以利用完整的臨床信息準確地診斷哮喘。Zolnoori等[10]研究表明,一個用于檢測兒童哮喘的計算機智能系統被稱為預測哮喘的模糊智能系統,是100%正確的。另一項研究比較了用于預測兒童哮喘持續時間的統計方法,發現貝葉斯分析的準確性可達86%,而人工神經網絡的準確率約81%[11]。人工神經網絡有潛力成為一種更廣泛使用的分類算法,但由于參數調整過程耗時,可選擇的神經網絡結構類型眾多,以及用于訓練人工神經網絡的算法數量多,所以它的使用頻率較低。在這項研究中,確定深度神經網絡可以高效準確地診斷成人哮喘。
使用神經網絡的模型往往難以分析大量輸入的系統,這是因為系統訓練所需的時間較長,并且在訓練期間模型可能會過擬合。在本研究中,為了避免過擬合,對超參數進行了調整,從而在準確率和丟失率上都可以確定訓練和驗證進度的收斂性。
在比較3種算法診斷成人哮喘的準確率時,本研究發現深度神經網絡的檢測準確率最好,總體準確率為98%。目前,深度神經網絡的應用在準確性和數據處理方面都比支持向量機算法有很大的優勢。支持向量機算法是一種非常流行的并且研究的比較深入的監督學習模型,它不適用深度學習的計算能力。與支持向量機相比,深度神經網絡能夠更準確地對數據進行分類。本研究中邏輯回歸分析模型與深度神經網絡在診斷哮喘時準確性相似,可能是因為該邏輯分析模型是一個簡單的神經網絡,無隱藏層,并且有監督機器學習。
在深度神經網絡發展中最重要的因素之一是選擇合適的結構和使用最優的數據輸入。本研究使用一種帶超參數調優的深度神經網絡算法,使用超參數優化了模型架構。并用十倍交叉驗證方法測試了任務分類器的性能。評價結果表明,該分類器具有較高的查準率和查全率。通過統計方法選擇最優的數據作為網絡的輸入,可以選擇在網點中效率最高的數據量。本研究的結果與以前的一些報告一致,發現30%的哮喘患者被醫生診斷為哮喘時,未使用客觀測試。相比之下,本研究發現基于癥狀體征作為輸入數據,深度神經網絡模型診斷成人哮喘的準確率約為70%。
不過本研究得出的結果也說明,疾病診斷要根據具體情況進行分析,在特定情況下,有可能證明其中一種技術優于其他技術,這種技術可能比其他技術更適合于分析這種特定情況。在某些情況下,支持向量機在診斷準確率上優于深度學習算法[12]。
綜上,深度神經網絡能夠根據所有臨床數據準確預測疾病。深度神經網絡的方法比傳統的機器學習方法更準確,可以用于醫生診斷哮喘時的助理服務,這一研究可以提高醫生診斷時的準確性。該技術值得在臨床推廣應用。