国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于PSO優(yōu)化的SVM在心臟病分類上的應(yīng)用

2022-06-29 09:48:00曹嘉嘉嚴(yán)圓陳益尹玲張斐
關(guān)鍵詞:適應(yīng)度心臟病準(zhǔn)確率

曹嘉嘉 嚴(yán)圓 陳益 尹玲 張斐

(1.東莞理工學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 廣東東莞 523808;2.紐卡斯?fàn)柎髮W(xué) 工程學(xué)院,英國(guó)紐卡斯?fàn)?NE1 7RU;3.東莞理工學(xué)院 機(jī)械工程學(xué)院,廣東東莞 523808)

研究表明,我國(guó)有大量心血管疾病患者,其中心臟病患者占據(jù)多數(shù),并且我國(guó)心血管疾病的患病率和死亡率呈上升趨勢(shì)[1-2],心血管疾病已成為我國(guó)居民的主要死亡方式[3]。心臟病的及早診斷,對(duì)治療非常重要。但是由于病人繁多,醫(yī)生診斷會(huì)非常的耗時(shí)。隨著人工智能在醫(yī)療應(yīng)用上的崛起,心臟病輔助診斷的研究成果顯著,文獻(xiàn)[4]利用了貝葉斯優(yōu)化算法對(duì)隨機(jī)森林分類模型進(jìn)行參數(shù)尋優(yōu),而后將優(yōu)化的模型應(yīng)用到心臟病分類。文獻(xiàn)[5]通過(guò)自適應(yīng)遺傳算法選擇數(shù)據(jù)特征,而后使用人工蜂群算法優(yōu)化ELM隱層輸入權(quán)值和偏置,改善了ELM分類精度不高的缺陷。雖然心臟病的輔助診斷取得了一定進(jìn)展,但是由于數(shù)據(jù)樣本量少,學(xué)者們?nèi)孕杼綄ひ粋€(gè)性能優(yōu)異的小樣本分類器。

SVM由Vapnik等人[6]提出了一種基于統(tǒng)計(jì)學(xué)的有監(jiān)督機(jī)器學(xué)習(xí)方法,最早被用于解決二分類問(wèn)題。與深度學(xué)習(xí)方法相比,SVM可以避免過(guò)擬合、陷入局部最優(yōu)和低收斂性的問(wèn)題。最小化的經(jīng)驗(yàn)風(fēng)險(xiǎn)和結(jié)構(gòu)風(fēng)險(xiǎn)保證了SVM的高泛化能力。而且它在小樣本的處理上表現(xiàn)良好,剛好滿足了目前數(shù)據(jù)不足的問(wèn)題。然而,SVM的性能取決于兩個(gè)重要的參數(shù):(1)懲罰參數(shù)C,(2)核函數(shù)及它的參數(shù)。分類邊界的最大化和誤差最小化之間的平衡受懲罰參數(shù)的影響。而核函數(shù)的參數(shù)決定了輸入特征從低維空間到高維空間的映射質(zhì)量。在實(shí)踐中,這兩個(gè)參數(shù)的設(shè)置往往依靠個(gè)人經(jīng)驗(yàn),個(gè)人經(jīng)驗(yàn)的優(yōu)劣決定了SVM的性能,這給SVM的性能帶來(lái)了不確定性。

粒子群優(yōu)化算法由 Eberhart 和 Kennedy 于 1995 年提出[7]了一種模仿昆蟲(chóng)、鳥(niǎo)類等集體覓食行為的隨機(jī)并行優(yōu)化算法。粒子群優(yōu)化算法的目標(biāo)函數(shù)可以是不可微、不連續(xù)的,并且它具有收斂速度快、算法簡(jiǎn)單、易于實(shí)現(xiàn)等優(yōu)點(diǎn),所以經(jīng)常被用于各種優(yōu)化問(wèn)題[8-9]。

