白賀伊
(西安廣播電視大學,陜西西安 710002)
隨著我國醫療衛生事業的不斷發展,越來越多的醫療健康數據被存儲在數據庫中。這些數據具有規模大、增長迅速、結構復雜等特點[1-3]。目前,我國對醫療健康大數據的挖掘與應用正處于起步階段,醫療數據的深度挖掘與分析關系到全民健康的發展,如何利用人工智能技術對龐大的醫療數據進行智能化分析,挖掘其中有效信息,從而更好地服務于醫護人員與廣大人民群眾,是目前醫療事業發展與數據應用面臨的重要挑戰[4]。
針對上述所提到的問題,該文基于人工智能深度學習領域中的卷積神經網絡技術,提出了一種適用于對醫療健康大數據進行智能化分析的方法。該方法通過詞向量訓練、CNN特征學習以及疾病風險評估等步驟,完成對各種疾病的風險評估,能夠利用不同疾病的訓練數據集得到與之匹配的分析模型。實驗結果表明,該文提出的方法以及建立的模型能夠實現對不同數據集、不同疾病的智能化分析,能更好地適用于常見疾病的風險評估,具有較高實用性與可靠性。隨著日益增加的醫療健康大數據處理與分析的需求,該文所提方法具有應用價值,對其進一步的發展與完善也將更有意義。
卷積神經網絡(CNN)是一種建立在傳統神經網絡上,包含卷積結構的深度學習算法[5]。與傳統神經網絡相比,卷積神經網絡在傳統多層神經網絡的基礎上加入了特征學習部分,利用空間相對關系減少參數數目以此提高算法的訓練性能。具體實現方式就是在傳統神經網絡的全連接層前面增加部分連接的卷積層。卷積神經網絡解決了人工智能領域中的一個重要問題就是將復雜問題簡化,最大程度減少參數數量,進而大幅提升算法表現性能。
典型的卷積神經網絡通常由卷積層(C)、池化層(S)以及全連接層(F)所組成。其結構如圖1所示[6-8]。

圖1 典型卷積神經網絡
其中,卷積層負責提取輸入數據的特征;池化層負責對數據進行降維;全連接層則實現最終處理結果的輸出。通常在實際使用中,CNN 中包含有若干卷積層與池化層,且采用相互交替的形式進行設計,即卷積層后面連接著池化層,池化層后面又連著卷積層,上述交替循環的結構以池化層結尾,最后再連接至全連接層結束整個網絡。卷積層與池化層的堆疊次數越多,CNN 所提取出的特征就越復雜、表達能力就越強,分類效果越明顯[9],進而使得利用其所實現的功能和效果就越好。
1)卷積層
卷積層又稱之為特征提取層,是卷積神經網絡CNN 架構中最為關鍵的一部分,同時也是區別于傳統神經網絡最為顯著的特征[10]。該層包括多個卷積核濾波器,各卷積核與輸入數據或特征圖進行卷積運算來實現特征提取的功能。為了降低神經網絡的過擬合,卷積層通常采用局部連接的方式。即每個神經元只需連接附近的局部區域,而不需要與特征圖中的所有特征點進行連接。同時,為盡可能減少網絡運行參數。在卷積運算中,使每個卷積核濾波器的參數實現共享,可使最后得到的結果泛化能力更強。
卷積過程如圖2所示。其中,輸入的是大小為5×5的數據信息,卷積濾波器的大小為3×3,步長為1,對應的卷積表達式[11]如式(1)所示。

圖2 卷積運算過程

其中,yj表示第j個輸出特征圖,(f)代表所用到的激活函數,*代表卷積操作,pi為需要進行卷積的第i個特征圖,wij為當前卷積核所對應的權值,bj為當前輸出特征圖的偏置。
2)池化層
池化層也稱為下采樣層,該層主要是用來對前面卷積層所得到的高維特征進行降維處理,從而大幅減少網絡的參數數量,有效提高神經網絡的運行速度以及避免數據間過擬合的情況發生。目前,常用的池化方法為最大池化(max-pooling)和平均池化(mean-pooling)[12-14]。
兩種池化方式對應的過程如圖3 所示。在該示意圖中,所需池化的數據大小假設為4×4,池化核為2×2,步長通常與池化核的長或寬相同,設置為2,最后所得到兩種分別由最大值與平均值所組成2×2 的池化結果。綜合考慮兩種方式的優缺點,該文的仿真實驗將采用最大池化的方法對數據進行處理。

圖3 池化過程示意圖
3)全連接層
輸入的數據經過多重卷積層與池化層之后,提取出表達能力強且十分抽象的特征表示[15]。全連接層作為整個卷積神經網絡的最后一層,其最重要的功能就是將提取到的特征按照一定規則進行整合,同時映射到樣本標記空間,形成相應的一維向量,最后經過層內激活函數進行輸出。
1)詞向量及文本表示
利用卷積神經網絡算法對醫療健康數據進行處理時,首先需要將文本數據中包括的各詞利用詞向量方法進行數字化處理。
詞向量法可以簡單理解為通過建立詞表將文本數據中各詞與詞表中向量一一對應的方法[16]。如圖4所示,n個詞60 維的詞向量,這些詞向量組合成為一個詞表矩陣。

圖4 詞向量法示意圖
目前,詞向量法大體可以分為離散表示法和分布式表示法兩類。其中,離散表示法是一種基于規則或者統計的簡單方法,將每個詞表示為一個長向量,并且該向量中有且只有一個維度的值為1,其余值則全部為0。該方法的缺點在于所建立的詞表矩陣規模一般較大,而且不能較好地表示各詞之間的相對關系,因此不滿足該文研究的要求。分布式表示法則是通過訓練將各詞表示為一個定長的連續稠密向量,圖5 所示為利用分布式表示法所建立的詞表以及“頭疼”“頭暈”等詞所對應的詞向量表示。相較于離散表示法,該方法能夠較優地表示文本數據各詞之間的相似關系,同時在有限維度下可以包含更多的信息。為此文中使用分布式表示法,對醫療數據中各詞進行數字化處理。

