• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于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é)院,英國紐卡斯?fàn)?NE1 7RU;3.東莞理工學(xué)院 機(jī)械工程學(xué)院,廣東東莞 523808)

      研究表明,我國有大量心血管疾病患者,其中心臟病患者占據(jù)多數(shù),并且我國心血管疾病的患病率和死亡率呈上升趨勢[1-2],心血管疾病已成為我國居民的主要死亡方式[3]。心臟病的及早診斷,對治療非常重要。但是由于病人繁多,醫(yī)生診斷會(huì)非常的耗時(shí)。隨著人工智能在醫(yī)療應(yīng)用上的崛起,心臟病輔助診斷的研究成果顯著,文獻(xiàn)[4]利用了貝葉斯優(yōu)化算法對隨機(jī)森林分類模型進(jìn)行參數(shù)尋優(yōu),而后將優(yōu)化的模型應(yīng)用到心臟病分類。文獻(xiàn)[5]通過自適應(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í)方法,最早被用于解決二分類問題。與深度學(xué)習(xí)方法相比,SVM可以避免過擬合、陷入局部最優(yōu)和低收斂性的問題。最小化的經(jīng)驗(yàn)風(fēng)險(xiǎn)和結(jié)構(gòu)風(fēng)險(xiǎn)保證了SVM的高泛化能力。而且它在小樣本的處理上表現(xiàn)良好,剛好滿足了目前數(shù)據(jù)不足的問題。然而,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的性能帶來了不確定性。

      粒子群優(yōu)化算法由 Eberhart 和 Kennedy 于 1995 年提出[7]了一種模仿昆蟲、鳥類等集體覓食行為的隨機(jī)并行優(yōu)化算法。粒子群優(yōu)化算法的目標(biāo)函數(shù)可以是不可微、不連續(xù)的,并且它具有收斂速度快、算法簡單、易于實(shí)現(xiàn)等優(yōu)點(diǎn),所以經(jīng)常被用于各種優(yōu)化問題[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í)方法,常用于分類和回歸。通過搜索最小結(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)中等號成立的輸入數(shù)據(jù)稱作“支持向量”。當(dāng)兩個(gè)異類支持向量到超平面的距離和最大時(shí),該超平面即是所搜索的目標(biāo)平面。而這個(gè)距離被稱為“最大邊距”,定義如下:

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

      (3)

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

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

      (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來放松線性SVM的約束,其中ξi表示第i個(gè)訓(xùn)練模式與對應(yīng)的邊距超平面之間的距離,并且它應(yīng)該最小化。最終SVM的優(yōu)化目標(biāo)定義如下。

      (6)

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

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

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

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

      (7)

      其中,i=1,2,…,m,代表第i個(gè)粒子;k=1,2,…,K,表示維度;V是粒子的速度,同時(shí)對當(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),下文簡稱PSO。

      1.3 PSO-SVM建模

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

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

      圖1 PSO-SVM算法流程圖

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

      2)計(jì)算適應(yīng)度值。在實(shí)驗(yàn)中,將訓(xùn)練好的模型在測試集的分類準(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)值,對應(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)度值,對應(yīng)的位置設(shè)為全局最優(yōu)位置。

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

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

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

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

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

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

      由于心臟病數(shù)據(jù)嘈雜(如表 1所示),14個(gè)屬性值都在不同的范圍內(nèi),且存在個(gè)別屬性值缺失的數(shù)據(jù),所以在模型訓(xùn)練之前需要對數(shù)據(jù)進(jìn)行預(yù)處理。首先,將數(shù)據(jù)處理成SVM支持的格式,將值在(1,2,3,4)中的數(shù)據(jù)的預(yù)測屬性設(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條作為測試集。將劃分好的數(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ù)下對心臟病預(yù)測的準(zhǔn)確率如表4所示。從表4可以看出,PSO-SVM 的分類準(zhǔn)確率高于支持向量機(jī),但提升幅度不大。為了進(jìn)一步提高預(yù)測準(zhǔn)確性,需要進(jìn)一步進(jìn)行數(shù)據(jù)處理。

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

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

      為確定每個(gè)屬性的重要性,實(shí)驗(yàn)嘗試分別刪除每個(gè)屬性,再使用上面PSO-SVM 找到的最優(yōu)參數(shù)來訓(xùn)練SVM模型(選擇的內(nèi)核是 RBF),隨后觀察不同屬性對分類器的貢獻(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)練和測試PSO-SVM模型。最后,與移除該屬性之前的模型預(yù)測準(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為開發(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條作為測試數(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可以看出,無論使用哪種核函數(shù)的 PSO-SVM,在心臟病數(shù)據(jù)集中的分類準(zhǔn)確率都高于傳統(tǒng)SVM。而且使用Polynomial核函數(shù)的PSO-SVM的平均分類準(zhǔn)確率最高,其最高分類準(zhǔn)確率可達(dá)到87.63%,可以推出Polynomial為心臟病分類模型的最合適核函數(shù)。

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

      圖4 三種核函數(shù)對應(yīng)的PSO-SVM執(zhí)行50次的適應(yī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中測得的值。即PSO-SVM找到的值要么是最優(yōu)的,要么是次優(yōu)的,但均比SVM好,綜上可以推斷該算法是相對穩(wěn)定的。

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

      4 結(jié)語

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

      研究的下一步將使用改進(jìn)的PSO算法來選擇SVM的參數(shù)或者開發(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)分析
      高速公路車牌識別標(biāo)識站準(zhǔn)確率驗(yàn)證法
      我做了七八次產(chǎn)檢都正常 孩子怎么有心臟病?
      媽媽寶寶(2017年4期)2017-02-25 07:01:20
      基于空調(diào)導(dǎo)風(fēng)板成型工藝的Kriging模型適應(yīng)度研究
      中國塑料(2016年11期)2016-04-16 05:26:02
      Smog in Los Angeles
      福州市| 长寿区| 崇明县| 静安区| 息烽县| 龙井市| 萨迦县| 金沙县| 自贡市| 武定县| 察雅县| 罗江县| 五大连池市| 涡阳县| 金华市| 怀仁县| 莱阳市| 精河县| 疏附县| 弋阳县| 江都市| 利川市| 兖州市| 班戈县| 襄汾县| 宜良县| 晋宁县| 平南县| 峨山| 唐海县| 河间市| 津市市| 平阳县| 泽州县| 苍溪县| 天长市| 铁力市| 定陶县| 利津县| 奈曼旗| 临桂县|