陳靜雯,張鵬鵬,徐思語,李正偉,路 董
(上海電機學院 電子信息學院,上海 201306)
呼吸道疾病是一種傳染性強、覆蓋范圍廣、易感人群多的常見疾病。因呼吸道疾病就診的人數正在逐年增加。兒童和老人是呼吸道疾病的高發人群,每年因呼吸道疾病致死的人數約700萬[1]。21世紀始,新型呼吸道傳染性疾病屢屢出現。2003年主要爆發于亞洲的SARS就是一種新型非典型性呼吸道傳染性疾病,據世界衛生組織2003年8月15日公布的最新統計數字,中國內地累計病例5 327例,死亡349人;中國香港1 755例,死亡300人[2]。2019年末至今,在全球范圍廣泛爆發的新型冠狀病毒也是一種新型呼吸道傳染性疾病。截至2021年12月20日,全球新冠肺炎確診病例超過2.7億例,死亡病例超過535萬例[3]。新型冠狀病毒COVID-19的變種越來越多,危險性和傳播性也越來越高。
傳統呼吸道疾病主要通過醫生依據檢查和檢驗的結果根據經驗進行判斷。隨著信息技術的發展,呼吸道疾病預測走向了智能化發展的道路。現有的疾病預測系統基于SEIR模型建立,而SEIR模型將傳染病流行范圍內人群分為易感者(Susceptible)、潛伏者(Exposed)、感染者(Infected)、康復者(Recovered),四種人群以固定的概率轉化,并由此對疫情的情況進行模擬[4]。但是該模型存在很多缺陷,很多細節并未考慮到,例如該模型未考慮人群的年齡結構和病毒的變異等。
機器學習是讓計算機像人類一樣學習和行動的科學,通過觀察與現實世界進行互動的形式向他們提供數據和信息,隨著時間的推移,以自主方式提高計算機的學習能力。在全民大數據時代,它能處理的數據量更大,超過了單人的處理能力,也超過了多人協作處理的能力。機器學習算法通過訓練樣本進行泛化學習能夠成功解釋全新的數據。實際生活應用中,它能夠將生活中的現實問題模擬成數學問題,將各種影響轉化為參數,以減少真實場景對使用者的影響,并利用各種數學方法來解決問題,從而解決現實生活中的問題。在本系統的實際應用中,機器學習算法可以通過各種特征選擇來訓練模型進行泛化學習,從而對新的數據進行分析繪圖。
因此,開發一個能識別和分析常見呼吸道疾病,并能為早期發現新型呼吸道疾病提供途徑的可視化系統很有必要。
本文針對常見呼吸道傳染性疾病,設計開發了一款基于機器學習的可視化呼吸道疾病預測系統。該系統可實現從數據輸入、特征選擇與提取、疾病類型的分類識別和預測結果顯示與分析的可視化全流程服務,以實現智慧醫療,輔助醫生診斷常見呼吸道疾病。該系統架構如圖1所示,主要分為數據管理層、算法訓練層、輔助診斷層。

