王丹,韓容,方堃,王芳,陳沂
四川省科學城醫院檢驗科 (四川綿陽 621000)
目前,人工智能已在人類社會的各個領域得到廣泛的應用,特別是在醫學領域,相關的智能產品可為疾病診斷提供較大的幫助。針對醫療影像的智能診斷技術是最早在醫用領域得到實際應用的技術,有較多學者在該方向開展了研究,如隋曉丹[1]開展了基于深度學習的主動脈瘤CT 影像分割技術研究;王金強和劉靖峰[2]采用深度學習對胸部CT 影像特征進行提取和分析,實現了影像疾病判斷的多種指標的量化分類;王小鳳[3]基于神經網絡理論、粗糙集方法設計并實現了一套乳腺癌輔助診斷系統。
一種疾病并非由某個單一指標就可以確定,往往與多個指標相關。隨著信息技術的不斷發展,我們可以將智能診斷技術應用于基于醫學檢驗數據分析的疾病診斷,如李永秋[4]探討了數據挖掘技術在醫院信息系統中的應用;馮福領[5]探索并建立了一種實現網絡數據傳遞和資源共享的智能化健康體檢管理系統。本研究分析了隨機森林算法和神經網絡算法在體檢數據智能診斷中的應用情況,并基于印第安人糖尿病診斷數據集對算法的有效性進行了驗證。
隨機森林算法是一種具有監督功能的集成學習分類算法,其集成有多個決策樹分類器,由多個決策樹分類器進行聯合投票得到一個相對合理的結果[6]。具體步驟為:(1)采用常用的抽樣方法Bagging 在數據訓練集中抽樣得到訓練數據子集,抽樣方式為可放回的方式;(2)在子集樣本屬性空間中采取不放回的抽樣方式得到新的子集屬性空間;(3)將抽樣得到的樣本子集和樣本子集屬性空間作為分類樹的構造數據,建立決策樹模型;(4)對所建立的決策樹模型進行集成,建立隨機森林分類模型,通過隨機森林中的每個決策樹對結果進行投票得到合理決策。
深度神經網絡能夠很好地滿足大樣本擬合需求。其具有多個隱藏層(圖1),使用過程和工作原理為[7-8]:(1)初始化神經網絡每層的輸入和輸出權值矩陣;(2)將訓練樣本的各個屬性值作為神經網絡的輸入;(3)按照神經網絡正向求解過程計算每層的輸入和輸出,將當前層的輸出作為下一層的輸入,得到神經網絡的最終輸出;(4)訓練樣本的實際Y 值已知,用訓練樣本的實際Y 值和神經網絡計算Y 值的差來反向逐層修正神經網絡每層的輸入和輸出權值矩陣;(5)利用訓練后的神經網絡模型即可完成對新數據Y 值的預測。

圖1 深度神經網絡框圖
將驗證的數據集作為印第安人糖尿病診斷數據集(表1),記錄中的所有人都是女性。其中,舒張壓曲線見圖2,體質量指數曲線見圖3,統計人數共768人,其中268人患有糖尿病。

表1 數據集參數列表

圖2 舒張壓曲線

圖3 體質量指數曲線
將數據集隨機分成訓練集和測試集,其中測試樣本占數據集的10%。訓練集被用來訓練智能診斷算法的分類模型,測試集則被用來測試模型分類的有效性(圖4)。基本流程為:(1)將數據集隨機分成訓練集和測試集;(2)初始化智能診斷算法診斷模型參數;(3)將訓練集中的參數(如妊娠次數、舒張壓、體質量指數和年齡等)作為智能診斷算法診斷模型的輸入,對患病情況進行預測,輸出0表示未患糖尿病,輸出1表示患糖尿病;(4)基于訓練集中個人實際患病情況得到模型診斷偏差,并基于診斷偏差對模型參數進行修正;(5)基于測試集對診斷模型的正確率進行估算,即基于測試集中的參數對患病情況進行預測,并對預測值與測試集中的實際患病情況進行比較,預測正確的樣本量除以測試集樣本量即為診斷結果的正確率。

圖4 基于智能診斷算法的糖尿病診斷原理框圖
分別使用隨機森林算法和神經網絡算法進行智能診斷測試,算法實現基于Python 函數庫,其中隨機森林算法是用numpy 庫中的RandomForestClassifier 函數實現,神經網絡算法是用深度學習神經網絡Keras 庫實現。兩種算法在不同訓練集和測試集樣本量中的診斷正確率見表2。由表可知,隨著樣本量的增加,兩種算法的診斷正確率會相應提高;在相同樣本量的情況下,基于神經網絡算法的診斷正確率高于基于隨機森林算法;由于整個數據集的樣本量為768,當樣本集為整個數據集時,基于隨機森林算法的診斷正確率為76%,基于神經網絡算法的診斷正確率為85%,兩種算法分別有24%和15%的診斷誤差,這與樣本量不足夠大有關。

表2 兩種算法在不同訓練集和測試集樣本量中的診斷正確率
基于智能診斷算法的糖尿病診斷方法是一種通用的疾病診斷方法,亦適用于對其他疾病的診斷,前提是需要收集該疾病的大量診斷樣本。未來是大數據時代,患者的體檢數據和診斷數據的獲取會相對容易,基于智能診斷算法的疾病診斷會越來越成熟,將為醫療領域帶來極大的便利。