江 濤
(西安交通大學 人工智能與機器人研究所,西安710049)
以往醫(yī)學診斷方法都是借助醫(yī)療設備對病人進行病癥檢查,通過拍CT 獲取病理特征,之后再由醫(yī)生分析病情,得出診斷結果[1]。 這種傳統(tǒng)診斷方式會受到醫(yī)生水平影響,尤其是一些疑難雜癥的診斷,其結果可靠性無法得到保障。 并且,專家數(shù)量有限,在一些中小醫(yī)院,目前還缺少門診專利部分,這就造成疑難病癥的誤診率較高[2]。
針對這種現(xiàn)象,人們將目光轉向到一個新的領域,就是使用現(xiàn)在科學技術診斷病癥。 因此,提出了基于規(guī)則的專家系統(tǒng),該系統(tǒng)隨著規(guī)則庫內容不斷填充,規(guī)則庫內存無法滿足大量規(guī)則信息,加之推理循環(huán)過程存在大量無效信息,不僅浪費病理檢驗時間,還有可能出現(xiàn)誤診現(xiàn)象;使用神經網絡專家系統(tǒng)雖然可以避免該問題的產生,但在獲取相關信息時,其采用權值代替知識庫的方式,這種方法會隨著信息搜索空間變大而出現(xiàn)知識獲取瓶頸問題。出現(xiàn)這種現(xiàn)象的根本原因就是系統(tǒng)采用串行工作模式,醫(yī)療診斷系統(tǒng)只能通過簡單醫(yī)療數(shù)據進行病癥診斷,實用價值較小[3]。
采用人工智能技術采集患者身份信息及病理特征時,需遵循以下幾個步驟[4]:①身份識別;②病理采集;③數(shù)據通信。
病例特征采集是患者身份信息識別的基礎,根據醫(yī)療診斷系統(tǒng)功能需求,可將患者身份信息及病理特征采集模塊分為4 個子模塊,分別是主控制器、身份識別模塊、采集模塊和通信模塊,如圖1所示。
在設計主控模塊時,將DSP 數(shù)字信號處理器作為主要控制器,由此控制患者身份信息及病例特征采集的時間與模式[5]。 尤其在身份識別和脈搏信號采集過程中,應將該設備與主機進行實時通信[6]。 結合醫(yī)療診斷系統(tǒng)要求,選擇主控芯片來保證系統(tǒng)良好的穩(wěn)定性能,同時強大數(shù)據處理能力,通過設置多條通信路徑,能夠提高數(shù)據采集效率。 從系統(tǒng)性能角度出發(fā),選擇STM32F103C8T6 芯片作為DSP數(shù)字信號處理器主要芯片[7]。 該芯片可由32 位組成的ARM 微處理器,最高工作頻率能夠達到80 MHz,片中具備10 個通道口,最短轉換時間為1 μs,能夠實現(xiàn)多條路徑信息的快速采集[7]。
對于信號預處理過程,應先將采集的病例信號輸入醫(yī)療診斷系統(tǒng)之中,并在該系統(tǒng)數(shù)據庫中添加病人正常和發(fā)病時的呼吸速率信息,避免外界環(huán)境干擾,需在信息采集信號上疊加病例信號,通過使用小波變換方法在低頻時獲取分辨率較好的信息。
利用小波變換去噪原理如下所示:
設在醫(yī)療診斷系統(tǒng)中待測信號為m,外界環(huán)境干擾序列為
式中:ri表示標準外界環(huán)境干擾元素;s 表示干擾均方差。 與閾值相關的系數(shù)主要是由干擾引起的,設置初始干擾因素為0,大于該閾值的小波系數(shù)主要是由于固定向量引起的,經過重構后,可以得到去噪后的信號。
通過使用改進小波閾值去噪方式消除多余病例信號,同時完成基線漂移消除[8]。 分解小波變換信號后,及時查看分解層數(shù),當分解層數(shù)較多時,可使用低頻尺度信號,以此作為漂移基線,在保證尺度系數(shù)不變情況下,將尺度系數(shù)歸置為0,通過重構信號能夠得到有效病例信號。
由于病例信號頻率較低,容易受到外界干擾,出現(xiàn)一系列冗余信號,這對特征提取來說是相對困難的。 因此,從時域或頻域角度分析,獲取信號屬性,再借助小波變換預處理模式提取相關特征[9]。 使用小波變換技術能夠實現(xiàn)正常信號與脈搏信號分離,由此抽取不同頻段上的全部信息,再通過不同尺度重構脈搏段,能夠獲取不同頻段上不一樣的病例能量值。 將所有頻率端信號能量值加在一起,按照一定順序排列,能夠得到用于識別病例信號的相關特征向量[10]。
采用主成分分析技術,能夠降低病例信號特征向量維數(shù),具體降維過程如下所示:
(1)為了標準化處理數(shù)據,需將從數(shù)據庫中獲取的a 個b 維病理特征向量統(tǒng)一規(guī)劃成數(shù)據矩陣形式,由此消除數(shù)量量綱干擾。
(2)求取協(xié)方差矩陣κ。
式中:T 表示求取周期。
(3)獲取協(xié)方差矩陣特征值α1,α2,…,αn以及特征向量λ1,λ2,…,λn,將特征值按順序依次排列,根據特征值調整特征向量位置,獲取單位正交矩陣。
(4)確定特征值累計貢獻率,設定抽取指標,獲取對應主要向量。
(5)計算標準化后矩陣在主要向量上投射結果,由此得到低維數(shù)特征向量矩陣。
根據上述內容,可用降維后的特征向量作為信號特征處理結果向量。
對于診斷模型的構建,需從病例數(shù)據和專家經驗角度出發(fā),根據醫(yī)療診斷系統(tǒng)中的數(shù)據庫信息,確定病例指標,利用該指標計算符合需要疾病輔助診斷的數(shù)據,由此獲取符合度,診斷模型如圖2所示。
圖2 診斷模型Fig.2 Diagnostic model
模糊測度是基于人工智能技術訓練的各個指標對疾病診斷貢獻,綜合衡量是指在相互影響下的貢獻程度。 通過與程序中設定標準值比較,用模糊積分方法計算診斷結果,得出具體診斷結果。
步驟一:分析醫(yī)學數(shù)據
為了保證研究結果具有真實性,需提取真實有效信息,通過研究當?shù)蒯t(yī)院對患者檢測使用的儀器以及資料庫信息,可以獲取病理數(shù)據;在網絡技術支持下,大部分醫(yī)療數(shù)據都是可以公開的,因此,也可直接從網絡上搜索相關獲取的數(shù)據。 為了確保試驗結果準確可靠,數(shù)據集的格式處理都需根據實驗內容進行預處理,使用Matlab 公式診斷病癥,并采用.mat 格式作為數(shù)據集格式。
步驟二:確定基礎指標
資深醫(yī)師可從應試者大量的檢驗指標中選擇相關的重要指標,根據指標與指標之間的相關性來判斷應試者是否患上了某種疾病。 以上指標選擇是指在保證可信性的基礎上,選擇適當?shù)乃惴▽崿F(xiàn)降維。 該模型利用人工智能技術的遺傳算法來確定基礎指標,遺傳算法優(yōu)化神經網絡獲取確定基礎指標的步驟如圖3所示。
圖3 確定基礎指標獲取流程Fig.3 Determine the basic index acquisition flow chart
借助神經網絡算法優(yōu)化分析基礎指標具體獲取流程,主要步驟如下所示:
(1)初始種群產生
首先應獲取基礎數(shù)據,然后使用隨機函數(shù)生成初始串結構,每個串上都包含了一種類型的節(jié)點數(shù)據,由此組成一個群體。 該群體包含的個體數(shù)量為20~100 個,其是基于初始群體迭代法。
(2)適應度函數(shù)計算
遺傳算法求解最優(yōu)解的關鍵是適應度函數(shù),該方法將適應度函數(shù)用于度量群體中個體達到最優(yōu)解的程度,適應能力更強的個體更有可能遺傳給下一代。
為克服初始權值和閾值的隨機性對計算適應度函數(shù)的影響,利用遺傳算法對BP 神經網絡建立后的權值和閾值進行優(yōu)化計算。
(3)選擇操作
在選擇算子過程中,應先選取個體,并將該個體遺傳給下一代群體,該過程所產生的比例即為算子,具體選擇操作步驟如下所示:
①在一個群體中計算所有個體適應程度的總和,代表預測輸出誤差與期望輸出誤差的總和。 錯誤越小,就越有可能遺傳。
式中:X 表示種群個體;i 表示個體數(shù)量;m 表示迭代次數(shù)。
②在一個群體中,應先分析不同個體之間的適配度,以此作為基礎,將其遺傳給下一代,該過程出現(xiàn)的概率計算公式如下所示:
③一種模擬的輪盤賭操作是用來生成(0,1)之間的隨機數(shù)來決定每個人被選擇多少次,適應性強的個體具有較高的選擇概率。
(4)交叉操作
輸入層的索引值先被壓縮,再被減小,再被交叉。 這一步是借助單點交叉算子來分配個體的,由不同個體選擇基因、交叉。 通過交換交點位置,能夠產生新的個體。
(5)變異操作
設置輸入層指標數(shù)據,該數(shù)據是先被壓縮后,再被縮小的,通過點擊突變,實現(xiàn)由“0”到“1”之間的轉變,根據隨機產生的突變點的位置改變基因值。
(6)輸出降維結果
不斷調整適應度函數(shù),當函數(shù)滿足終止條件時,此時輸出群體為最優(yōu)的群體,由此可達到最優(yōu)解。
(7)確定模糊測度
將輸入自變量作為訓練集和測試集數(shù)據,通過重建神經網絡模型,確定初始診斷結果,通過與正規(guī)化結果相比較,可確定模糊終止條件,以該條件為前提,在最佳診斷準確率下,確定各指標模糊測度[11]。
步驟三:確診病情
通過與標準值比較,發(fā)現(xiàn)當模糊積分值大于該值時,即視為有病,否則視為無病。
針對人工智能在醫(yī)療診斷系統(tǒng)中的應用研究合理性,以肺癌CT 診斷為例展開實驗研究。
選擇來自某市第一附屬醫(yī)院的118 例CT 片,其中肺癌60 例,良性58 例,其中入院時間選擇2018年至2019年6月,診斷得到醫(yī)院認證。 肺癌60 例患者中男性人數(shù)為10 例,女性為50 例,平均年齡為35~79 歲,提取的相關病例信息及評分量化指標如表1所示。
表1 相關病例信息及評分量化指標Tab.1 Related case information and scoring quantitative indicators
對于分值高分指標,選擇0 分、5 分和10 分的CT 片作為參照片,各個指標分數(shù)取平均值,從全部樣片中隨機選取50 例作為訓練集,剩下68 例作為預測集。
分別使用神經網絡專家系統(tǒng)W1、基于規(guī)則的專家系統(tǒng)W2 和人工智能技術W3 診斷肺癌CT,對比內容如下所示。
4.2.1 胸膜凹陷診斷
胸膜凹陷指的是腫瘤與胸膜之間存在的線性陰影,腫瘤體內瘢痕組織不斷牽拉會形成胸膜凹陷現(xiàn)象。基于此,對比三種方法診斷誤差和ROC 曲線,結果如圖4、圖5所示。
由圖4和圖5可知,使用人工智能技術誤差在-0.1~0.1 范圍內波動,而其余兩種技術診斷誤差偏大,其中神經網絡專家系統(tǒng)診斷誤差最大為0.7。 人工智能技術ROC 曲線下面的面積大約為80%,而其余兩種技術ROC 曲線下面的面積較小。 由此可知,使用人工智能技術胸膜凹陷診斷結果較為精準[12]。
圖4 三種方法胸膜凹陷診斷誤差對比分析Fig.4 Comparative analysis of the three methods of pleural depression diagnosis error
圖5 三種方法胸膜凹陷ROC 曲線對比分析Fig.5 Comparative analysis of ROC curves of three methods for pleural depression
4.2.2 胸膜浸潤診斷
分別采用三種方法分析胸膜浸潤診斷誤差和ROC 曲線,結果如圖6、圖7所示。
圖6 三種方法胸膜浸潤診斷誤差對比分析Fig.6 Comparison and analysis of three methods of pleural infiltration diagnosis error
圖7 三種方法胸膜浸潤ROC 曲線對比分析Fig.7 Comparative analysis of ROC curves of three methods of pleural infiltration
由圖6和圖7可知,使用神經網絡專家系統(tǒng)最高診斷誤差為0.78,基于規(guī)則的專家系統(tǒng)最高診斷誤差為0.68,而人工智能技術最高診斷誤差為0.1。對于ROC 曲線分析,使用人工智能技術ROC 曲線下面的面積大約為90%,由此可知,使用人工智能技術胸膜浸潤診斷結果較為精準。
由人工智能技術和專家系統(tǒng)組成的混合系統(tǒng)可以克服傳統(tǒng)專家系統(tǒng)的不足,一是運用人工智能技術獲取診斷知識;尤其對于醫(yī)學實踐中難以獲取的知識,需先克服專家系統(tǒng)基礎瓶頸問題;在另一方面,應充分發(fā)揮專家系統(tǒng)良好說明功能,改善神經網絡信息推理過程時間耗費長的問題。在實驗階段,由于數(shù)據量較小,無法與數(shù)據庫中歷史資料對比,必然存在一定誤診率,因此,對于該方面的研究還有待深入。