谷麗霞,劉欣芃
(1.上海市第六人民醫院,上海 201303;2.鄭州大學西亞斯學院,河南新鄭 451150)
第四次工業革命的到來使得互聯網中的數據量呈現出井噴式的增長。醫療財務分析領域同樣面臨著數據快速增長帶來的各項挑戰,數據量的增長需要更先進、高效的數據處理技術支持[1-5]。快速完成海量數據的識別與處理,可以有效提取數據中的有用信息進行輔助判別,不但能夠提升醫院財務系統運轉效率,還能為戰略決策提供有效的數據參考[6-8]。
近年來,計算機的運算能力得到了大幅提高。傳統的機器學習算法在計算效率上的優勢已隨著計算量的增長而變得越來越小,深度學習網絡憑借其更優秀的算法性能在工業界有了更廣泛的應用,眾多學者開始研究深度學習理論在醫療數據處理中的各項問題。對于醫療財務數據的處理,通常面臨著數據結構化程度低、特征維度大、數據缺失等問題。因此,深度學習算法較難直接找到契合的應用場景。為了提升醫療數據的分析效率,該文建立了一個智能化的醫療數據處理與識別系統。文中對于深度置信網絡進行研究,將其與自編碼網絡相結合,實現快捷化的數據特征識別,并以某醫院的相關財務數據集為例,對系統的數據分析能力進行了測試和分析。
數據量的增長使得傳統的機器學習算法無法充分挖掘出數據內的隱藏價值。深度學習并不是一項新興的技術,但是長期以來,由于其結構復雜,運算時間長,無法滿足應用需求。近年來,隨著計算機運算性能的提升,深度神經網絡得以在工業界應用。深度置信網絡(Deep Belief Network,DBN)是一種多層次的有監督網絡,區別于傳統的神經網絡,其引入了多個受限玻爾茲曼機(Restricted Boltzmann Machine,RBM)。RBM 的基本結構如圖1 所示[9-14]。
在DBN 中,其隱藏層多為RBM、DBN,隱藏層的連接方式較為靈活,可以是全連接的也可以是無連接的。DBN 通過堆疊多個RBM 來提升網絡的分類性能,對當前層訓練完畢以后,用當前層的輸出作為下一層的RBM 輸入,最終通過誤差的反向傳播來訓練整個網絡[15-16]。
DBN 基于能量模型,對于包含m個隱藏單元的DBN,定義其狀態為h,可見層的能量為v。此時RBM 的能量函數如式(1)所示。

在式(1)中,i代表可見單元,j代表隱藏單元,ai、bj分別是可見單元與隱藏單元的偏置,Wij是可見層到隱藏層的連接權重矩陣。通過相關參數,基于式(1)模型的初始化可以得到核心函數,如式(2)所示。

Z(θ)是P(v,h|θ)的歸一化算子。然后計算兩層間的概率因子,如式(3)所示。

利用式(3)可以得到隱藏層中第j個單元的激活概率,如式(4)所示。

在RBM 訓練中,需要確定的最終參數是E(v,h|θ)中的θ,文中通過Gibbs 抽樣,得到RBM 的近似分布,然后獲得E(v,h|θ)梯度的近似值。
對于傳統的淺層神經網絡,通常需要人為地定義、標注輸入數據的特征作為網絡訓練的輸入向量。該種定義方法涉及大量的數據處理,工作量極大。此外,對于算法使用者的專業水平要求較高且效率低下,而所提取的特征數量也不夠,無法滿足深度學習網絡的要求。因此,該文引入了自編碼器(Autoencoder)網絡作為特征提取方法。該網絡的特征提取流程如圖2 所示。

圖2 Autoencoder方法流程
Autoencoder 可以看作是一個無監督的學習網絡,它將輸入的數據(Input)進行編碼(Encoder),然后把編碼的結果解碼(Decoder)后獲得最終的輸出(Output)。隨 后,根 據Input 與Output 間 的 誤 差(Error)不斷調整編碼、解碼參數獲得期望的輸出。其網絡結構如圖3 所示。

圖3 Autoencoder網絡結構
對于m維的輸入變量X與n維的輸出變量Y,定義激活函數f與g,如式(5)所示。

其中,w與p分別是輸入層到隱藏層的權重矩陣和偏置矩陣,wˉ與q分別是隱藏層到輸出層的權重矩陣和偏置矩陣。文中使用的激活函數sf和sg均是Sigmoid 函數,理想狀態下,輸出層Y應是輸入層X數據的復現,因此w有如式(6)所示的關系:

為了降低輸入與輸出間的誤差,需要定義誤差距離W(x,y),當使用Sigmoid 函數時,W(x,y)的定義方法如下。

