湯永杰
摘要:心臟病診斷檢查可產(chǎn)生大量醫(yī)療數(shù)據(jù),使用人工智能技術(shù)對(duì)其進(jìn)行分析可實(shí)現(xiàn)輔助診斷并供醫(yī)生參考,從而降低誤診率,使用支持向量機(jī)可進(jìn)行診斷建模,為進(jìn)一步地提升模型性能,使用智能優(yōu)化算法進(jìn)行參數(shù)調(diào)整,對(duì)灰狼算法、粒子群算法、遺傳算法進(jìn)行測(cè)試函數(shù)尋優(yōu)、實(shí)際數(shù)據(jù)診斷建模實(shí)驗(yàn)。結(jié)果表明,灰狼算法尋解能力最強(qiáng),其優(yōu)化后的心臟病診斷模型性能最優(yōu),是最佳建模算法。
關(guān)鍵詞:心臟病;診斷建模;支持向量機(jī);灰狼算法;粒子群算法;遺傳算法
中圖分類號(hào):TP391 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)17-0014-03
Abstract:The diagnosis of heart disease can produce a large amount of medical data, which can be analyzed by artificial intelligence technology to achieve auxiliary diagnosis and for doctors' reference, so as to reduce the misdiagnosis rate. Support vector machines can be used for diagnostic modeling.In order to further improve the model performance, intelligent optimization algorithm is used for adjusting parameters.The grey wolf algorithm, the particle swarm optimization algorithm, the genetic algorithm carries on the test function optimization, the actual data diagnosis modelling experiment,The results show that the grey wolf algorithm has the best searching ability and the best performance of the optimized heart disease diagnosis model,which is the best modeling algorithm.
Key words: heart disease; diagnostic modelling; support vector machine; grey wolf optimizer; ?particle swarm optimization; genetic algorithm
心臟病是威脅我國(guó)人民生命健康的主要疾病之一, 其準(zhǔn)確診斷對(duì)我國(guó)衛(wèi)生、經(jīng)濟(jì)發(fā)展有重要意義[1]。臨床上為診斷疾病,會(huì)進(jìn)行多項(xiàng)指標(biāo)檢測(cè),生成大量醫(yī)療數(shù)據(jù)。而隨著電腦性能提升,人工智能得到迅速發(fā)展并受到廣泛關(guān)注,從海量信息提取有價(jià)值信息較過(guò)往更加高效、準(zhǔn)確。人工智能與疾病診斷成為新的研究方向,可避免因醫(yī)生主觀因素對(duì)診斷造成影響, 直接利用人工智能技術(shù)對(duì)數(shù)據(jù)進(jìn)行分析,生成輔助診斷供醫(yī)生參考。而支持向量機(jī)(Support Vector Machine,SVM)已被廣泛應(yīng)用于眾多行業(yè)[2-5],并取得良好效果,是理想的用于診斷建模的機(jī)器學(xué)習(xí)算法。
1 支持向量機(jī)
支持向量機(jī)基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化思想,可解決非線性分類問(wèn)題。SVM基本原理為尋找最佳分割超平面,從而使問(wèn)題變得線性可分。假設(shè)有n個(gè)訓(xùn)練樣本集:S = {(x1,y1), (x2, y2), … , (xn, yn)},xi是訓(xùn)練數(shù)據(jù),yi 是樣本類別且yi ∈{-1,1},+1 表示正例,-1 表示負(fù)例。如樣本集為線性可分,存在超平面WTX+b=0可對(duì)樣本數(shù)據(jù)正確分類,其中W為樣本權(quán)重向量,X 為訓(xùn)練樣本,b為偏置。各分類點(diǎn)與分割超平面距離最大時(shí),抗擾動(dòng)能力最強(qiáng),該超平面稱為最佳分割超平面。但實(shí)際應(yīng)用時(shí),數(shù)據(jù)通常存在離群點(diǎn)導(dǎo)致不可直接分割數(shù)據(jù),為此加入松弛變量以允許離散點(diǎn)存在,同時(shí)使用懲罰因子C平衡松弛變量與最大間隔距離。此外,實(shí)際數(shù)據(jù)常為非線性可分,SVM 利用核函數(shù)將數(shù)據(jù)進(jìn)行高維空間映射,從而找到一個(gè)超平面,實(shí)現(xiàn)線性可分。常用核函數(shù)有線性核函數(shù)、徑向基函數(shù)、多項(xiàng)式核函數(shù)。其中徑向基核函數(shù)面對(duì)不同問(wèn)題時(shí)性能較佳和穩(wěn)定,將其作為本文使用的核函數(shù)。而SVM性能受懲罰因子C、核函數(shù)參數(shù)σ的取值影響。
2 智能優(yōu)化算法
為找到合適的懲罰因子C、核函數(shù)參數(shù)σ,使用智能優(yōu)化算法是理想途徑之一。本文所用算法有以下幾種。
2.1 灰狼算法
灰狼算法(Grey wolf optimizer,GWO)是MirjaliIi等受灰狼捕食行為啟發(fā),于2014年提出的群體智能優(yōu)化算法[6]。自然界中,灰狼是群居生物,并有嚴(yán)格等級(jí)制度,低等級(jí)受高等級(jí)狼支配,最高級(jí)的頭狼領(lǐng)導(dǎo)整個(gè)狼群行動(dòng)。灰狼算法模擬其機(jī)制,將狼群中最佳的個(gè)體定為α狼,次優(yōu)個(gè)體為β狼,第三優(yōu)個(gè)體為δ狼,其余個(gè)體根據(jù)此三狼調(diào)整自己位置,具體機(jī)制如下:在問(wèn)題解空間內(nèi)隨機(jī)生成初始狼群,計(jì)算各狼適應(yīng)度并進(jìn)行排名,并選擇排名前三的狼,依次設(shè)置為α、β、δ;其余個(gè)體則依據(jù)α、β、δ狼的位置進(jìn)行調(diào)整至新的位置,實(shí)現(xiàn)對(duì)獵物即解的圍捕,若調(diào)整后出現(xiàn)優(yōu)于α狼的個(gè)體,其將成為新的α狼,β、δ狼類推;此后反復(fù)進(jìn)行位置更新與頭狼迭代,當(dāng)達(dá)到約束條件,例如達(dá)到最大迭代次數(shù)時(shí),停止算法,將α狼位置作為求解結(jié)果。
2.2 粒子群算法
粒子群算法(Particle Swarm Optimization, PSO)是由Eberhart和Kennedy根據(jù)鳥(niǎo)群在覓食時(shí)遷徙、聚集行為而提出的優(yōu)化算法[7]。算法中,種群內(nèi)各粒子在解空間內(nèi)協(xié)同飛行,以實(shí)現(xiàn)搜索問(wèn)題潛在解,其特點(diǎn)為記錄種群及個(gè)體的最優(yōu)記錄以指導(dǎo)搜索。具體實(shí)現(xiàn)方法為:設(shè)定慣性因子與學(xué)習(xí)因子,其中慣性因子決定粒子新速度受原速度影響程度,學(xué)習(xí)因子決定新速度受全局歷史最優(yōu)值與個(gè)體歷史最優(yōu)值影響程度;隨機(jī)初始化每個(gè)粒子的位置與速度,依據(jù)速度進(jìn)行位移實(shí)現(xiàn)粒子位置更新,根據(jù)全局最優(yōu)值與個(gè)體最優(yōu)值進(jìn)行速度更新,若出現(xiàn)比全局歷史最優(yōu)值更優(yōu)的個(gè)體,則用其替代全局歷史最優(yōu)值,個(gè)體最優(yōu)值亦然,達(dá)到算法結(jié)束條件時(shí),全局歷史最優(yōu)值為算法所得解。
2.3 遺傳算法
遺傳算法(Genetic Algorithm,GA)是Holland提出的優(yōu)化算法,其模仿自然界生物遺傳進(jìn)化機(jī)制,引入染色體、交叉、變異概念,將求解個(gè)體信息0-1化作為染色體,通過(guò)交叉變異產(chǎn)生新的個(gè)體,優(yōu)勝劣汰方式尋解[8]。其過(guò)程如下:設(shè)定交叉概率與變異概率,隨機(jī)初始化個(gè)體,個(gè)體信息為0-1化信息,計(jì)算每一個(gè)體對(duì)應(yīng)值的適應(yīng)度,適應(yīng)度好的個(gè)體更容易被保留至下一代;對(duì)于保留下來(lái)的個(gè)體,根據(jù)交叉概率對(duì)群體進(jìn)行交叉操作,即選取個(gè)體的0-1化信息片段進(jìn)行互換,根據(jù)變異概率對(duì)群體進(jìn)行變異,即對(duì)個(gè)體0-1化信息片段以隨機(jī)產(chǎn)生的片段進(jìn)行替換,通過(guò)交叉和變異產(chǎn)生新的個(gè)體;反復(fù)進(jìn)行選擇、交叉變異,當(dāng)達(dá)到算法終止條件時(shí),返回群體內(nèi)最優(yōu)個(gè)體作為解。
3 實(shí)驗(yàn)結(jié)果及分析
3.1 算法比較
不同優(yōu)化算法的性能會(huì)有所差異,需選取適合的算法進(jìn)行模型優(yōu)化。客觀起見(jiàn),本文進(jìn)行對(duì)比的GWO算法,PSO算法,以及GA算法的種群大小統(tǒng)一設(shè)為50,最大迭代次數(shù)均設(shè)置為500;其中PSO算法的學(xué)習(xí)因子c1=c2=1.8,慣性權(quán)重設(shè)置為0.9;GA算法交叉概率為0.8,變異概率為0.1。
首先,本文使用4個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)進(jìn)行對(duì)比實(shí)驗(yàn),函數(shù)信息如表1所示。
函數(shù)均為30維,且最小值為0,為避免偶然偏差,對(duì)于每個(gè)測(cè)試函數(shù),各算法均獨(dú)立運(yùn)行30次。GWO、PSO、GA三個(gè)算法在測(cè)試函數(shù)上運(yùn)行結(jié)果如表2所示。
表2列出了GWO、PSO、GA算法獨(dú)立運(yùn)行30 次后得到的平均值與標(biāo)準(zhǔn)差??梢?jiàn)對(duì)于不同函數(shù),PSO均優(yōu)于GA,而GWO顯著優(yōu)于二者,對(duì)于函數(shù)f1-f4,GWO的尋優(yōu)平均值分別達(dá)到5.19869E-33、3.91674E-07、3.63735E-11、7.80762E-14的水平,同時(shí)具有最小的標(biāo)準(zhǔn)差,表明GWO在尋解精度與魯棒性上有明顯優(yōu)勢(shì)。
為了更直觀地展示GWO算法的尋優(yōu)性能,取4個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)其中一次運(yùn)行的迭代曲線圖進(jìn)行討論,如圖1-圖4所示。
由函數(shù)迭代曲線可知,GWO算法的收斂速度要明顯優(yōu)于PSO、GA,其在所有測(cè)試函數(shù)均能取得最佳尋優(yōu)結(jié)果。在單峰函數(shù)f1,PSO、GA均于低精度時(shí)即出現(xiàn)早熟,GWO則能保持解精度的高速提升。單峰函數(shù)f2中,GA算法的解精度提升最早出現(xiàn)停滯,PSO停滯時(shí)間較晚并取得較GA更優(yōu)解,但仍為早期停滯,GWO則全程保持解精度高提升速率。多峰函數(shù)f4中,GWO的曲線呈逆S型,早期提升速率較低,在150代附近求解精度出現(xiàn)快速提升,后期提升趨緩。f5函數(shù)是很難找出全局最優(yōu)值的一種多模態(tài)函數(shù),直至接近300代時(shí),GWO算法保持高精度提升率。PSO、GA在兩多峰函數(shù)中均在解精度較低時(shí)即停止提升。
3.2 診斷模型比較
式中aij為原始數(shù)據(jù)值,[maxiaij]為第i個(gè)特征值的最大值,[miniaij]為第i個(gè)特征值的最小值,rij為歸一化所得數(shù)據(jù)值。經(jīng)歸一化處理,所有特征值均位于[0,1]區(qū)間,具有相同量綱。
為驗(yàn)證GWO-SVM有效性,使用PSO-SVM、GA-SVM與之進(jìn)行對(duì)比,取前60%數(shù)據(jù)作為訓(xùn)練集,余下40%數(shù)據(jù)作為測(cè)試集。實(shí)驗(yàn)中,SVM參數(shù)范圍為:懲罰因子C ∈[0.001,1500] ,核函數(shù)參數(shù)σ ∈[0.001,1000]。設(shè)置種群大小為30,最大迭代次數(shù)為100,將訓(xùn)練集數(shù)據(jù)導(dǎo)入算法,以最大準(zhǔn)確率為訓(xùn)練目標(biāo),訓(xùn)練所得參數(shù)如表3所示。
選取表3中的參數(shù)C和σ,建立GWO-SVM、PSO-SVM以及GA-SVM對(duì)應(yīng)的心臟病診斷模型。表4列出GWO-SVM、PSO-SVM、GA-SVM的診斷準(zhǔn)確率、MSE。
表4中的對(duì)比結(jié)果表明,相對(duì)于PSO-SVM、GA-SVM,GWO-SVM診斷模型有更強(qiáng)的診斷能力,不僅有最高的準(zhǔn)確率有,MSE值也比其他診斷模型更低。最終結(jié)果可見(jiàn),GWO的尋優(yōu)能力更佳,從而使得GWO-SVM心臟病診斷模型有更好的性能。
4 結(jié)束語(yǔ)
為實(shí)現(xiàn)心臟病輔助診斷,本文選用支持向量機(jī)進(jìn)行建模,并使用優(yōu)化算法提升模型性能。為選取最佳優(yōu)化算法,先對(duì)灰狼算法、粒子群算法、遺傳算法進(jìn)行測(cè)試函數(shù)尋優(yōu)實(shí)驗(yàn),結(jié)果表明灰狼算法具有最佳尋優(yōu)能力,然后使用實(shí)際心臟病數(shù)據(jù)集進(jìn)行診斷建模比較,灰狼算法同樣獲得最佳結(jié)果。實(shí)驗(yàn)表明,結(jié)合灰狼算法的GWO-SVM診斷模型性能最優(yōu),為心臟病診斷建模提供參考。
參考文獻(xiàn):
[1] 袁國(guó)銘,陳新利,袁國(guó)娜, 等.心臟病健康知識(shí)系統(tǒng)構(gòu)建與應(yīng)用[J].醫(yī)學(xué)信息,2019,32(22):8-10.
[2] 宣琦,方賓偉,王金寶,等.基于支持向量機(jī)的珍珠多特征分類方法[J].浙江工業(yè)大學(xué)學(xué)報(bào),2018,46(5):473-480.
[3] 張春紅,胡勇.基于支持向量機(jī)的機(jī)械振動(dòng)信號(hào)識(shí)別與分析[J].圖像與信號(hào)處理,2019,8(03):142-154.
[4] 徐曉冰,史興燕.煤炭需求量預(yù)測(cè)的支持向量機(jī)模型[J].電腦知識(shí)與技術(shù),2014(7X):4906-4908.
[5] 秦東興,邵雨新,張自圃.基于支持向量機(jī)的Scholte波自動(dòng)識(shí)別[J].電子世界,2020(2):20-22.
[6] Mirjalili S, Mirjalili S M, Lewis A. Grey wolf optimizer[J]. Advances in Engineering Software, 2014,69: 46-61.
[7] 曹孟達(dá),張濤,李文樺,等.基于粒子群算法的衛(wèi)星蓄電池區(qū)間預(yù)測(cè)方法[J].無(wú)線電工程,2020,50(4):285-293.
[8] 路永和,梁明輝.遺傳算法在改進(jìn)文本特征提取方法中的應(yīng)用[J].現(xiàn)代圖書情報(bào)技術(shù),2014(4):48-57.
【通聯(lián)編輯:梁書】