基于上述分析,本文提出了一種基于粒子群優(yōu)化支持向量機(jī)(PSO-SVM)的心臟病輔助診斷算法,該算法使用粒子群優(yōu)化算法自適應(yīng)選擇支持向量機(jī)的參數(shù),在Cleveland heart disease數(shù)據(jù)集上進(jìn)行算法驗(yàn)證,實(shí)現(xiàn)了PSO-SVM模型在心臟病分類任務(wù)中的應(yīng)用。另外還比較了所提方法在不同核函數(shù)下心臟病分類的性能,最終實(shí)驗(yàn)結(jié)果表明多項(xiàng)式核函數(shù)在本數(shù)據(jù)集上表現(xiàn)最佳,心臟病分類準(zhǔn)確率最高可達(dá)到88%。

1 PSO-SVM算法

1.1 支持向量機(jī)

SVM是一種基于統(tǒng)計(jì)學(xué)理論的有監(jiān)督機(jī)器學(xué)習(xí)方法,常用于分類和回歸。通過(guò)搜索最小結(jié)構(gòu)風(fēng)險(xiǎn),可以提高SVM分類器的泛化能力和最小化經(jīng)驗(yàn)風(fēng)險(xiǎn)。因此,它在樣本量較小的情況下也能展現(xiàn)出良好的分類性能。SVM的核心思想是找到一個(gè)可以分離不同類別數(shù)據(jù)的超平面,并最大化支持向量到超平面的間距。

假設(shè)存在數(shù)據(jù)集D={(x1,y1),(x2,y2),…,(xm,ym)},yi∈{-1,+1} ;其中xi是輸入數(shù)據(jù),是一個(gè)N維的向量;yi是類標(biāo)簽。在樣本空間中,超平面的定義如下:

ωTx+b=0 ,

(1)

其中,ω=(ω1;ω2;…;ωd)是確定超平面的法向因子;b是位移項(xiàng)用于確定超平面與原點(diǎn)間的距離。顯然,超平面由ω和b共同確定。

假設(shè)超平面(ω,b)可以直接將數(shù)據(jù)分類,則有:

(2)

能夠使式(2)中等號(hào)成立的輸入數(shù)據(jù)稱作“支持向量”。當(dāng)兩個(gè)異類支持向量到超平面的距離和最大時(shí),該超平面即是所搜索的目標(biāo)平面。而這個(gè)距離被稱為“最大邊距”,定義如下:

s.t.yi(ωTxi+b)≥1 ,i=1,2,…,m.

(3)

這意味著SVM的基本工作原理就是找到能夠滿足約束條件的ω,b,使得“最大邊距”最大化。

使用拉格朗日乘子法,以及引入核函數(shù),式(3)的對(duì)偶問(wèn)題表示如下:

(4)

此時(shí)超平面模型表示成:

(5)

其中函數(shù)k(.,.)表示“核函數(shù)”,用以實(shí)現(xiàn)將樣本從原始特征空間映射到更高維的特征空間。核函數(shù)的種類如下所示:

?d次多項(xiàng)式核:k(xi,xj)=(+c)d.

在現(xiàn)實(shí)中,很難找到一個(gè)合適的核函數(shù)使得訓(xùn)練樣本能夠在特征空間中線性分離。因此,需要加入松弛變量ξi來(lái)放松線性SVM的約束,其中ξi表示第i個(gè)訓(xùn)練模式與對(duì)應(yīng)的邊距超平面之間的距離,并且它應(yīng)該最小化。最終SVM的優(yōu)化目標(biāo)定義如下。

(6)

式中,C是一個(gè)大于0的常數(shù),表示為對(duì)錯(cuò)誤樣本的懲罰程度。

實(shí)驗(yàn)中SVM借助工具箱 LIBSVM[10]來(lái)實(shí)現(xiàn),LIBSVM由Chang等人開(kāi)發(fā)了一個(gè)可用于支持向量分類,回歸的集成軟件。

1.2 粒子群優(yōu)化算法

粒子是一種基于種群的計(jì)算技術(shù),它用以模擬鳥(niǎo)群中的個(gè)體(粒子)[11]。粒子群優(yōu)化算法(PSO)首先在可行解空間中初始化一群粒子,每個(gè)粒子代表極值優(yōu)化問(wèn)題的一個(gè)潛在最優(yōu)解。該粒子的特征由三個(gè)指標(biāo)表示:位置、速度和適應(yīng)值。在每次迭代中,粒子通過(guò)個(gè)體極值和群體極值來(lái)更新自己的速度和位置。更新公式如下:

(7)

其中,i=1,2,…,m,代表第i個(gè)粒子;k=1,2,…,K,表示維度;V是粒子的速度,同時(shí)對(duì)當(dāng)前速度加上兩個(gè)修正:(1)該個(gè)體與當(dāng)前路徑中最優(yōu)個(gè)體的差異;(2)該個(gè)體與群體最優(yōu)值的偏差; 是慣性因子;和是加速系數(shù),和是在[0,1]之間隨機(jī)數(shù)字。X是位置,是上一個(gè)位置與當(dāng)前速度的加和。實(shí)驗(yàn)中采用的是標(biāo)準(zhǔn)粒子群算法(PSO 2011),下文簡(jiǎn)稱PSO。

1.3 PSO-SVM建模

在使用SVM進(jìn)行心臟病分類時(shí),需要優(yōu)化SVM模型中懲罰系數(shù)C以及所選定的核函數(shù)的參數(shù)。將采用PSO算法優(yōu)化SVM的超參數(shù),使SVM模型在心臟病預(yù)測(cè)上達(dá)到理想的分類效果。同時(shí),為了選出最適合本模型的核函數(shù),實(shí)驗(yàn)對(duì)三種核函數(shù)都進(jìn)行了測(cè)試,最后根據(jù)實(shí)驗(yàn)結(jié)果擇優(yōu)。

算法流程如圖 1所示,具體的處理步驟為:

圖1 PSO-SVM算法流程圖

1)初始化粒子種群。對(duì)于不同的核函數(shù),粒子種群大小都初始化為30,算法迭代次數(shù)為10 000次。對(duì)于RBF核函數(shù)需要優(yōu)化兩個(gè)參數(shù),分別是c, gamma;對(duì)于多項(xiàng)式核函數(shù)需要優(yōu)化4個(gè)參數(shù),分別是c、gamma、r和d;對(duì)于sigmoid核函數(shù),需要優(yōu)化三個(gè)參數(shù),分別是c、gamma和r,具體的取值范圍見(jiàn)表3。隨機(jī)初始化粒子的初速度和初始位置。

2)計(jì)算適應(yīng)度值。在實(shí)驗(yàn)中,將訓(xùn)練好的模型在測(cè)試集的分類準(zhǔn)確率作為PSO的適應(yīng)度值,并將每個(gè)個(gè)體的初始適應(yīng)度值作為個(gè)體的最優(yōu)適應(yīng)值,將種群初始適應(yīng)值中最優(yōu)的適應(yīng)度值作為全局最優(yōu)適應(yīng)值。

3)在給定的約束內(nèi),按照式(7)更新粒子的速度和位置。

4)根據(jù)更新的位置計(jì)算適應(yīng)度值。

5)更新個(gè)體最優(yōu)和全局最優(yōu)。如果當(dāng)前個(gè)體適應(yīng)度值優(yōu)于之前個(gè)體最優(yōu),則將當(dāng)前適應(yīng)度值設(shè)為最優(yōu)個(gè)體適應(yīng)值,對(duì)應(yīng)的位置設(shè)為個(gè)體最優(yōu)位置。如果當(dāng)前粒子適應(yīng)度值要優(yōu)于全局最優(yōu)適應(yīng)值,則將當(dāng)前粒子適應(yīng)度值設(shè)為全局最優(yōu)適應(yīng)度值,對(duì)應(yīng)的位置設(shè)為全局最優(yōu)位置。

6)終止判斷。如果滿足終止條件,算法停止并返回最優(yōu)的參數(shù)和準(zhǔn)確率。否則重復(fù)過(guò)程3)到5)。

2 數(shù)據(jù)與實(shí)驗(yàn)環(huán)境

2.1 心臟病數(shù)據(jù)集