圖1 系統架構
數據管理層的主要功能包括基本數據維護、數據批量導入、增刪改查等,其目的為訓練準備好基礎數據。該層功能包括:數據批量導入,如Excel數據導入數據庫總庫(MySQL、SQLite……);數據單條編輯,如新增、刪除、更新等;數據瀏覽與查詢,如表格化瀏覽與模糊查詢;數據預處理,如異常數據處理等。
算法訓練層的主要功能包括算法模型選擇(KNN、隨機森林等)、設定AI訓練的參數集合(測試數據驗證數據的劃分比例),其目的為選擇合適的訓練算法生成診斷模型。該層功能包括:訓練算法選擇;訓練集與驗證集的切分—設定比例;訓練算法的參數選擇—特征選擇等;訓練算法生成模型;模型的驗證與調優。
輔助診斷層的主要功能包括為醫護人員提供可視化診斷服務,該層功能包括:患者化驗單錄入(并計入診斷庫);系統自動診斷生成報告(診斷結論、可視化圖表)。
在醫療行業,人工智能已應用于疾病鑒別/診斷、個性化治療/行為矯正、藥物發現/生產、臨床試驗研究、放射學和放射治療、智能電子記錄和流行病爆發預測等方面[5]。早期,開發人員主要采用專家系統形式,通過演繹推理實現疾病預測[6]。隨著計算機技術的發展,機器學習方法被證明更適合預測與分類問題。本系統采用多種機器學習方法為常見呼吸道疾病的分類與預測提供技術支持,也為今后及早發現新型呼吸道疾病的爆發提供可能途徑。針對常見呼吸道疾病可實現疾病特征選擇與提取、疾病類型識別、疾病預測結果可視化和結果分析可視化等智慧醫療功能,輔助醫生診斷常見呼吸道疾病。同時本軟件系統為用戶提供了使用說明及文檔以便用戶理解使用。
本系統采用的機器學習方法主要有支持向量機、K近鄰、決策樹和隨機森林。支持向量機(Support Vector Machine,SVM)是一類按監督學習方式對數據進行二元分類的廣義線性分類器,其決策邊界是對學習樣本求解的最大分類超平面[7-9]。通過核函數,可將線性SVM擴展到非線性分類[10]。K鄰近分類算法是數據挖掘分類技術中最簡單的方法之一,該方法的思路簡單直觀,即如果一個樣本在特征空間中的K個相似(即特征空間中鄰近)樣本中的大多數屬于某一個類別,則該樣本也屬于這個類別。該方法在定類決策上只依據最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別[11]。決策樹是在已知各種情況發生概率的基礎上,通過構成決策樹來求取凈現值的期望值大于等于零的概率,評價項目風險,判斷其可行性的決策分析方法,是直觀運用概率分析的一種圖解法。由于這種決策分支畫成圖形很像一棵樹的枝干,故稱決策樹。在機器學習中,決策樹是一個預測模型,他代表的是對象屬性與對象值之間的一種映射關系。決策樹中采用熵表示系統的凌亂程度,常用算法有ID3,C4.5,C5.0等[12]。隨機森林是一個包含多個決策樹的分類器,并且其輸出的類別是由個別樹輸出的類別的眾數而定[13]。在訓練數據中抽取多個樣本,然后對每個數據樣本建模。當需要對新數據進行預測時,每個模型都進行預測,并將所有的預測值平均以便更好地估計真實的輸出值。隨機森林是對這種方法的一種調整,在隨機森林中決策樹被創建以便通過引入隨機性來進行次優分割,而不是選擇最佳分割點。因此,針對每個數據樣本創建的模型將會與其他方式得到的有所不同,不過雖然方法獨特且不同,但它們仍然是準確的。結合它們的預測可以更好地估計真實的輸出值[14-15]。
系統主界面如圖2所示。本系統提供兩種數據輸入方式:選擇數據集文件和輸入數據(即多條數據和單條數據)。考慮到用戶的不同需求,系統同時提供了特征選擇功能,為用戶提供多維度觀察數據的方法。在疾病識別過程中,不同的特征選擇會帶來不同的結果,可得到符合呼吸道疾病的特征組合。缺失值填充功能取決于特征選擇的結果,使得軟件適應性有所提升。考慮到實際情況中,大多數患者并不會檢測所有指標,一定存在數據缺失現象,因此本系統提供了多種缺失值填充方法。之后,通過對數據集進行歸一化處理,統一數據范圍,選擇機器學習方法建立預測模型。此外,本系統還為數據和結果提供多種可視化方法,以便用戶以各自最需要的方式快速捕獲所需信息[16]。

圖2 系統主界面
本系統提供了數據分析可視化功能。用戶選擇數據特征后,系統可向其提供所選特征缺失值情況(如圖3),便于用戶進行數據分析和缺失值填充方式的選擇。系統為用戶提供了學習選取中位數、選取眾數、選取平均值等缺失值填充方法。中位數填充方法選取數據中間位置上的值作為缺失值,適合作為順序數據的集中趨勢測度值;眾數填充方法選取數據分布的峰值作為缺失值,適合作為分類數據的集中趨勢測度值;平均數填充方法針對數值型數據計算,而且利用了全部數據信息,它是應用最廣泛的集中趨勢測度值。當數據呈對稱分布或接近對稱分布時,選取代表性較好的平均數,填充入缺失值中。當用各種合適的填充方式填補完缺失值后可以進行模型訓練與數據分析。結果ROC曲線可視化如圖4所示。

圖3 特征缺失值可視化

圖4 結果ROC曲線可視化
在預測模型建立和使用后,本系統為用戶提供了預測結果ROC曲線可視化等結果可視化圖,便于用戶對不同預測模型和分類結果進行對比分析。圖4為多分類的模型性能評測,圖中點線為平均得分,其他不同線用于表示所使用的模型以及參數。ROC曲線用于給模型確定閾值,AUC曲線用于評判二分類模型的優劣。如果一個預測模型的ROC完全包住了另外一個預測模型的ROC,那么前者性能優于后者,但是如果有交叉部分,就需要比較兩者的AUC[17]。
本系統是一款基于機器學習的呼吸道疾病預測可視化系統,主要針對常見呼吸道傳染性疾病,實現從數據輸入、特征選擇與提取、疾病類型的分類識別和預測到結果顯示與分析的可視化全流程服務,以實現智慧醫療,輔助醫生診斷常見呼吸道疾病。系統架構分為3層,即數據管理層、算法訓練層和輔助診斷層。系統提供多種機器學習方法,如支持向量機、KNN、決策樹等進行常見呼吸道疾病的分類與預測。此外,系統還提供了數據和結果可視化功能,避免了機器學習的“黑匣子”問題,填補了當前預測模型可視化的空缺,有助于智能醫療在醫療環境中的認可與使用,也為今后及早發現新型呼吸道疾病的爆發提供可能途徑。