圖5 分布式表示法示意圖
2)CNN 設計及詞向量訓練
該文所設計的卷積神經網絡共5 層:卷積層1、池化層1、卷積層2、池化層2、全連接層,用來進行醫療健康數據的詞向量訓練及最后的疾病風險評估。
進行詞向量訓練時,要求訓練的醫療文本數據語料的純度越高越好,即訓練數據應具有較強的專業性。該文用從某三甲醫院數據庫中提取的近10 年來所有臨床記錄作為詞向量訓練的原始數據。在訓練過程中,CNN 所有相關參數定義為集合φ,φ中參數首先全部隨機初始化,然后利用梯度下降法對參數進行更新,直到最終參數使得所對應的對數似然函數值達到最大為止,所用到的公式如式(2)所示。

式中,A為訓練樣本數據集,class 為訓練樣本數據的正確分類,若用γ代表學習率,則梯度下降法更新參數的公式如式(3)所示。

該文基于卷積神經網絡所建立的健康大數據智能分析模型如圖6 所示。

圖6 健康大數據分析模型
在該模型里,數據庫中保存著醫院進行診治的所有醫療數據。其中,包括患者的自述病情、醫生的問診、體格檢查、各項化驗檢查結果、服用藥品、治療方案以及最終的診斷結果等。該模型利用數據庫中的歷史醫療文本數據不斷進行自學習與優化,最終得到的訓練模型用來實現對新傳入健康數據的智能分析以及疾病的風險評估。
模型主要由詞向量訓練、CNN 特征學習以及疾病風險評估3 個模塊所組成。詞向量訓練模塊負責將數據庫中的專業醫療歷史數據進行預處理,并用處理后的數據作為語料進行文本數據的數字化表示及詞向量的訓練;CNN 特征學習模塊負責將訓練后的詞向量輸入到CNN 中,進行分析模型的學習與訓練,最后得到效果最優的健康大數據分析模型;疾病風險評估模塊則是利用訓練好的模型對新輸入數據進行健康評估,并輸出最終結果。
為了驗證該文所提方法在醫療健康大數據分析中的有效性,與國內某三甲醫院合作,從其中心數據庫中選取了近十年該醫院冠心病、肺部感染、腦梗死以及高血壓等4 種常見慢性疾病的醫療數據,組成以下4 種樣本數據集。
A1:該數據集中包含1 457 名患者就診記錄、主述病情、生命體征等醫療數據,其中984 個冠心病患者數據,473 個非冠心病患者數據。隨機挑選85%作為模型訓練數據,剩下數據用來測試。
A2:該數據集中包含2 083 名患者問診記錄、主述病情等醫療數據,其中1 128 個肺部感染患者數據,955 個非肺部感染患者數據。隨機挑選85%作為模型訓練數據,剩下數據用來測試。
A3:該數據集中包含1 074 名患者就診記錄、治療方案、化驗結果等醫療數據,其中537 個腦梗死患者數據,537 個非腦梗死患者數據。隨機挑選85%作為模型訓練數據,剩下數據用來測試。
A4:該數據集中包含1 074 名患者就診記錄、化驗結果等醫療數據,其中537 個腦梗死患者數據,537 個高血壓患者數據。隨機挑選85 %作為模型訓練數據,剩下數據用來測試。該數據集為腦梗死與高血壓的對比數據集,這樣設置的原因在于兩者具有相似的發病癥狀,且大部分腦梗死患者同時伴有高血壓,極大增加了疾病風險評估難度。
進行實驗時,首先需要確定CNN 訓練卷積滑動窗口的大小,為此,設置窗口大小為2~8,以步長2 進行滑動,分析討論窗口大小對準確率、召回率等風險評估指標的影響,數據集使用A1與A2集。實驗結果如圖7 所示。

圖7 滑動窗口對評估指標的影響
由圖7 可以看出,當窗口大小設置為6 時,兩個數據集對應的各項風險評估指標均較優于其他窗口設置。因此,后面的實驗也將CNN 滑動窗口大小設置為6。
利用選定的滑動窗口大小與數據集中的訓練數據,建立基于卷積神經網絡的健康大數據智能分析模型,并用剩余數據作為測試數據,各數據集對應的各項疾病風險評估指標結果,如表1 所示。

表1 疾病風險評估結果
分析表1 可知,該文所提出的基于卷積神經網絡的健康大數據智能分析方法,適用于對多種常見疾病的風險評估。對A1、A2 與A3 數據集的測試實驗中,準確率、召回率以及精確度三項評估結果均可達到90 %以上。同時也可以看出,使用A4對比數據集進行的疾病風險評估結果雖略低于其他數據集,但是也可以達到較高的水平。綜上所述,各數據集的實驗結果充分驗證了所提方法的有效性、可靠性及通用性。同時也說明,該方法在分析相關聯疾病中已取得較優的效果,但仍有一定的進步空間。
該文通過介紹卷積神經網絡CNN 基本理論[7-18],提出了一種醫療健康大數據智能分析方法。該方法將CNN 文本分析技術運用于疾病風險評估中,且不同的疾病特征提取使用相同的方法,保證了所提方法的通用性。不同數據集的實驗結果說明,該文的方法能夠較優地適用于常見疾病的風險評估,具有較高的可靠性。同時,該方法在進一步研究與分析關聯疾病中仍有較大的提升空間。