廉翔博
摘要:近年來,隨著科技的發展和時代的進步,人們的生活水平在不斷的提高,而人們日常不規律的生活方式和習慣對身體造成的影響卻逐漸顯現,其中,最為突出的就是心血管類疾病,該病發病率和死亡率都在逐漸增高。由于醫療過程的復雜性,僅通過人工的提取、整合及診斷是否得心臟病,不僅過程繁瑣復雜,而且準確率和效率方面都不能達到很好的效果。為了解決此類問題,討論是否可以通過計算機來輔助進行心臟病的預測工作,于是這里利用了機器學習的感知機算法來完成,通過分析受測人心血管病相關特征,利用感知機模型分析實現對該疾病是否發生來最終完成輔助診斷,此研究能夠給人工診斷提供更高效更便捷的輔助預測,使其預測成功概率提高,增強患者存活率。
關鍵詞:機器學習;感知機;心臟病預測;數據分析
中圖分類號:F24文獻標識碼:Adoi:10.19311/j.cnki.1672-3198.2019.07.040
1引言
1.1心臟病預測的重要性
隨著社會城市化的深入,居民不健康生活方式的流向,我國心血管病(CVD)越來越多,并且在低收入人群和低齡人群中最為明顯。根據統計結果,未來10年我國心血管病患者數量將繼續快速增長,我國心血管病患者數量將繼續上升。目前,心血管疾病死亡仍是城鄉居民死亡的主要原因,農村占45.01%,城市占42.61%,CVD患者數為2億9000萬,高于腫瘤及其他疾病。
CVD患病人數的增加,致使我國心腦血管病住院費用年均增速遠高于國內生產總值增速,是我國負擔加重。影響了經濟發展和社會進步以及廣大群眾的心理。如何及時預測出心臟病加以治療這是一個迫在眉睫的問題。而如今傳統的六種心臟病檢測技術有著各種弊端導致心臟病預測不能有效的進行,CVD人數不能合理的控制在一定范圍內。所以推陳出新,利用新的技術來預測心臟病是極為重要的。
1.2心臟病檢測技術現狀
當前心臟病常用的檢測方法共有四種。心電圖檢測,多排CT檢查,ECT檢測,超聲心動圖。
心電圖(ECG)時一種經過胸腔的,以時間為單位記錄心臟生理活動的一項技術。它的原理是通過記錄心肌細胞去極化后在皮膚表面記錄小的電變化。然后被記錄成心電圖,心電圖檢測能檢測心律失常,是診斷冠心病的主要方法。他的優點在于簡單經濟,但這也導致了他的檢測得不精準性。比如檢測結果正常的患者卻在臨床時發生了猝死現象常常發生。
多排CT檢查主要用于先天性心臟病的檢測,是無創性檢查。它的優點在于能清晰地顯示冠脈血管病的情況。并且還有著掃描速度優勢,完成整個心臟僅需5~10s。更高的圖像分辨率(0.3MM),但同樣,此方法也有著缺點,對細微的血管并不敏感,并且對病人的心率要求高。
ECT檢測,及放射性核素檢查,其原理是把放射性藥物注射入人體,在代謝之后,探測臟器內,病變組織和正常組織之間的濃度差異,然后通過計算機在成像。優點為可以了解到心肌梗塞的范圍以及是否具有可逆性。缺點為費用昂貴,不能早期發現病變。
超聲心動圖是利用物理學上的超聲測距原理檢查心臟和大血管的解剖結構和狀態的一種技術。顯示的是狀態和時間的曲線,這個曲線即為超聲心動圖。超聲心動圖主要用于了解心室壁的動作心臟瓣膜活動情況等,費用較低。缺點為,對冠脈準確性較低,也不能早期發現病變。
1.3論文創新點
與現有的四種檢測方法不同的是本文采用的感知機預測系統。感知機預測系統實際上使用的是機器學習。通過現有的數據構建一個模型,然后利用這個模型再預測出病人是否會得心臟病。就未來而言,機器學習取代傳統是一個趨勢,但目前來說,機器學習與傳統檢測方法的準確率不分伯仲。所以本文是用機器學習來輔助傳統檢測,使其準確率更高,使效率最大化,這是本文的創新點。
2機器學習概述及數據分析
2.1機器學習
本文的心臟病預測系統需要用到機器學習,它是人工智能的一個主要分支,同時也是一門多領域交叉學科,涉及概率論,統計學等。它是用來使人工智能模擬人類學習的重要手段。機器學習主要分為兩個方面:第一個是“訓練”,即通過各種現有的“學習資料”使它產生經驗,建構模型。比如之前的圍棋比賽中,Alphago就是事先通過各種棋譜和對手的數據信息進行學習訓練。根據訓練所需要學習資料數量的不同,會導致后來的“決策”準確率不同。第二個便是“決策”,決策是利用“訓練”已經構建好的模型進行實時計算,如果說“訓練”是長期的學習過程,那么“決策”就是考場上的現場發揮。比如Alphago已經訓練完成,在和人類比賽時,就是把實時獲得的數據通過模型“決策”出對應的數據,比如該走哪一步之類的。“決策”的正確率都由“訓練”所構建的模型決定。
比如已有數據X1和對應的一個數據Y1經過訓練后可以得到一個函數模型,然后再導入模擬的數據X2即可通過該模型進行決策得到對應數據Y2。而交叉驗證是用來判斷分類器性能的一種統計學方法,原理為將已有的一批數據集分為兩個子集,分別是訓練集跟測試集 。訓練集用來建立模型,測試集用來測試該模型的精準度。訓練集內元素的數量要大于測試集的元素,較為常見的為七三分、八二分等。要求訓練集和測試集要做到均勻分配,但一般很難做到徹底均勻,所以經常用的是隨機分配。在學習各種復雜度不同的模型時,選擇測試集具有最小誤差、最大正確率的模型,即分類正確的樣本在測試集中得所占比例。
2.2數據收集與分析
心臟病數據集(部分)如表1所示。
3利用感知機進行建模
3.1感知機模型
感知機模型原理為使用訓練集訓練模型,得到一個分類效果最好的超平面。超平面是平面中的直線,空間中的平面的推廣,即維度大于三的n維空間。超平面的方程為:W1*X1+W2*X2+…+WN*XN+B=0。
感知機模型就是f(X)=sign(W·X+B),其中sign是符號函數。每一個感知機模型,都對應著一個超平面w·X+b=0,這個超平面的參數是(w,b)。其中W為權重(WEIGHT),b為偏置(BIAS)。
把超平面方程拆開,即為W1*X1+W2*X2+…+WN*XN +B=0,每一個向量X都對應一個權重W。因為一個感知機模型需要輸入許多的元素,因此你還要權衡每個元素來做出決策。比如到休息時間了,一共有三個元素決定你休不休息。分別是“餓不餓?”“論文寫沒寫完?”“困不困?”我們用X1、X2、X3這三個量來表示這三個元素。如果餓,那么X1賦值0,如果不餓賦值1。如果困,那么X3賦值0,不困X3賦值1。同樣得,如果論文沒寫完,那么X2就賦值1,反之為0。
但是每一個元素的權重是不同的,比如論文的重要性要遠大于餓不餓與困不困。所以我們設置W2為5,其余W1W2設置為1,然后參數B設置為- 4。那么這樣的話不管餓不餓還是困不困,只要論文沒寫完,那么最終結果都大于0,即都在超平面之上。這時候我們就可以把輸出分為兩類:一個是f(X)>0;另一個是f(X)<0。
如果有訓練集中某個點(XI,YI),使得YI(W*XI+B)<0,則稱該超平面W*X+B=0對該點分類失敗,此點為誤分類點。因為YI與(W*XI+B)的符號是相等的,所以他們的乘積應該恒大于0,所以當乘積出現負值時,此點即成為誤分類點。
想要確切了解該模型分類效果的好壞,就得知道誤分類點的值,通過值的大小來判斷。其中誤分類點到超平面的距離公平為:,由此就可以得到損失函數的定義如下:
此函數表示所有誤分類點到超平面距離的和。函數值越大,則代表分類越失敗,由于X是已定的,因此我們只需要反復調試w和b的值以使函數值最小即可。當函數L達到最小值時,此時的參數w和b就是最理想的感知機模型。
3.2運行結果分析
尋找到感知機模型之后,便要代入數據進行初步預測,然而初步預測結果并不理想。在交叉驗證的處理下,預測率屢次在0.6左右徘徊,沒有達到預期效果。其中最好的一次也僅僅達到0.623,因此我們必須尋找到原因然后對數據進行調整。首當其沖的自然是數據集不夠。我們這個心臟病數據集的總數量僅為303個數據,數據集少,特征少帶來的便是誤差大,分析結果有誤,并且容易發生欠擬合,因此我們我們要對數據集進行擴充。第二個原因便是沒有對數據集進行預處理。
比如性別和靜止血壓的特征差距很大,一個僅為個位,一個已經在百位以上。差距太大,帶來的便是出錯率較高,所以我們要對這些數據進行優化處理,使他們容易被機器學習分析。
3.3系統優化處理
基于系統不太理想的預測效果,這里系統優化處理主要是進行數據預處理,有兩種:一是歸一化;二是標準化。
歸一化是指把所有數據進行線性變化把數據映射到[0,1]區間內。歸一化有兩個好處。
一是提升模型的收斂速度。如性別的取值為0-1,而靜止血壓的取值為1-200,假如只有這兩個特征,對其進行優化時,會得到一個窄長的橢圓形,導致在梯度下降時,梯度的方向為垂直等高線的方向而走之字形路線,這樣會使迭代很慢,相比之下,歸一化后的迭代就會很快。
二是提升模型的精度。歸一化的另一好處是提高精度,這在涉及到一些距離計算的算法時效果顯著,比如前文提到的計算距離,年齡的取值范圍比較小,涉及到距離計算時其對結果的影響遠比靜止血壓帶來的小,所以這就會造成精度的損失。所以歸一化很有必要,調整各個權重,他可以讓各個特征對結果做出的貢獻相同。
圖2展示的便是進行標準化優化處理之后的結果,雖然數據集不變,但是準確率已經提高到了0.836,倘若數據集進一步擴增,預測成功率還將會更高,最終接近1。
圖3展示的是進行歸一化處理后的結果,當把特征都映射到(0,1)區間后,他的準確率也是大幅度提高,達到了0.902。并且經過多次測試之后,它的準確率已經可以穩固在0.9左右。可見對數據進行系統優化處理是非常有必要的一步。
最終經過反復的調試感知機算法的預測率已經遠高于人工預測率,感知機輔助人工進行預測已經初步成功。
4結語
隨著時代的發展,科技的進步。人工智能走進家門,邁入各個崗位是必然趨勢,代替人類工作,成為新的勞動力。而利用感知機的機器學習來輔助傳統心臟病檢測也僅僅只是邁了半步。人工智能還在發展,最后是否會出現真正像人類一樣的存在仍充滿未知,路還很長,我們還在繼續。
參考文獻
[1]葉雯,劉美南,陳曉宏.感知器算法在臺風風暴潮災情等級評估中的應用[J].中山大學學報(自然科學版),2004,(02):117-120.
[2]李恬,袁宇賓,李波.基于感知器算法的網絡擁塞控制研究[J].計算機工程與設計,2009,30(07):1635-1638.
[3]王娟,王翰虎,陳梅.基于模糊聚類循環迭代模型的心臟病預測方法[J].鄭州大學學報(理學版),2007,(04):137-140.
[4]李會軍,季剛,馬增良,等.一種基于多層感知機網絡的預測控制方法[C].中國控制與決策學術年會論文集.北京:中國科學院自動化研究所,2007:151-154.