研究采用的心臟病數(shù)據(jù)集來(lái)源于UCI Repository[12]。該數(shù)據(jù)集包含了4個(gè)子數(shù)據(jù)集,本文僅使用其中的Cleveland心臟病子集,以下簡(jiǎn)稱其為心臟病數(shù)據(jù)集。該數(shù)據(jù)集共有303個(gè)樣本,其中164個(gè)是沒(méi)有患心臟病的,剩下的139個(gè)是患有心臟病的。每個(gè)樣本都包含76個(gè)屬性,但與大多數(shù)已發(fā)表的研究一樣,僅使用了其中的14個(gè)屬性。研究的重點(diǎn)是簡(jiǎn)單地區(qū)分患病(值 1、2、3、4)和不患病(值 0)。表1是心臟病數(shù)據(jù)集各屬性的取值范圍。表 2是對(duì)每個(gè)屬性的詳細(xì)說(shuō)明。

表2 心臟病數(shù)據(jù)集各屬性說(shuō)明

2.2 數(shù)據(jù)預(yù)處理

由于心臟病數(shù)據(jù)嘈雜(如表 1所示),14個(gè)屬性值都在不同的范圍內(nèi),且存在個(gè)別屬性值缺失的數(shù)據(jù),所以在模型訓(xùn)練之前需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。首先,將數(shù)據(jù)處理成SVM支持的格式,將值在(1,2,3,4)中的數(shù)據(jù)的預(yù)測(cè)屬性設(shè)置為1,表示存在疾病。第二,刪除屬性值缺失的樣本。第三,數(shù)據(jù)歸一化處理。研究需要將數(shù)據(jù)特征值縮放到 [0,1] 之間,以避免較大數(shù)值范圍內(nèi)的特征主導(dǎo)較小范圍內(nèi)的特征,使用最小-最大縮放原則,其表達(dá)如下

表1 心臟病數(shù)據(jù)集屬性取值范圍

(8)

其中v是原始矩陣,min是整個(gè)矩陣的最小特征值。Max是整個(gè)矩陣的最大特征值,v′是縮放后的值。

將預(yù)處理后的數(shù)據(jù)進(jìn)行劃分,前200條作為訓(xùn)練集,后97條作為測(cè)試集。將劃分好的數(shù)據(jù)導(dǎo)入到PSO-SVM模型中,算法的初始參數(shù)設(shè)置如表3所示,算法迭代10 000次,重復(fù)了18次實(shí)驗(yàn),以18次實(shí)驗(yàn)的平均準(zhǔn)確率作為算法的準(zhǔn)確率。兩種算法在不同核函數(shù)下對(duì)心臟病預(yù)測(cè)的準(zhǔn)確率如表4所示。從表4可以看出,PSO-SVM 的分類準(zhǔn)確率高于支持向量機(jī),但提升幅度不大。為了進(jìn)一步提高預(yù)測(cè)準(zhǔn)確性,需要進(jìn)一步進(jìn)行數(shù)據(jù)處理。

表3 PSO-SVM初始化參數(shù)列表

表4 PSO-SVM與SVM使用不同核函數(shù)的預(yù)測(cè)準(zhǔn)確率比較(18次重復(fù)實(shí)驗(yàn)的均值) %

為確定每個(gè)屬性的重要性,實(shí)驗(yàn)嘗試分別刪除每個(gè)屬性,再使用上面PSO-SVM 找到的最優(yōu)參數(shù)來(lái)訓(xùn)練SVM模型(選擇的內(nèi)核是 RBF),隨后觀察不同屬性對(duì)分類器的貢獻(xiàn)。屬性被刪除后所訓(xùn)練的模型的分類準(zhǔn)確率如表5。如果刪除該屬性后,準(zhǔn)確率反而提高,則認(rèn)為該屬性阻礙分類。相反,則認(rèn)為這個(gè)屬性是必要的。觀察表5,與刪除前82.47%的準(zhǔn)確率相比,刪除屬性Restecg、Exang后的準(zhǔn)確率有所提高。因此,可以假設(shè)可以刪除屬性 Restecg、Exang。

表5 SVM在刪除不同屬性后的心臟病數(shù)據(jù)集上的分類準(zhǔn)確率 %

