武萬(wàn)浩,吳明飛,王慧康,賈 惠,馬月坤
(華北理工大學(xué) 河北 唐山 063000)
在“健康中國(guó)”戰(zhàn)略背景下,居民健康意識(shí)慢慢從治療疾病向維護(hù)健康轉(zhuǎn)變,身體健康檢測(cè)日益普及化。對(duì)于普通居民而言,體檢數(shù)據(jù)可讀性不強(qiáng),人們很難從指標(biāo)中了解身體狀況,更無(wú)法獲取隱含的慢性病風(fēng)險(xiǎn)。據(jù)報(bào)道,在慢性病中,心血管病死亡占城鄉(xiāng)居民總死亡原因的首位[1],給居民和社會(huì)帶來(lái)嚴(yán)重的經(jīng)濟(jì)負(fù)擔(dān)。另外,醫(yī)學(xué)專家提出,除影像診斷外,常規(guī)體檢數(shù)據(jù)如血壓、血糖等也跟心臟疾病有重要關(guān)聯(lián)[2]。因此,從居民日常體檢數(shù)據(jù)中盡早探測(cè)到心血管疾病風(fēng)險(xiǎn),并實(shí)施早期干預(yù),可有效降低居民心血管疾病發(fā)病率。
人工智能技術(shù)的突破讓其在醫(yī)療領(lǐng)域得到認(rèn)可與廣泛應(yīng)用,特別是人工神經(jīng)網(wǎng)絡(luò)與數(shù)據(jù)深度挖掘技術(shù),對(duì)于提升醫(yī)療工作效率、提高醫(yī)生判斷準(zhǔn)確性起到良好的輔助作用[3]。早期機(jī)器學(xué)習(xí)算法在疾病預(yù)測(cè)上都取得了不錯(cuò)的效果[4]。深度學(xué)習(xí)是人工智能研究領(lǐng)域的另一方向,卷積神經(jīng)網(wǎng)絡(luò)CNN屬于深度學(xué)習(xí),是神經(jīng)網(wǎng)絡(luò)的一種重要算法[5]。朱宵彤等提出了一種基于一維卷積的心血管病預(yù)測(cè)模型,在保證預(yù)測(cè)準(zhǔn)確率的同時(shí)可有效處理復(fù)雜問(wèn)題[6]。
基于此,本文構(gòu)建了一種基于卷積神經(jīng)網(wǎng)絡(luò)的心臟病預(yù)測(cè)模型,并應(yīng)用于智慧康養(yǎng)系統(tǒng),系統(tǒng)重點(diǎn)實(shí)現(xiàn)體檢數(shù)據(jù)的可視化、健康管理的數(shù)字化、康養(yǎng)意見的精準(zhǔn)化以及心臟病預(yù)測(cè)定量化。通過(guò)本系統(tǒng),康養(yǎng)機(jī)構(gòu)可以對(duì)用戶精準(zhǔn)服務(wù);用戶可以直觀了解體檢數(shù)據(jù)以及心臟病患病風(fēng)險(xiǎn)。
基于卷積神經(jīng)網(wǎng)絡(luò)的智慧康養(yǎng)系統(tǒng)包含以下3個(gè)子系統(tǒng)。
健康管理對(duì)象用戶子系統(tǒng)。用戶可以及時(shí)查閱歷史體檢數(shù)據(jù),了解近期體征的變化趨勢(shì),并獲取健康評(píng)估和有針對(duì)性的康養(yǎng)建議。
健康檔案管理子系統(tǒng),為康養(yǎng)機(jī)構(gòu)提供用戶健康檔案的數(shù)字化管理服務(wù),醫(yī)護(hù)人員可以對(duì)患病風(fēng)險(xiǎn)較高的用戶制定個(gè)性化康養(yǎng)方案并精準(zhǔn)推送,實(shí)現(xiàn)疾病早期干預(yù)。
疾病風(fēng)險(xiǎn)預(yù)測(cè)子系統(tǒng)。實(shí)現(xiàn)用戶心臟病患病風(fēng)險(xiǎn)預(yù)判,以及從用戶歷史體檢數(shù)據(jù)中分析出用戶身體素質(zhì)變化。本系統(tǒng)是在Windows 10操作系統(tǒng)下開發(fā)完成,技術(shù)框架見圖1。
數(shù)據(jù)存儲(chǔ)功能由MySQL、文件存儲(chǔ)和高速緩沖存儲(chǔ)Redis提供。其中前兩種提供持久化存儲(chǔ),Redis提供快速讀取以減少數(shù)據(jù)庫(kù)的訪問(wèn),提高系統(tǒng)運(yùn)行效率[7]。業(yè)務(wù)層提供業(yè)務(wù)接口,包括基于TensorFlow框架的CNN預(yù)測(cè)模型構(gòu)建與調(diào)用、基于SpringBoot功能接口、基于Slf4j的日志記錄和基于Spring Security框架的權(quán)限控制。訪問(wèn)入口由基于Ant Design Pro框架的Web端和基于VantUI框架的微信小程序兩部分組成。
所謂疾病預(yù)測(cè),就是將人類身體體征數(shù)據(jù)和癥狀與特定疾病之間的關(guān)聯(lián)經(jīng)過(guò)計(jì)算機(jī)的復(fù)雜運(yùn)算后建立出數(shù)學(xué)模型,最終定量預(yù)診。利用人工智能來(lái)分析用戶體征數(shù)據(jù),為醫(yī)生的臨床診斷提供輔助的數(shù)據(jù)參考已成為精準(zhǔn)醫(yī)療的基礎(chǔ)[8]。本文選擇13個(gè)體征數(shù)據(jù),構(gòu)建基于CNN的心臟病預(yù)測(cè)模型,完成二分類訓(xùn)練,從而實(shí)現(xiàn)對(duì)用戶患病風(fēng)險(xiǎn)的預(yù)測(cè),模型預(yù)測(cè)準(zhǔn)確率接近94%,對(duì)于心臟病的診斷能夠提供輔助。
CNN預(yù)測(cè)模型架構(gòu)見圖2。
輸入層:原始數(shù)據(jù)由13個(gè)維度的參數(shù)組成一維數(shù)據(jù),經(jīng)過(guò)重新取樣與處理,解決類別不平衡問(wèn)題后輸入卷積層。
卷積層:卷積層用于提取輸入數(shù)據(jù)的高層特征[9],本算法設(shè)計(jì)了3個(gè)卷積層。由于輸入數(shù)據(jù)是單通道的一維數(shù)據(jù)序列,在卷積層中定義2*1的矩陣作為卷積核,按照步長(zhǎng)為1,卷積核自左向右依次與輸入數(shù)據(jù)進(jìn)行卷積操作。每個(gè)卷積層設(shè)定的濾波器數(shù)量為32、64、128,根據(jù)公式(1)和公式(2)可以分別得出,三層卷積操作后的特征圖是128通道10*1,參數(shù)數(shù)量16 512。
其中:N表示卷積層輸出特征圖的尺寸;W表示輸入特征矩陣尺寸,P為卷積層填充值;F為卷積核尺寸;S為步長(zhǎng)。
池化層:卷積層輸出的特征矩陣通過(guò)池化層進(jìn)行歸納提取,可以有效地縮小矩陣尺寸,減少輸入到全連接層的參數(shù)數(shù)量,從而加快計(jì)算速度防止過(guò)擬合問(wèn)題[10]。本系統(tǒng)中池化層設(shè)定的窗口為2*1,步長(zhǎng)為2,將輸出特征圖縮小至輸入特征圖的1/2,即128通道5*1。
Flatten層:對(duì)池化輸出進(jìn)行降維處理,將128通道5*1的特征圖轉(zhuǎn)換成一維序列輸出,輸出矩陣為640*1,并送入全連接層進(jìn)行分類處理。
全連接層:將特征圖映射到樣本標(biāo)記空間,即將所有輸入的特征進(jìn)行選擇性屏蔽后,計(jì)算數(shù)據(jù)屬于一個(gè)類別的概率值。最后經(jīng)由sigmoid激活函數(shù)輸入二分類數(shù)據(jù)。
其他設(shè)計(jì):在卷積和全連接操作后使用了Dropout函數(shù),隨機(jī)在每層對(duì)50%的節(jié)點(diǎn)進(jìn)行失活處理,使得模型泛化性更強(qiáng),減小對(duì)某些局部特征的依賴[11-12]。
本文使用UCI Heart Disease公開的心臟檢查結(jié)果數(shù)據(jù)集[13],共包含303例樣本,其中正類樣本164例,負(fù)例樣本139例,樣本數(shù)據(jù)包含13個(gè)屬性和1個(gè)二分類標(biāo)簽用于判定是否患病。其中13個(gè)屬性包括年齡、性別、胸痛類型、靜息血壓、血清膽固醇、空腹血糖、靜息心電圖、最大心率、運(yùn)動(dòng)誘發(fā)的心絞痛、String段壓低值、運(yùn)動(dòng)高峰期String段斜率、血管數(shù)量、病發(fā)種類。
將數(shù)據(jù)集按照3∶1分成訓(xùn)練集和驗(yàn)證集,對(duì)構(gòu)建的模型進(jìn)行訓(xùn)練與驗(yàn)證。以訓(xùn)練準(zhǔn)確率、驗(yàn)證準(zhǔn)確率、訓(xùn)練損失和驗(yàn)證損失作為綜合評(píng)估指標(biāo),最終獲得準(zhǔn)確率與損失隨迭代次數(shù)變化的關(guān)系曲線,見圖3??梢钥闯?,在所選數(shù)據(jù)集上,迭代次數(shù)為60時(shí),算法的準(zhǔn)確率達(dá)到94%,訓(xùn)練準(zhǔn)確率與驗(yàn)證準(zhǔn)確率擬合良好。
本系統(tǒng)按照功能需求與系統(tǒng)設(shè)計(jì)的規(guī)范,將全部功能劃分為3個(gè)子系統(tǒng),其中健康數(shù)據(jù)管理子系統(tǒng)和疾病風(fēng)險(xiǎn)預(yù)測(cè)子系統(tǒng)運(yùn)行于Web管理端,面向用戶的健康數(shù)據(jù)可視化運(yùn)行于微信小程序端,具體功能結(jié)構(gòu)見圖4,核心功能包括數(shù)據(jù)管理、健康檔案數(shù)據(jù)分析、心臟病風(fēng)險(xiǎn)預(yù)測(cè)。
3.1.1 基礎(chǔ)數(shù)據(jù)管理
管理員在Web管理端進(jìn)行系統(tǒng)基礎(chǔ)數(shù)據(jù)的維護(hù),包括機(jī)構(gòu)管理、用戶管理、權(quán)限管理。將用戶與機(jī)構(gòu)和接口權(quán)限綁定后,用戶方可進(jìn)行相關(guān)內(nèi)容的操作。針對(duì)常見基礎(chǔ)病,系統(tǒng)管理員可維護(hù)康養(yǎng)建議池,便于康養(yǎng)機(jī)構(gòu)的醫(yī)務(wù)人員快速提供康養(yǎng)方案。
3.1.2 健康檔案管理
系統(tǒng)為用戶的健康數(shù)據(jù)建立統(tǒng)一規(guī)范的檔案信息庫(kù),健康檔案可以手工單條錄入或Excel批量導(dǎo)入。系統(tǒng)提供多種維度的查詢方式,同時(shí)從接口層及視圖層嚴(yán)格控制數(shù)據(jù)權(quán)限,管理員可以快速便捷地查找并管理自己權(quán)限范圍內(nèi)的用戶健康檔案信息。
對(duì)于用戶的歷史健康檔案數(shù)據(jù),系統(tǒng)采取多種可視化方式展示用戶各項(xiàng)指標(biāo)的變化趨勢(shì)。基于變化趨勢(shì),醫(yī)務(wù)人員可以直接依據(jù)經(jīng)驗(yàn),或在調(diào)用數(shù)據(jù)分析接口獲取系統(tǒng)模型定量預(yù)測(cè)的輔助下,對(duì)用戶健康狀況完成預(yù)診斷,實(shí)現(xiàn)用戶健康檔案的數(shù)據(jù)分析功能?;诙ㄐ耘c定量的數(shù)據(jù)分析,醫(yī)務(wù)人員可以從建議池中獲取相應(yīng)的康養(yǎng)建議,定向推送到用戶的小程序端,供用戶及時(shí)查看并對(duì)潛在病癥盡早干預(yù)治療,見圖5。
用戶通過(guò)小程序快速導(dǎo)航欄可查詢近期健康數(shù)據(jù)各項(xiàng)指標(biāo)的變化趨勢(shì)。另外,還能夠主動(dòng)填報(bào)健康檔案數(shù)據(jù)到后臺(tái)系統(tǒng),以獲取后臺(tái)系統(tǒng)的檔案分析、康養(yǎng)建議以及對(duì)心臟病的風(fēng)險(xiǎn)預(yù)測(cè)。通過(guò)健康自測(cè),用戶可以測(cè)試并查看指標(biāo)數(shù)據(jù)在“國(guó)民體質(zhì)與健康數(shù)據(jù)庫(kù)”中的分布情況,對(duì)自己的身體狀況有初步感知,見圖6。
在互聯(lián)網(wǎng)高度發(fā)展的今天,智慧醫(yī)療產(chǎn)業(yè)即將步入蓬勃發(fā)展期。本系統(tǒng)將互聯(lián)網(wǎng)與智慧健康結(jié)合,形成“互聯(lián)網(wǎng)+醫(yī)療”的健康管理思維模式,并在相關(guān)技術(shù)的支撐下,實(shí)現(xiàn)了智慧健康管理平臺(tái)的原型開發(fā)工作。
系統(tǒng)分成兩個(gè)端,Web端主要面向康養(yǎng)機(jī)構(gòu)的管理人員和醫(yī)護(hù)人員,微信小程序移動(dòng)端面向普通用戶,將功能按照用戶群進(jìn)行組織,功能結(jié)構(gòu)清晰。小程序依托微信生態(tài)群,無(wú)需用戶安裝新的應(yīng)用,體量小,方便用戶使用;Web端簡(jiǎn)化管理,側(cè)重疾病預(yù)測(cè)與干擾,系統(tǒng)具有一定的實(shí)用性。
在具有一定體量的健康檔案數(shù)據(jù)后,將CNN模型重新構(gòu)建與訓(xùn)練,可以用于預(yù)測(cè)其他疾病,為精準(zhǔn)篩選和檢測(cè)高風(fēng)險(xiǎn)人群并采取疾病早期干預(yù)提供定量的科學(xué)依據(jù),在健康中國(guó)的背景下為推動(dòng)智慧醫(yī)療的發(fā)展提供一定幫助。