• 
    

    
    

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

      基于BP_K-C4.5算法的高血脂輔助診斷系統(tǒng)

      2020-04-29 10:55:12方克邦張?jiān)迫A
      關(guān)鍵詞:特征選擇公式神經(jīng)網(wǎng)絡(luò)

      方克邦, 張?jiān)迫A

      (浙江理工大學(xué) 信息學(xué)院, 杭州 310018)

      0 引 言

      隨著社會(huì)的發(fā)展和人們生活方式的轉(zhuǎn)變,高血脂癥的發(fā)病率在逐漸升高,給人們的健康帶來極大困擾。因此必須對(duì)高血脂癥做到早發(fā)現(xiàn)、早治療、早預(yù)防[1]。而在進(jìn)行疾病診斷時(shí)醫(yī)生卻由于受到專業(yè)限制或主觀因素影響,容易造成疾病的誤診或更嚴(yán)重的后果。結(jié)合現(xiàn)代計(jì)算機(jī)技術(shù)的快速發(fā)展,若能將計(jì)算機(jī)數(shù)據(jù)分析技術(shù)應(yīng)用到疾病診斷,將大大提高診斷準(zhǔn)確率和效率。

      海量的醫(yī)療數(shù)據(jù)中蘊(yùn)藏的知識(shí),是現(xiàn)代計(jì)算機(jī)和醫(yī)學(xué)分析的巨大資源寶庫(kù)。針對(duì)這些數(shù)據(jù)分析前通常都要進(jìn)行數(shù)據(jù)的特征處理,找出最優(yōu)的特征子集以便數(shù)據(jù)的分析處理,這也是數(shù)據(jù)分析的重要前提。因此本文以高血脂為研究對(duì)象,首先改進(jìn)BP神經(jīng)網(wǎng)絡(luò)算法,考慮到其具有的對(duì)數(shù)據(jù)自適應(yīng)、容錯(cuò)性和自組織性強(qiáng)等優(yōu)點(diǎn),在此基礎(chǔ)上進(jìn)行數(shù)據(jù)特征選擇。然后把這些數(shù)據(jù)使用K-C4.5分類算法模型進(jìn)行預(yù)測(cè)分析。最后根據(jù)特征選擇和分類預(yù)測(cè)算法模型設(shè)計(jì)了一套高血脂輔助診斷系統(tǒng),此系統(tǒng)能幫助醫(yī)生進(jìn)行更加全面和準(zhǔn)確的診斷。

      1 BP神經(jīng)網(wǎng)絡(luò)算法對(duì)數(shù)據(jù)進(jìn)行特征選擇

      BP神經(jīng)網(wǎng)絡(luò)中可以借助信息的正向傳播和反向傳播,來提高接受信息的準(zhǔn)確程度。輸入層各神經(jīng)元接收來自外界的輸入信息,并傳遞給中間層各神經(jīng)元[2]。中間層是內(nèi)部信息處理層,用于信息變換,根據(jù)信息變化能力的需求,中間層可以設(shè)計(jì)為單隱層或多隱層結(jié)構(gòu)[3]。最后一個(gè)隱層傳遞到輸出層各神經(jīng)元的信息,經(jīng)過進(jìn)一步處理后,完成一次正向的傳播過程,由輸出層向外界輸出信息處理的結(jié)果[4]。當(dāng)實(shí)際輸出與期望輸出不同時(shí),進(jìn)入誤差的反向傳播階段。誤差通過輸出層,按誤差梯度下降的方式修正各層權(quán)值,向隱層、輸入層、逐層反傳[5]。周而復(fù)始的信息正向傳播和誤差反向傳播過程,是各層權(quán)值不斷調(diào)整的過程,也是神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練的過程[6],此過程一直進(jìn)行到網(wǎng)絡(luò)輸出的誤差減少到可以接受的程度或者預(yù)先設(shè)定的學(xué)習(xí)次數(shù)為止。綜上論述可知,BP網(wǎng)絡(luò)由3部分組成:輸入層、隱藏層和輸出層[7]。BP算法的定義公式如下:

      (1)

      分析可知,其輸出是輸入的非線性函數(shù),范圍是0-1。BP網(wǎng)絡(luò)的示意圖如圖1所示。

      圖1 BP神經(jīng)網(wǎng)絡(luò)模型圖

      1.1 前向傳播

      數(shù)據(jù)進(jìn)行前向傳播的過程根據(jù)如下公式計(jì)算得出:

      (2)

      第一層網(wǎng)絡(luò)參數(shù)為:

      (3)

      第二層網(wǎng)絡(luò)參數(shù)為:

      (4)

      第三層網(wǎng)絡(luò)參數(shù)為:

      W(3)=[w(4,6),w(5,6)],b(3)=[b6],

      (5)

      第一層隱藏層有3個(gè)神經(jīng)元:neu1、neu2、neu3,該層的輸入為:

      (6)

      以神經(jīng)元neu1為例,則其輸入為:

      z1=w(x1,1)*x1+w(x2,1)*x2+b1,

      (7)

      同理有:

      z2=w(x1,2)*x1+w(x2,2)*x2+b2,

      z3=w(x1,3)*x1+w(x2,3)*x2+b3.

      (8)

      假設(shè)研究選擇函數(shù)f(x)作為該層的激活函數(shù),那么該層的輸出為:f1(z1)、f2(z2)、f3(z3)。

      1.2 反向傳播

      假設(shè)要對(duì)第k層的參數(shù)W(k)和b(k)求偏導(dǎo)數(shù),設(shè)z(k)表示第k層神經(jīng)元的輸入,即:z(k)=W(k)*n(k-1)+b(k),其中n(k-1)為前一層神經(jīng)元的輸出,則根據(jù)鏈?zhǔn)椒▌t有:

      (9)

      本次研究中利用了BP算法的前向傳播和反向傳播,首先通過前向傳播對(duì)數(shù)據(jù)進(jìn)行降維處理,充分利用了其傳播的特性,使得最后得到的數(shù)據(jù)能夠更加接近準(zhǔn)確值,但是傳播過程難免會(huì)有一定的誤差,采用BP算法的后向傳播來解決這個(gè)問題。

      2 改進(jìn)的 K-C4.5算法進(jìn)行數(shù)據(jù)分類

      2.1 改進(jìn)的分類算法模型

      通過BP算法得到的低維數(shù)據(jù),再構(gòu)建C4.5決策得到更加準(zhǔn)確的分類數(shù)據(jù)。分類技術(shù)是數(shù)據(jù)挖掘領(lǐng)域中一種常用的基本研究方法[10]。決策樹技術(shù)是數(shù)據(jù)挖掘的重要分支,由于其具有簡(jiǎn)單直觀,易于理解,分類效率高等特點(diǎn)[11],被廣泛應(yīng)用。C4.5算法構(gòu)造決策樹時(shí)選擇分支節(jié)點(diǎn)屬性的依據(jù)是信息增益率[12]。C4.5算法以信息增益率為屬性節(jié)點(diǎn)的選擇依據(jù),克服了ID3算法的傾向于選擇取值較多的屬性的不足[13]。

      經(jīng)典的ID3算法由于不具備對(duì)連續(xù)屬性的處理策略,以及其信息增益度偏向于具有大量的屬性[14]。針對(duì)這些缺點(diǎn),改進(jìn)衍生出C4.5算法。在ID3算法中算法的屬性選擇計(jì)算公式為:

      (10)

      其中,Pi為數(shù)據(jù)集T(類屬性值的個(gè)數(shù)為n)中任意元組屬于類Ci(i=1,2,…,n)的不為0的概率,并用|Tci|/|T|進(jìn)行估算得到;而Info(TAj)是按屬性A(屬性值個(gè)數(shù)為m)劃分T的元組分類的信息熵。

      C4.5算法用信息增益率的計(jì)算代表ID3算法中的信息增益公式,其計(jì)算公式如式(11)所示:

      (11)

      其中,SplitInfoA(T)是在數(shù)據(jù)集T中,屬性A的分裂信息,具體計(jì)算公式為:

      (12)

      在對(duì)C4.5算法進(jìn)行使用分析中,采用改進(jìn)算法執(zhí)行過程的計(jì)算公式來優(yōu)化算法,針對(duì)信息增益的計(jì)算公式結(jié)合泰勒公式和對(duì)數(shù)換底公式,可以將信息增益公式簡(jiǎn)化為式(11)。泰勒公式和對(duì)數(shù)換底公式分別表示為:

      (13)

      (14)

      這樣變換是為了簡(jiǎn)化數(shù)據(jù)運(yùn)算,省去了對(duì)數(shù)運(yùn)算,如此一來就避免了對(duì)數(shù)運(yùn)算時(shí)的函數(shù)調(diào)用,大大縮短了運(yùn)算時(shí)間。采用泰勒公式進(jìn)行變換的原因是,泰勒公式是用一個(gè)函數(shù)在某點(diǎn)的信息,描述其附近取值的公式。如果函數(shù)足夠平滑,當(dāng)已知函數(shù)在某一點(diǎn)的不同階導(dǎo)數(shù)值的情況下,泰勒公式可以利用這些導(dǎo)數(shù)值來做系數(shù),構(gòu)建一個(gè)多項(xiàng)式近似函數(shù),求得在這一點(diǎn)的鄰域中的值。也就是說,用一個(gè)多項(xiàng)式函數(shù)從函數(shù)圖像上的某個(gè)點(diǎn)去逼近一個(gè)給定的函數(shù)。變換后的公式如下所示:

      (15)

      在數(shù)據(jù)集中有些條件的屬性值是相對(duì)穩(wěn)定的,這類條件屬性的信息增益率就會(huì)比較大;但有些信息增益率比較小的條件屬性在理論情況下是不穩(wěn)定的屬性值,但如果這些屬性是比較重要的屬性,一旦被舍棄將會(huì)造成分類不準(zhǔn)確,為了避免這一問題,采用描述屬性值變化率的平均值的平均波動(dòng)率[15]來解決,同時(shí)還引入一個(gè)描述屬性重要程度的屬性“應(yīng)用權(quán)重[15]”來平衡數(shù)據(jù)集在具體應(yīng)用中對(duì)于某些屬性關(guān)注程度。

      引入這兩個(gè)參數(shù)之后, C4.5 的信息增益率計(jì)算公式則變成:

      ApliWeight,

      (16)

      公式(16) 即為最終的屬性選擇的度量公式,這樣改進(jìn)后的度量公式,不僅消除了由于屬性值的影響,而且不存在對(duì)屬性的倚重程度而帶來的不合理的劃分問題。

      此后,就對(duì)數(shù)據(jù)進(jìn)行KNN算法的數(shù)據(jù)表預(yù)測(cè),分別對(duì)分類出來的每類樣本進(jìn)行預(yù)測(cè),每類的70%的樣本用于訓(xùn)練,而剩下的30%樣本則作為預(yù)測(cè),樣本預(yù)測(cè)的步驟可分為下面幾步:

      Step1隨機(jī)挑選出70%的樣本作為訓(xùn)練集S,輸入訓(xùn)練集S。

      Step2確定K值,在訓(xùn)練集S中隨機(jī)挑選出n個(gè)樣本xt進(jìn)行預(yù)測(cè),t=1,2,…n,在訓(xùn)練集S中找到與樣本xt距離最近的k個(gè)樣本yi組成集合Stk,其中i=1,2,…,k。

      Step3利用高斯函數(shù)計(jì)算權(quán)值,權(quán)值計(jì)算公式為:

      (17)

      其中,wti為集合Stk中第i個(gè)樣本的權(quán)值;Li為集合Stk中第i個(gè)樣本到樣本Xt的距離;c為標(biāo)準(zhǔn)差;a取值為1。

      Step5計(jì)算準(zhǔn)確度。計(jì)算時(shí)將用到如下數(shù)學(xué)公式:

      (18)

      Step6若準(zhǔn)確度R達(dá)到要求,則訓(xùn)練完成,并對(duì)剩余的30%的樣本進(jìn)行預(yù)測(cè),得出預(yù)測(cè)結(jié)果,計(jì)算準(zhǔn)確度;若準(zhǔn)確度達(dá)不到R要求,則返回Step 2重新確定k值。

      2.2 實(shí)驗(yàn)分析

      本實(shí)驗(yàn)是在2個(gè)數(shù)據(jù)庫(kù)的混合數(shù)據(jù)上進(jìn)行的,共2 000個(gè)特征屬性,選用單隱含層的BP神經(jīng)網(wǎng)絡(luò),隱含層激活函數(shù)使用Sigmoid函數(shù),輸出層激活函數(shù)為線性函數(shù)。為了得到較好的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),實(shí)驗(yàn)中分別對(duì)當(dāng)隱含節(jié)點(diǎn)為1~50時(shí)的網(wǎng)絡(luò)分類情況來判斷哪個(gè)隱含節(jié)點(diǎn)數(shù)較好。將每個(gè)隱層節(jié)點(diǎn)數(shù)下的網(wǎng)絡(luò)訓(xùn)練10次,由此得到這10次實(shí)驗(yàn)中的測(cè)試集識(shí)別率,并求出和的平均值,得到如圖2所示的結(jié)果。

      圖2 隱層節(jié)點(diǎn)平均識(shí)別率圖

      由圖2可知,當(dāng)隱層單元節(jié)點(diǎn)為25時(shí),其測(cè)試集平均識(shí)別率為95.12%,此時(shí)的網(wǎng)絡(luò)結(jié)構(gòu)分類能力最強(qiáng)。所以本實(shí)驗(yàn)最終選擇隱層節(jié)點(diǎn)數(shù)為25的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)。

      以上步驟是對(duì)數(shù)據(jù)的特征選擇,選擇出來的最優(yōu)特征子集是后續(xù)分類預(yù)測(cè)的重要基礎(chǔ)。在綜合測(cè)試中為了減少分類結(jié)果的誤差,提高分類精度,本分類模型共進(jìn)行10次實(shí)驗(yàn),并且為了突出實(shí)驗(yàn)的有效性,這部分采用UCI數(shù)據(jù)集做驗(yàn)證。最終的相關(guān)實(shí)驗(yàn)結(jié)果指標(biāo)參數(shù),都采用多次實(shí)驗(yàn)結(jié)果取平均值的做法。實(shí)驗(yàn)分類的結(jié)果繪制如圖3、圖4所示,實(shí)驗(yàn)分類結(jié)果數(shù)據(jù)詳見表1。

      圖3 算法的分類準(zhǔn)確率比較圖

      圖4 算法靈敏度實(shí)驗(yàn)對(duì)比圖

      Fig. 4 Comparison of experimental sensitivity of the algorithm

      表1 BP_K-C4.5算法模型分類結(jié)果

      通過實(shí)驗(yàn)數(shù)據(jù)可以清晰地觀測(cè)到,改進(jìn)后的算法模型相較傳統(tǒng)的分類算法,在精度、準(zhǔn)確度、效率上都有所提升。

      3 高血壓預(yù)診系統(tǒng)設(shè)計(jì)

      本次研究中,前端部分使用vue框架進(jìn)行開發(fā)設(shè)計(jì),并兼容主流的瀏覽器。服務(wù)端開發(fā)使用Java語言,使用Spring Boot作為后臺(tái)框架、數(shù)據(jù)庫(kù)使用MySQL、緩存使用Redis、消息中間件使用kafka等。

      3.1 系統(tǒng)總體設(shè)計(jì)

      3.1.1 功能模塊

      高血脂輔助診療系統(tǒng)如圖5所示,主要分為系統(tǒng)設(shè)置模塊、數(shù)據(jù)維護(hù)模塊、輔助診斷模塊、患者管理模塊。系統(tǒng)的核心模塊為輔助診斷模塊。該模塊重點(diǎn)是對(duì)數(shù)據(jù)集進(jìn)行主成分分析,提取出數(shù)據(jù)集中的主要成分,達(dá)到降低數(shù)據(jù)復(fù)雜度和維度的效果,再對(duì)主成分?jǐn)?shù)據(jù)集進(jìn)行分類預(yù)測(cè),最終根據(jù)不同的分析結(jié)果參數(shù),進(jìn)行信息提示。數(shù)據(jù)維護(hù)模塊主要包括電子病歷管理、歷史數(shù)據(jù)維護(hù)、統(tǒng)計(jì)報(bào)表功能;患者管理模塊主要包括自主診斷分析、預(yù)約掛號(hào)、病情跟蹤等功能。基礎(chǔ)服務(wù)模塊主要包括權(quán)限設(shè)置、日志管理、幫助服務(wù)、數(shù)據(jù)字典維護(hù)等功能。

      圖5 高血脂輔助診斷和信息管理系統(tǒng)功能模塊

      Fig. 5 Functional module of hyperlipidemia-assisted diagnosis and information management system

      3.1.2 系統(tǒng)架構(gòu)

      系統(tǒng)設(shè)計(jì)架構(gòu)見圖6,對(duì)此擬做研究論述如下。

      (1)調(diào)用方:系統(tǒng)設(shè)計(jì)可調(diào)用的前端應(yīng)用平臺(tái)包括:響應(yīng)式Web網(wǎng)頁(yè)、移動(dòng)端等。

      (2)分布式微服務(wù):該部分采用的是分布式微服務(wù)系統(tǒng)Spring Boot。具體分為網(wǎng)關(guān)層、代理層、服務(wù)層。網(wǎng)關(guān)層主要負(fù)責(zé)統(tǒng)一請(qǐng)求入口,配合前端完成權(quán)限驗(yàn)證,對(duì)外提供restful API,并對(duì)API進(jìn)行動(dòng)態(tài)限流。 代理層負(fù)責(zé)抽象出公共的服務(wù)接口,在代理層將請(qǐng)求路由到具體的服務(wù)。

      圖6 高血脂分類挖掘系統(tǒng)框架

      Fig. 6 Framework of a hyperlipidemia classification and mining system

      3.1.3 系統(tǒng)流程

      系統(tǒng)的詳細(xì)使用流程如圖7所示,主要包括數(shù)據(jù)錄入、主成分分析提取模塊、模型構(gòu)建、預(yù)測(cè)分析等模塊。對(duì)此流程可做闡釋分述如下。

      圖7 系統(tǒng)使用流程圖

      (1)特征選擇:首先將請(qǐng)求發(fā)送到網(wǎng)關(guān)層進(jìn)行權(quán)限校驗(yàn),校驗(yàn)通過則由代理層將請(qǐng)求路由到具體的服務(wù)。服務(wù)層首先需要對(duì)數(shù)據(jù)進(jìn)行清洗,然后利用PCA主成分分析算法提取出數(shù)據(jù)集中的主要成分并保存到數(shù)據(jù)庫(kù)。

      (2)數(shù)據(jù)錄入:在客戶端進(jìn)行電子病歷的錄入等操作時(shí),請(qǐng)求在網(wǎng)關(guān)層進(jìn)行安全校驗(yàn),然后代理層將數(shù)據(jù)中的各項(xiàng)指標(biāo)請(qǐng)求路由到具體的服務(wù),服務(wù)層會(huì)將有效的數(shù)據(jù)保存至數(shù)據(jù)庫(kù)。

      (3)模型構(gòu)建:首先請(qǐng)求會(huì)在網(wǎng)關(guān)層進(jìn)行權(quán)限的校驗(yàn),校驗(yàn)通過后會(huì)通過代理層將具體的請(qǐng)求路由到具體的服務(wù)。然后具體的服務(wù)將對(duì)數(shù)據(jù)進(jìn)行量化處理,再使用C4.5分類算法對(duì)數(shù)據(jù)進(jìn)行分類挖掘,找出高血脂相關(guān)的關(guān)聯(lián)規(guī)則,此后將該關(guān)聯(lián)規(guī)則保存在數(shù)據(jù)庫(kù)。

      (4)預(yù)測(cè)分析:點(diǎn)擊預(yù)測(cè)分析按鈕后,請(qǐng)求經(jīng)校驗(yàn)通過后,由代理層將請(qǐng)求路由到服務(wù)層后,對(duì)數(shù)據(jù)進(jìn)行關(guān)聯(lián)分析,并返回分析結(jié)果及信息提示。

      3.2 系統(tǒng)功能模塊展示

      在經(jīng)過模塊調(diào)試、系統(tǒng)整體功能調(diào)試以及兼容性測(cè)試等一系列工作后,系統(tǒng)達(dá)到預(yù)期目標(biāo)。系統(tǒng)可正常完成頁(yè)面設(shè)計(jì)功能。這里將擷選系統(tǒng)核心功能部分頁(yè)面進(jìn)行展示。對(duì)此可描述為:

      輔助診斷模塊首先是選擇需要分析的數(shù)據(jù),進(jìn)行特征選擇,特征處理結(jié)果如8所示,在此可以選擇需要分析的特征,默認(rèn)為全選。執(zhí)行分析頁(yè)面可以編輯要分析的特征以及權(quán)重和閾值,如圖9所示。在執(zhí)行分析后分析結(jié)果如圖10所示,將詳細(xì)展現(xiàn)患者基本信息和分析結(jié)果的圖標(biāo)展示,以及分析意見與建議。

      圖8 特征選擇頁(yè)面

      圖9 執(zhí)行分析圖

      圖10 分析結(jié)果圖

      4 結(jié)束語

      高血脂癥是一種常見的發(fā)病率極高的慢性病,因此高血脂的防治顯得尤為重要。本文首先改進(jìn)特征選擇算法BP神經(jīng)網(wǎng)絡(luò)算法的反饋網(wǎng)絡(luò)的權(quán)值、閾值,使神經(jīng)網(wǎng)絡(luò)修正更加精確高效,然后對(duì)最優(yōu)特征子集使用改進(jìn)的K-C4.5算法進(jìn)行分類預(yù)測(cè),該改進(jìn)的分類模型綜合C4.5算法和K階最近鄰算法的優(yōu)點(diǎn),并改進(jìn)C4.5算法的數(shù)據(jù)讀取方式,最終改進(jìn)的算法模型相較傳統(tǒng)算法,有著更高的分類精度和效率。基于改進(jìn)后的算法模型設(shè)計(jì)的高血脂輔助診斷系統(tǒng),能夠有效地輔助醫(yī)護(hù)人員的工作,具有較強(qiáng)的使用價(jià)值。

      猜你喜歡
      特征選擇公式神經(jīng)網(wǎng)絡(luò)
      組合數(shù)與組合數(shù)公式
      排列數(shù)與排列數(shù)公式
      等差數(shù)列前2n-1及2n項(xiàng)和公式與應(yīng)用
      神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
      電子制作(2019年19期)2019-11-23 08:42:00
      例說:二倍角公式的巧用
      Kmeans 應(yīng)用與特征選擇
      電子制作(2017年23期)2017-02-02 07:17:06
      基于神經(jīng)網(wǎng)絡(luò)的拉矯機(jī)控制模型建立
      聯(lián)合互信息水下目標(biāo)特征選擇算法
      復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
      基于支持向量機(jī)回歸和RBF神經(jīng)網(wǎng)絡(luò)的PID整定
      韶关市| 克什克腾旗| 涿鹿县| 鹰潭市| 阳春市| 泰顺县| 合江县| 汪清县| 大足县| 乾安县| 团风县| 灵武市| 桂林市| 贞丰县| 伊宁市| 乌拉特前旗| 资阳市| 泸州市| 台北市| 盐津县| 汶川县| 屯昌县| 根河市| 加查县| 宁陵县| 滦平县| 南皮县| 东乌| 江安县| 天台县| 邢台县| 蕉岭县| 丹东市| 老河口市| 乐陵市| 张家界市| 临邑县| 新竹县| 盖州市| 云霄县| 平乡县|