為進(jìn)一步確定哪一個(gè)屬性適合刪除,設(shè)置消融實(shí)驗(yàn),分別使用刪除Restecg、Exang、Restecg&Exang屬性后的數(shù)據(jù)訓(xùn)練和測(cè)試PSO-SVM模型。最后,與移除該屬性之前的模型預(yù)測(cè)準(zhǔn)確率進(jìn)行比較。結(jié)果如圖2所示,從圖2中可以看出,單獨(dú)刪除屬性 Exang 后準(zhǔn)確率提高最大,最終決定刪除屬性Exang。

圖2 PSO-SVM分別在刪除Restecg,Exang,Restecg和Exang后的心臟病數(shù)據(jù)集上的分類準(zhǔn)確率

2.3 實(shí)驗(yàn)環(huán)境

實(shí)驗(yàn)使用的計(jì)算機(jī)配置如表6。選擇MATLAB R2018a為開(kāi)發(fā)工具。LIBSVM 3.24工具箱用以實(shí)現(xiàn)SVM功能。所選的優(yōu)化算法為標(biāo)準(zhǔn)粒子群優(yōu)化算法2011。PSO-SVM算法停止條件為達(dá)到預(yù)設(shè)的最大迭代數(shù)。實(shí)驗(yàn)中,最佳解決方案的最大重復(fù)次數(shù)為10 000。

表6 實(shí)驗(yàn)使用的計(jì)算機(jī)配置表

3 實(shí)驗(yàn)仿真與結(jié)果分析

經(jīng)數(shù)據(jù)處理后,最終樣本量為297條,數(shù)據(jù)集中兩類樣本的分布如表 7所示(兩類樣本分布均勻)。將前200條作為訓(xùn)練數(shù)據(jù),后97條作為測(cè)試數(shù)據(jù),使用PSO-SVM算法在處理后的數(shù)據(jù)集上學(xué)習(xí)和分類,僅區(qū)分患病或者不患病,算法的初始化參數(shù)如表3。獨(dú)立重復(fù)20次實(shí)驗(yàn),最終PSO-SVM算法的平均分類準(zhǔn)確率以及尋優(yōu)到的SVM參數(shù)如表8。為證明PSO-SVM算法的有效性,將算法和SVM進(jìn)行比較(如圖3),是使用不同核函數(shù)的 PSO-SVM 的平均精度和使用不同內(nèi)核的SVM的精度比較。

表7 處理后心臟病數(shù)據(jù)集樣本分布

表8 模型尋優(yōu)參數(shù)及模型平均分類準(zhǔn)確率 (獨(dú)立重復(fù)實(shí)驗(yàn)20次)

圖3 不同核函數(shù)的PSO-SVM和SVM在心臟病分類上的準(zhǔn)確率比較

結(jié)合表8和圖3可以看出,無(wú)論使用哪種核函數(shù)的 PSO-SVM,在心臟病數(shù)據(jù)集中的分類準(zhǔn)確率都高于傳統(tǒng)SVM。而且使用Polynomial核函數(shù)的PSO-SVM的平均分類準(zhǔn)確率最高,其最高分類準(zhǔn)確率可達(dá)到87.63%,可以推出Polynomial為心臟病分類模型的最合適核函數(shù)。

另外為了評(píng)估所提算法的性能,將使用不同核函數(shù)的PSO-SVM各自運(yùn)行50次,分別將每次的適應(yīng)度曲線描繪在同一圖中(如圖4),從圖4中可以觀察到,使用PSO-SVM 算法時(shí),無(wú)論選擇哪個(gè)核,粒子都會(huì)快速收斂,并且越來(lái)越接近最優(yōu)解。由此推斷,本文所提的PSO-SVM 是可行且高效的。

圖4 三種核函數(shù)對(duì)應(yīng)的PSO-SVM執(zhí)行50次的適應(yīng)度曲線

