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