根據W(x,y),可以進一步定義自編碼過程中的損失函數。若訓練集的數據形式如式(8)所示:

則其損失函數如式(9)所示。

該文在自組織網絡訓練時,采用梯度下降算法生成的自組織網絡的隱藏層,即可作為深度神經網絡輸入的特征向量。
結合DBN 網絡與和Autoencoder 自編碼網絡,文中構建了圖4 所示的系統算法流程圖。
從圖4 可以看出,該算法系統,首先,需要對所需的相關醫療數據進行預處理;然后,使用Autoencoder算法自動化提取數據中的相關特征,利用提取的特征進行DBN 網絡訓練;最終,對訓練的網絡進行性能測試。

圖4 系統算法流程圖
該文結合深度置信網絡與自編碼網絡構成了一個深度學習系統,并將其應用在醫療財務數據的智能分析上。為了評估系統在數據分析上的性能,文中基于某大型醫院的財務數據集進行了測試實驗,該數據集包含了醫院一段時期內的148 500 條財務數據,通過分析每段單位時間內財務數據,實現對醫院運轉情況的評估標注,評估結果為運轉健康、運轉不利兩種。文中評估結果的判斷依據為醫院的財務周報數據集,并使用這兩個結果作為系統的輸出結果。
在將數據輸入到算法模型前,由于該數據集中存在著非格式化數據與數據缺失的現象,因此需要先進行數據的預處理。將預處理后的數據輸入到Autoencoder 網絡中,提取出17 個相關特征,具體的特征類目如表1 所示。

表1 模型輸入特征
在表1中,包含了可以反應醫院財務狀況的17個財務指標,這些指標覆蓋了醫院的運營成本、盈利狀態以及未來的發展預期等多個方面。
在仿真前,首先需要確定深度置信網絡的相關參數。對于深度置信網絡,重要的參數有輸入層、輸出層的節點數、隱藏層的節點數。其中,輸入層的節點數與特征數相關,輸出層的節點數與網絡輸出向量的維度有關。而隱藏層層數以及每層的節點數對網絡性能有著重要的影響。若層數與節點數較少,網絡深度不足,則會影響網絡的數據分析能力;若層數與節點數過多,網絡在訓練過程中則產生過擬合現象,從而影響網絡在測試集上的泛化性能。該文通過逐層實驗的方法,確定網絡隱藏層層數與每層隱藏層的節點數。
表2、表3 與圖5 給出了隱藏層層數、隱藏層節點數變化對模型精度的影響。表2 的第1 列與第2 列對應了第一次實驗,第一次實驗只有一個隱藏層。可以看出,當節點數為22 時,網絡可達到最優的精度63.4 %。其次,將第一個隱藏層的節點數設置為22,進行第二次實驗。表2 的第3 列與第4 列對應了第二次實驗的結果,第二次實驗中,第二個隱藏層節點數的變化范圍為6~14。可以看出,當節點數為10時,網絡可以達到最優的精度75.5 %。同樣的方法可以確定第3 層與第4 隱藏層的節點數。當由第3隱藏層增加為第4 隱藏層時,網絡的最佳性能由80.0 %降低到78.7 %,這是由于網絡結構的復雜性造成了訓練過程中產生過擬合現象。

表2 第1隱藏層和第2隱藏層節點數的影響

表3 第3隱藏層和第4隱藏層節點數的影響

圖5 隱藏層層數和隱藏層節點數變化對準確率的影響
結合實驗的數據,最終可以確定網絡的參數,如表4 所示。

表4 網絡參數
根據表4 中的參數進行網絡訓練,然后使用上文中處理后的相關數據進行算法性能測試。為了評估文中的DBN 與Autoencoder 方法組合后的算法系統性能,進行了對比實驗。具體結果如表5所示。

表5 網絡參數
表5 對比了該文中深度學習算法與一些淺層機器學習算法的實驗結果。可以看出,相較于淺層的機器學習算法,文中算法的AUC 與Accuracy 分別可達到0.81 與80.0%,而淺層機器學習中,性能最好的Random Forest 的AUC 和Accuracy 分別只能達到0.71和74.3%,在AUC上,該文算法提升了0.1,在Accuracy上,提升了5.7%,兩個指標均有較明顯的提升。
智能化的醫療數據處理系統對于醫療大數據分析具有重要意義,該文結合深度學習理論中的深度置信網絡進行了相關研究。通過引入自編碼網絡,實現了從大規模醫療財務數據中自動化的提取特征信息,提升了財務工作的效率。通過對比實驗證明,在醫療財務數據集的分析上,深度學習算法的各項指標均有明顯提升。而淺層機器學習算法的計算效率優勢將隨著計算機硬件技術的發展越來越小,深度學習算法在數據分析領域將會有更廣闊的應用前景。