為了評(píng)估算法的穩(wěn)定性,將使用不同核函數(shù)的PSO-SVM各自運(yùn)行45次,并將每次的最優(yōu)適應(yīng)度值(最佳準(zhǔn)確率)描繪在同一圖中(如圖5),從圖5可以看出,本研究找到的最優(yōu)解上下波動(dòng),但始終在一個(gè)范圍內(nèi)波動(dòng)且波動(dòng)不大。而且最小值要高于SVM中測(cè)得的值。即PSO-SVM找到的值要么是最優(yōu)的,要么是次優(yōu)的,但均比SVM好,綜上可以推斷該算法是相對(duì)穩(wěn)定的。

圖5 不同核函數(shù)下的PSO-SVM算法獨(dú)立運(yùn)行45次的最佳準(zhǔn)確率曲線

4 結(jié)語(yǔ)

筆者開(kāi)發(fā)了一種基于PSO-SVM的心臟病預(yù)測(cè)模型。模型使用PSO選擇SVM的超參數(shù),然后使用心臟病訓(xùn)練集訓(xùn)練模型,最后使用測(cè)試集測(cè)試了模型的性能。同時(shí)還比較了不同核函數(shù)下PSO-SVM的分類性能,以期找到最適合數(shù)據(jù)集的核函數(shù)。最后對(duì)比了PSO-SVM與傳統(tǒng)SVM在心臟病上的分類準(zhǔn)確率,實(shí)驗(yàn)結(jié)果表明PSO-SVM的準(zhǔn)確率有所提高。本研究的貢獻(xiàn)有兩個(gè)方面,首先,這項(xiàng)工作解決了SVM參數(shù)的選擇問(wèn)題,該方法無(wú)需人為設(shè)置SVM超參數(shù),為沒(méi)有機(jī)器學(xué)習(xí)經(jīng)驗(yàn)但想使用SVM的人群帶來(lái)了便利;其次,通過(guò)對(duì)不同核函數(shù)的比較,發(fā)現(xiàn)多項(xiàng)式核函數(shù)最適合此心臟病數(shù)據(jù)集,最高分類準(zhǔn)確率為 88%。

研究的下一步將使用改進(jìn)的PSO算法來(lái)選擇SVM的參數(shù)或者開(kāi)發(fā)一個(gè)不僅可以選擇SVM的參數(shù)還可以選擇最合適的核函數(shù)的算法[13]。

猜你喜歡
適應(yīng)度心臟病準(zhǔn)確率
改進(jìn)的自適應(yīng)復(fù)制、交叉和突變遺傳算法
“心慌”一定是心臟病嗎?
中老年保健(2022年2期)2022-08-24 03:20:52
中醫(yī)新解心臟病
中老年保健(2022年5期)2022-08-24 02:35:08
乳腺超聲檢查診斷乳腺腫瘤的特異度及準(zhǔn)確率分析
健康之家(2021年19期)2021-05-23 11:17:39
不同序列磁共振成像診斷脊柱損傷的臨床準(zhǔn)確率比較探討
2015—2017 年寧夏各天氣預(yù)報(bào)參考產(chǎn)品質(zhì)量檢驗(yàn)分析
高速公路車牌識(shí)別標(biāo)識(shí)站準(zhǔn)確率驗(yàn)證法
我做了七八次產(chǎn)檢都正常 孩子怎么有心臟病?
媽媽寶寶(2017年4期)2017-02-25 07:01:20
基于空調(diào)導(dǎo)風(fēng)板成型工藝的Kriging模型適應(yīng)度研究
Smog in Los Angeles
404 Not Found

404 Not Found


nginx
农安县| 隆德县| 罗山县| 蓬莱市| 宣武区| 邵武市| 加查县| 潮安县| 澄迈县| 石门县| 嵊州市| 新闻| 上蔡县| 萨迦县| 手游| 壤塘县| 浙江省| 西乌珠穆沁旗| 永康市| 潮安县| 晋城| 铁岭县| 岢岚县| 乌拉特前旗| 大英县| 萨迦县| 荆门市| 姜堰市| 高邑县| 临潭县| 石首市| 大庆市| 印江| 桂平市| 杭州市| 汉川市| 昌江| 驻马店市| 马边| 比如县| 秦安县|