陳靜雯,張鵬鵬,徐思語(yǔ),李正偉,路 董
(上海電機(jī)學(xué)院 電子信息學(xué)院,上海 201306)
呼吸道疾病是一種傳染性強(qiáng)、覆蓋范圍廣、易感人群多的常見(jiàn)疾病。因呼吸道疾病就診的人數(shù)正在逐年增加。兒童和老人是呼吸道疾病的高發(fā)人群,每年因呼吸道疾病致死的人數(shù)約700萬(wàn)[1]。21世紀(jì)始,新型呼吸道傳染性疾病屢屢出現(xiàn)。2003年主要爆發(fā)于亞洲的SARS就是一種新型非典型性呼吸道傳染性疾病,據(jù)世界衛(wèi)生組織2003年8月15日公布的最新統(tǒng)計(jì)數(shù)字,中國(guó)內(nèi)地累計(jì)病例5 327例,死亡349人;中國(guó)香港1 755例,死亡300人[2]。2019年末至今,在全球范圍廣泛爆發(fā)的新型冠狀病毒也是一種新型呼吸道傳染性疾病。截至2021年12月20日,全球新冠肺炎確診病例超過(guò)2.7億例,死亡病例超過(guò)535萬(wàn)例[3]。新型冠狀病毒COVID-19的變種越來(lái)越多,危險(xiǎn)性和傳播性也越來(lái)越高。
傳統(tǒng)呼吸道疾病主要通過(guò)醫(yī)生依據(jù)檢查和檢驗(yàn)的結(jié)果根據(jù)經(jīng)驗(yàn)進(jìn)行判斷。隨著信息技術(shù)的發(fā)展,呼吸道疾病預(yù)測(cè)走向了智能化發(fā)展的道路。現(xiàn)有的疾病預(yù)測(cè)系統(tǒng)基于SEIR模型建立,而SEIR模型將傳染病流行范圍內(nèi)人群分為易感者(Susceptible)、潛伏者(Exposed)、感染者(Infected)、康復(fù)者(Recovered),四種人群以固定的概率轉(zhuǎn)化,并由此對(duì)疫情的情況進(jìn)行模擬[4]。但是該模型存在很多缺陷,很多細(xì)節(jié)并未考慮到,例如該模型未考慮人群的年齡結(jié)構(gòu)和病毒的變異等。
機(jī)器學(xué)習(xí)是讓計(jì)算機(jī)像人類(lèi)一樣學(xué)習(xí)和行動(dòng)的科學(xué),通過(guò)觀察與現(xiàn)實(shí)世界進(jìn)行互動(dòng)的形式向他們提供數(shù)據(jù)和信息,隨著時(shí)間的推移,以自主方式提高計(jì)算機(jī)的學(xué)習(xí)能力。在全民大數(shù)據(jù)時(shí)代,它能處理的數(shù)據(jù)量更大,超過(guò)了單人的處理能力,也超過(guò)了多人協(xié)作處理的能力。機(jī)器學(xué)習(xí)算法通過(guò)訓(xùn)練樣本進(jìn)行泛化學(xué)習(xí)能夠成功解釋全新的數(shù)據(jù)。實(shí)際生活應(yīng)用中,它能夠?qū)⑸钪械默F(xiàn)實(shí)問(wèn)題模擬成數(shù)學(xué)問(wèn)題,將各種影響轉(zhuǎn)化為參數(shù),以減少真實(shí)場(chǎng)景對(duì)使用者的影響,并利用各種數(shù)學(xué)方法來(lái)解決問(wèn)題,從而解決現(xiàn)實(shí)生活中的問(wèn)題。在本系統(tǒng)的實(shí)際應(yīng)用中,機(jī)器學(xué)習(xí)算法可以通過(guò)各種特征選擇來(lái)訓(xùn)練模型進(jìn)行泛化學(xué)習(xí),從而對(duì)新的數(shù)據(jù)進(jìn)行分析繪圖。
因此,開(kāi)發(fā)一個(gè)能識(shí)別和分析常見(jiàn)呼吸道疾病,并能為早期發(fā)現(xiàn)新型呼吸道疾病提供途徑的可視化系統(tǒng)很有必要。
本文針對(duì)常見(jiàn)呼吸道傳染性疾病,設(shè)計(jì)開(kāi)發(fā)了一款基于機(jī)器學(xué)習(xí)的可視化呼吸道疾病預(yù)測(cè)系統(tǒng)。該系統(tǒng)可實(shí)現(xiàn)從數(shù)據(jù)輸入、特征選擇與提取、疾病類(lèi)型的分類(lèi)識(shí)別和預(yù)測(cè)結(jié)果顯示與分析的可視化全流程服務(wù),以實(shí)現(xiàn)智慧醫(yī)療,輔助醫(yī)生診斷常見(jiàn)呼吸道疾病。該系統(tǒng)架構(gòu)如圖1所示,主要分為數(shù)據(jù)管理層、算法訓(xùn)練層、輔助診斷層。
圖1 系統(tǒng)架構(gòu)
數(shù)據(jù)管理層的主要功能包括基本數(shù)據(jù)維護(hù)、數(shù)據(jù)批量導(dǎo)入、增刪改查等,其目的為訓(xùn)練準(zhǔn)備好基礎(chǔ)數(shù)據(jù)。該層功能包括:數(shù)據(jù)批量導(dǎo)入,如Excel數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)總庫(kù)(MySQL、SQLite……);數(shù)據(jù)單條編輯,如新增、刪除、更新等;數(shù)據(jù)瀏覽與查詢(xún),如表格化瀏覽與模糊查詢(xún);數(shù)據(jù)預(yù)處理,如異常數(shù)據(jù)處理等。
算法訓(xùn)練層的主要功能包括算法模型選擇(KNN、隨機(jī)森林等)、設(shè)定AI訓(xùn)練的參數(shù)集合(測(cè)試數(shù)據(jù)驗(yàn)證數(shù)據(jù)的劃分比例),其目的為選擇合適的訓(xùn)練算法生成診斷模型。該層功能包括:訓(xùn)練算法選擇;訓(xùn)練集與驗(yàn)證集的切分—設(shè)定比例;訓(xùn)練算法的參數(shù)選擇—特征選擇等;訓(xùn)練算法生成模型;模型的驗(yàn)證與調(diào)優(yōu)。
輔助診斷層的主要功能包括為醫(yī)護(hù)人員提供可視化診斷服務(wù),該層功能包括:患者化驗(yàn)單錄入(并計(jì)入診斷庫(kù));系統(tǒng)自動(dòng)診斷生成報(bào)告(診斷結(jié)論、可視化圖表)。
在醫(yī)療行業(yè),人工智能已應(yīng)用于疾病鑒別/診斷、個(gè)性化治療/行為矯正、藥物發(fā)現(xiàn)/生產(chǎn)、臨床試驗(yàn)研究、放射學(xué)和放射治療、智能電子記錄和流行病爆發(fā)預(yù)測(cè)等方面[5]。早期,開(kāi)發(fā)人員主要采用專(zhuān)家系統(tǒng)形式,通過(guò)演繹推理實(shí)現(xiàn)疾病預(yù)測(cè)[6]。隨著計(jì)算機(jī)技術(shù)的發(fā)展,機(jī)器學(xué)習(xí)方法被證明更適合預(yù)測(cè)與分類(lèi)問(wèn)題。本系統(tǒng)采用多種機(jī)器學(xué)習(xí)方法為常見(jiàn)呼吸道疾病的分類(lèi)與預(yù)測(cè)提供技術(shù)支持,也為今后及早發(fā)現(xiàn)新型呼吸道疾病的爆發(fā)提供可能途徑。針對(duì)常見(jiàn)呼吸道疾病可實(shí)現(xiàn)疾病特征選擇與提取、疾病類(lèi)型識(shí)別、疾病預(yù)測(cè)結(jié)果可視化和結(jié)果分析可視化等智慧醫(yī)療功能,輔助醫(yī)生診斷常見(jiàn)呼吸道疾病。同時(shí)本軟件系統(tǒng)為用戶(hù)提供了使用說(shuō)明及文檔以便用戶(hù)理解使用。
本系統(tǒng)采用的機(jī)器學(xué)習(xí)方法主要有支持向量機(jī)、K近鄰、決策樹(shù)和隨機(jī)森林。支持向量機(jī)(Support Vector Machine,SVM)是一類(lèi)按監(jiān)督學(xué)習(xí)方式對(duì)數(shù)據(jù)進(jìn)行二元分類(lèi)的廣義線性分類(lèi)器,其決策邊界是對(duì)學(xué)習(xí)樣本求解的最大分類(lèi)超平面[7-9]。通過(guò)核函數(shù),可將線性SVM擴(kuò)展到非線性分類(lèi)[10]。K鄰近分類(lèi)算法是數(shù)據(jù)挖掘分類(lèi)技術(shù)中最簡(jiǎn)單的方法之一,該方法的思路簡(jiǎn)單直觀,即如果一個(gè)樣本在特征空間中的K個(gè)相似(即特征空間中鄰近)樣本中的大多數(shù)屬于某一個(gè)類(lèi)別,則該樣本也屬于這個(gè)類(lèi)別。該方法在定類(lèi)決策上只依據(jù)最鄰近的一個(gè)或者幾個(gè)樣本的類(lèi)別來(lái)決定待分樣本所屬的類(lèi)別[11]。決策樹(shù)是在已知各種情況發(fā)生概率的基礎(chǔ)上,通過(guò)構(gòu)成決策樹(shù)來(lái)求取凈現(xiàn)值的期望值大于等于零的概率,評(píng)價(jià)項(xiàng)目風(fēng)險(xiǎn),判斷其可行性的決策分析方法,是直觀運(yùn)用概率分析的一種圖解法。由于這種決策分支畫(huà)成圖形很像一棵樹(shù)的枝干,故稱(chēng)決策樹(shù)。在機(jī)器學(xué)習(xí)中,決策樹(shù)是一個(gè)預(yù)測(cè)模型,他代表的是對(duì)象屬性與對(duì)象值之間的一種映射關(guān)系。決策樹(shù)中采用熵表示系統(tǒng)的凌亂程度,常用算法有ID3,C4.5,C5.0等[12]。隨機(jī)森林是一個(gè)包含多個(gè)決策樹(shù)的分類(lèi)器,并且其輸出的類(lèi)別是由個(gè)別樹(shù)輸出的類(lèi)別的眾數(shù)而定[13]。在訓(xùn)練數(shù)據(jù)中抽取多個(gè)樣本,然后對(duì)每個(gè)數(shù)據(jù)樣本建模。當(dāng)需要對(duì)新數(shù)據(jù)進(jìn)行預(yù)測(cè)時(shí),每個(gè)模型都進(jìn)行預(yù)測(cè),并將所有的預(yù)測(cè)值平均以便更好地估計(jì)真實(shí)的輸出值。隨機(jī)森林是對(duì)這種方法的一種調(diào)整,在隨機(jī)森林中決策樹(shù)被創(chuàng)建以便通過(guò)引入隨機(jī)性來(lái)進(jìn)行次優(yōu)分割,而不是選擇最佳分割點(diǎn)。因此,針對(duì)每個(gè)數(shù)據(jù)樣本創(chuàng)建的模型將會(huì)與其他方式得到的有所不同,不過(guò)雖然方法獨(dú)特且不同,但它們?nèi)匀皇菧?zhǔn)確的。結(jié)合它們的預(yù)測(cè)可以更好地估計(jì)真實(shí)的輸出值[14-15]。
系統(tǒng)主界面如圖2所示。本系統(tǒng)提供兩種數(shù)據(jù)輸入方式:選擇數(shù)據(jù)集文件和輸入數(shù)據(jù)(即多條數(shù)據(jù)和單條數(shù)據(jù))??紤]到用戶(hù)的不同需求,系統(tǒng)同時(shí)提供了特征選擇功能,為用戶(hù)提供多維度觀察數(shù)據(jù)的方法。在疾病識(shí)別過(guò)程中,不同的特征選擇會(huì)帶來(lái)不同的結(jié)果,可得到符合呼吸道疾病的特征組合。缺失值填充功能取決于特征選擇的結(jié)果,使得軟件適應(yīng)性有所提升??紤]到實(shí)際情況中,大多數(shù)患者并不會(huì)檢測(cè)所有指標(biāo),一定存在數(shù)據(jù)缺失現(xiàn)象,因此本系統(tǒng)提供了多種缺失值填充方法。之后,通過(guò)對(duì)數(shù)據(jù)集進(jìn)行歸一化處理,統(tǒng)一數(shù)據(jù)范圍,選擇機(jī)器學(xué)習(xí)方法建立預(yù)測(cè)模型。此外,本系統(tǒng)還為數(shù)據(jù)和結(jié)果提供多種可視化方法,以便用戶(hù)以各自最需要的方式快速捕獲所需信息[16]。
圖2 系統(tǒng)主界面
本系統(tǒng)提供了數(shù)據(jù)分析可視化功能。用戶(hù)選擇數(shù)據(jù)特征后,系統(tǒng)可向其提供所選特征缺失值情況(如圖3),便于用戶(hù)進(jìn)行數(shù)據(jù)分析和缺失值填充方式的選擇。系統(tǒng)為用戶(hù)提供了學(xué)習(xí)選取中位數(shù)、選取眾數(shù)、選取平均值等缺失值填充方法。中位數(shù)填充方法選取數(shù)據(jù)中間位置上的值作為缺失值,適合作為順序數(shù)據(jù)的集中趨勢(shì)測(cè)度值;眾數(shù)填充方法選取數(shù)據(jù)分布的峰值作為缺失值,適合作為分類(lèi)數(shù)據(jù)的集中趨勢(shì)測(cè)度值;平均數(shù)填充方法針對(duì)數(shù)值型數(shù)據(jù)計(jì)算,而且利用了全部數(shù)據(jù)信息,它是應(yīng)用最廣泛的集中趨勢(shì)測(cè)度值。當(dāng)數(shù)據(jù)呈對(duì)稱(chēng)分布或接近對(duì)稱(chēng)分布時(shí),選取代表性較好的平均數(shù),填充入缺失值中。當(dāng)用各種合適的填充方式填補(bǔ)完缺失值后可以進(jìn)行模型訓(xùn)練與數(shù)據(jù)分析。結(jié)果ROC曲線可視化如圖4所示。
圖3 特征缺失值可視化
圖4 結(jié)果ROC曲線可視化
在預(yù)測(cè)模型建立和使用后,本系統(tǒng)為用戶(hù)提供了預(yù)測(cè)結(jié)果ROC曲線可視化等結(jié)果可視化圖,便于用戶(hù)對(duì)不同預(yù)測(cè)模型和分類(lèi)結(jié)果進(jìn)行對(duì)比分析。圖4為多分類(lèi)的模型性能評(píng)測(cè),圖中點(diǎn)線為平均得分,其他不同線用于表示所使用的模型以及參數(shù)。ROC曲線用于給模型確定閾值,AUC曲線用于評(píng)判二分類(lèi)模型的優(yōu)劣。如果一個(gè)預(yù)測(cè)模型的ROC完全包住了另外一個(gè)預(yù)測(cè)模型的ROC,那么前者性能優(yōu)于后者,但是如果有交叉部分,就需要比較兩者的AUC[17]。
本系統(tǒng)是一款基于機(jī)器學(xué)習(xí)的呼吸道疾病預(yù)測(cè)可視化系統(tǒng),主要針對(duì)常見(jiàn)呼吸道傳染性疾病,實(shí)現(xiàn)從數(shù)據(jù)輸入、特征選擇與提取、疾病類(lèi)型的分類(lèi)識(shí)別和預(yù)測(cè)到結(jié)果顯示與分析的可視化全流程服務(wù),以實(shí)現(xiàn)智慧醫(yī)療,輔助醫(yī)生診斷常見(jiàn)呼吸道疾病。系統(tǒng)架構(gòu)分為3層,即數(shù)據(jù)管理層、算法訓(xùn)練層和輔助診斷層。系統(tǒng)提供多種機(jī)器學(xué)習(xí)方法,如支持向量機(jī)、KNN、決策樹(shù)等進(jìn)行常見(jiàn)呼吸道疾病的分類(lèi)與預(yù)測(cè)。此外,系統(tǒng)還提供了數(shù)據(jù)和結(jié)果可視化功能,避免了機(jī)器學(xué)習(xí)的“黑匣子”問(wèn)題,填補(bǔ)了當(dāng)前預(yù)測(cè)模型可視化的空缺,有助于智能醫(yī)療在醫(yī)療環(huán)境中的認(rèn)可與使用,也為今后及早發(fā)現(xiàn)新型呼吸道疾病的爆發(fā)提供可能途徑。