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

?

基于粒子群算法的BP神經(jīng)網(wǎng)絡(luò)優(yōu)化技術(shù)

2015-12-23 00:59:14張德慧張德育劉清云呂艷輝
關(guān)鍵詞:約簡(jiǎn)權(quán)值粒子

張德慧,張德育,劉清云,呂艷輝

(沈陽(yáng)理工大學(xué) 信息科學(xué)與工程學(xué)院,遼寧 沈陽(yáng)110159)

0 引 言

BP神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)領(lǐng)域的研究越來(lái)越廣泛、越來(lái)越深入,并且取得了較好的應(yīng)用效果[1]。例如:文獻(xiàn) [2]采用BP神經(jīng)網(wǎng)絡(luò)對(duì)臨界熱熔進(jìn)行預(yù)測(cè),構(gòu)建了新型的神經(jīng)網(wǎng)絡(luò)模型,具有很快的收斂速度并且解決了非線性問(wèn)題;文獻(xiàn)[3]提出了一種IVL-BP神經(jīng)網(wǎng)絡(luò)方法來(lái)預(yù)測(cè)短期供給貸款的風(fēng)險(xiǎn);文獻(xiàn) [4]采用人工神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)麻醉患者所用的藥物總量,準(zhǔn)確率在95%以上,預(yù)測(cè)效果非常好。

BP神經(jīng)網(wǎng)絡(luò)存在易受初始權(quán)值、學(xué)習(xí)速率、動(dòng)量因子等參數(shù)影響,而通過(guò)高強(qiáng)度的訓(xùn)練方式會(huì)產(chǎn)生 “過(guò)擬合”現(xiàn)象,影響網(wǎng)絡(luò)的泛化能力的問(wèn)題,因此多次訓(xùn)練的結(jié)果相差很大,有時(shí)甚至不會(huì)收斂。此外,收斂速度緩慢和易陷入局部極小值也是BP 神經(jīng)網(wǎng)絡(luò)的常見(jiàn)缺陷,針對(duì)這一點(diǎn),研究者們給出了不同的改進(jìn)方法。如文獻(xiàn) [5]采用改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)對(duì)銀行資金的早期風(fēng)險(xiǎn)給予警告,其改進(jìn)方法包括利用olmogorov定理和試湊法來(lái)確定隱含層的節(jié)點(diǎn)數(shù);在原Sigmoid函數(shù)基礎(chǔ)上加入常數(shù)項(xiàng)來(lái)構(gòu)造轉(zhuǎn)移函數(shù);增加動(dòng)量項(xiàng),動(dòng)量因子定義在0與1 之間;根據(jù)權(quán)值調(diào)節(jié)情況來(lái)改變學(xué)習(xí)速率等。上述改進(jìn)方法使訓(xùn)練速度和預(yù)測(cè)精度都有所提高,但仍避免不了易陷入局部極小值的問(wèn)題。文獻(xiàn) [6]提出了一種基于蟻群優(yōu)化算法來(lái)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的方法,并用于預(yù)測(cè)煤炭的融化溫度,蟻群算法是一種優(yōu)化算法,當(dāng)訓(xùn)練曲面出現(xiàn)多峰狀態(tài)時(shí),蟻群算法通過(guò)信息素的調(diào)整,使BP神經(jīng)網(wǎng)絡(luò)跳出局部最優(yōu)解,但是該方法的訓(xùn)練速度并沒(méi)有得到明顯提高。文獻(xiàn) [7]采用遺傳算法來(lái)優(yōu)化BP神經(jīng)網(wǎng)絡(luò),并用于預(yù)測(cè)工廠電流功率。遺傳算法是一種具有全局優(yōu)化能力的群組優(yōu)化算法,能夠提高預(yù)測(cè)精度,但不能兼顧到局部極小的問(wèn)題。文獻(xiàn) [8]提出了利用粒子群算法 (particle swarm optimization,PSO)來(lái)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的方法,并用于巖石的識(shí)別,該方法避免了局部極小值的缺陷,但訓(xùn)練速度仍有待提高。

基于目前研究現(xiàn)狀,本文提出一種利用改進(jìn)的PSO 來(lái)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的方法。對(duì)PSO 進(jìn)行改進(jìn),提高它的收斂速度;用改進(jìn)的PSO 得到的最優(yōu)權(quán)值訓(xùn)練BP神經(jīng)網(wǎng)絡(luò);將此BP神經(jīng)網(wǎng)絡(luò)模型用于預(yù)測(cè)遺傳高血壓的患病年齡。通過(guò)實(shí)驗(yàn)仿真,將改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)用于預(yù)測(cè)遺傳高血壓的年齡,對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行約簡(jiǎn)和歸一化,提高BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度,仿真結(jié)果表明訓(xùn)練效果理想。

1 PSO 算法及改進(jìn)

PSO 算法的基本思想是通過(guò)追隨當(dāng)前搜索到的最優(yōu)值尋找全局最優(yōu),即從隨機(jī)解出發(fā),通過(guò)迭代尋找最優(yōu)解,通過(guò)適應(yīng)度來(lái)評(píng)價(jià)解的品質(zhì)。PSO 算法沒(méi)有過(guò)多參數(shù)需要調(diào)整,具有易實(shí)現(xiàn)、精度高、收斂快等優(yōu)點(diǎn),在解決實(shí)際問(wèn)題中展示了其優(yōu)越性,如函數(shù)優(yōu)化、神經(jīng)網(wǎng)絡(luò)訓(xùn)練、模糊系統(tǒng)控制等。

1.1 基本PSO 算法

PSO 算法定義及算法描述請(qǐng)參見(jiàn)文獻(xiàn) [9]。

假設(shè)在一個(gè)D 維的目標(biāo)搜索空間中,有m 個(gè)粒子組成一個(gè)群體,其中第i 個(gè)粒子的位置向量記為Xi=(Xi1,Xi2,......XiD),i=1,2,…,m,速度向量記為Vi= (Vi1,Vi2,......ViD),該粒子迄今為止搜索到的最優(yōu)位置記為Pi= (Pi1,Pi2,......PiD),整個(gè)粒子群 搜索到的最優(yōu)位置記為Pg= (Pg1,Pg2,......PgD),則粒子更新公式如下所示

當(dāng)Vid>Vmax時(shí),取Vid=Vmax,當(dāng)Vid<-Vmax時(shí),取Vid=-Vmax。

其中,i=1,2,…,m,d=1,2,…,D,加速常數(shù)c1和c2為非負(fù)數(shù),r1和r2服從 [0,1]上的均勻分布隨機(jī)數(shù);Xid(t)是第i個(gè)粒子的當(dāng)前位置,Pid是第i個(gè)粒子迄今為止搜索到的最優(yōu)位置,Pgd是整個(gè)粒子群搜索到的最優(yōu)位置,Vid是第i 個(gè)粒子的當(dāng)前速度,Vid∈[-Vmax,Vmax],Vmax為最大限制速度,是非負(fù)數(shù)[10]。PSO 算法中粒子的迭代位置變化如圖1所示。

1.2 PSO 算法的改進(jìn)

通常,PSO 算法中所有粒子都是由全局最好位置指導(dǎo)并在整個(gè)種群中搜索,然而實(shí)驗(yàn)表明種群的中間粒子往往比全局最好位置更容易得到全局最優(yōu)位置[11]。為此本文在PSO 算法中引入慣性因子σ,保證粒子下一刻速度是在前一刻速度基礎(chǔ)上迭代的,這樣就能使速度的變化連續(xù),更準(zhǔn)確的追蹤種群中的最優(yōu)粒子位置。下面定義粒子速度更新公式如下所示

圖1 粒子位置更新

式中:加速因子c1和c2代表了粒子向個(gè)體極值和全局極值推進(jìn)的隨機(jī)加速權(quán)值。慣性因子的引入使PSO 算法的性能得到很大提高,成功解決了很多實(shí)際問(wèn)題,這里將加入慣性因子的PSO 算法稱為帶慣性項(xiàng)的粒子群算法。

探測(cè)是指粒子在新方向上進(jìn)行探索的程度,開(kāi)發(fā)是指粒子繼續(xù)原先軌跡進(jìn)行搜索的程度,控制算法的探測(cè)和開(kāi)發(fā)的各自比例,可使其達(dá)到更好的優(yōu)化效果。因此本文在帶慣性項(xiàng)的粒子群算法基礎(chǔ)上,引入隨機(jī)變化的加速常數(shù),動(dòng)態(tài)改變探測(cè)和開(kāi)發(fā)的比例,使其盡快找到全局最優(yōu)位置?,F(xiàn)定義加速常數(shù)c1和c2為式 (4)、式 (5)所示

式中:random (a)和random (b)都是系統(tǒng)隨即生成的隨機(jī)數(shù),t、Tmax分別是當(dāng)前進(jìn)化代數(shù)和最大進(jìn)化代數(shù)。最后的改進(jìn)算法稱為引入慣性項(xiàng)和隨機(jī)加速常數(shù)的粒子群算法。

1.3 改進(jìn)PSO 算法流程

引入慣性項(xiàng)和隨機(jī)加速常數(shù)的粒子群算法流程如圖2所示。

(1)初始化,設(shè)定Tmax,在空間Rn中隨機(jī)產(chǎn)生兩個(gè)隨機(jī)數(shù)a和b,用來(lái)改變加速常數(shù);同時(shí)隨機(jī)生成m 個(gè)粒子x1,x2,…,xm,組成初始種群X(t),粒子初始位移v1,v2,…,vs,組成位移矩陣V(t)。

(2)計(jì)算每個(gè)粒子的適應(yīng)值,評(píng)價(jià)種群X(t)。

(3)比較粒子的適應(yīng)值和自身最優(yōu)值pBest。如果粒子的當(dāng)前值比pBest 小,則將當(dāng)前值賦給pBest,并設(shè)pBest位置為n維空間中當(dāng)前位置。

(4)比較粒子適應(yīng)值與種群最優(yōu)值,如果當(dāng)前值比gBest更小,則將當(dāng)前值賦給gBest。

(5)按上面粒子更新式 (2)~式 (5)更新粒子的速度和位置方向,產(chǎn)生新種群。

圖2 改進(jìn)PSO 算法流程

(6)判斷是否滿足迭代次數(shù)或評(píng)價(jià)值是否達(dá)到給定精度,若滿足條件,則結(jié)束尋優(yōu),否則繼續(xù)迭代。

2 BP神經(jīng)網(wǎng)絡(luò)

本文擬采用引入動(dòng)量項(xiàng)的BP神經(jīng)網(wǎng)絡(luò),它能夠較好解決訓(xùn)練過(guò)程振蕩、收斂速度緩慢等問(wèn)題。在簡(jiǎn)要介紹傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,介紹引入動(dòng)量項(xiàng)的BP神經(jīng)網(wǎng)絡(luò)。

傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)包括輸入層、隱含層和輸出層3部分[12],隱含層可以是一層或多層,各層的神經(jīng)元數(shù)可以不同,相鄰層節(jié)點(diǎn)間通過(guò)權(quán)值連接。圖3為含單隱含層的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),輸入向量、隱含層輸出向量、輸出層輸出向量、期望輸出向量、輸入層到隱含層之間的權(quán)值矩陣及隱含層到輸出層之間的權(quán)值矩陣的定義見(jiàn)文獻(xiàn) [13]。

當(dāng)網(wǎng)絡(luò)輸出與期望輸出不相等時(shí),存在輸出誤差,而通過(guò)調(diào)節(jié)權(quán)值可以使輸出誤差盡可能小,因此,在訓(xùn)練時(shí),輸出誤差越小,網(wǎng)絡(luò)預(yù)測(cè)就越準(zhǔn)確。

與傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)相比,引入動(dòng)量項(xiàng)的BP神經(jīng)網(wǎng)絡(luò)僅在權(quán)值調(diào)整部分有所區(qū)別。引入動(dòng)量項(xiàng)的網(wǎng)絡(luò)在調(diào)整權(quán)值過(guò)程中,不僅要考慮誤差的作用,還要考慮誤差曲面的變化趨勢(shì),當(dāng)誤差曲面出現(xiàn)驟然起伏時(shí),應(yīng)減少震蕩趨勢(shì),以提高訓(xùn)練速度。

圖3 三層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

若X 表示某層輸入向量,W 表示某層權(quán)矩陣,則含有動(dòng)量項(xiàng)的權(quán)值調(diào)節(jié)公式為

式中:η——學(xué)習(xí)速率,δ——誤差信號(hào),α ∈(0,1)為動(dòng)量系數(shù),由該公式可知,學(xué)習(xí)速率越大,權(quán)值的動(dòng)態(tài)改變就越大。在實(shí)際應(yīng)用中,合適的學(xué)習(xí)速率不但可以提高誤差精度而且可以減少網(wǎng)絡(luò)振蕩[14]。帶動(dòng)量項(xiàng)的BP 神經(jīng)網(wǎng)絡(luò)流程如圖4所示。

(1)參數(shù)初始化。對(duì)權(quán)值矩陣W 、V 隨機(jī)賦值,樣本計(jì)數(shù)器p、訓(xùn)練次數(shù)計(jì)數(shù)器q為1,輸出誤差E 為0,學(xué)習(xí)速率η為0到1之間的數(shù),誤差精度Emin為正的小數(shù)。

(2)輸入訓(xùn)練樣本對(duì),計(jì)算各層輸出。

(3)計(jì)算網(wǎng)絡(luò)輸出誤差,設(shè)有P 對(duì)訓(xùn)練樣本,網(wǎng)絡(luò)對(duì)不同的樣本有不同的誤差,其計(jì)算公式為

(5)調(diào)整各層權(quán)值,權(quán)值調(diào)整引入動(dòng)量項(xiàng)αΔW(t-1)。

(6)檢查是否完成一次訓(xùn)練,若p<P,計(jì)數(shù)器p和q分別加1后,繼續(xù)訓(xùn)練,否則檢查網(wǎng)絡(luò)輸出誤差是否達(dá)到要求或是否達(dá)到設(shè)定的迭代次數(shù),即若滿足Ep<Emin,結(jié)束訓(xùn)練,否則返回繼續(xù)訓(xùn)練。

3 PSO 優(yōu)化BP神經(jīng)網(wǎng)絡(luò)及其應(yīng)用

3.1 PSO 優(yōu)化BP神經(jīng)網(wǎng)絡(luò)

BP神經(jīng)網(wǎng)絡(luò)常用的學(xué)習(xí)方法是梯度下降法,該方法的缺點(diǎn)是易陷入局部極值點(diǎn),這是由于在整個(gè)學(xué)習(xí)過(guò)程中,沒(méi)有引入任何額外參數(shù),只是根據(jù)訓(xùn)練樣本對(duì)初始權(quán)值和閾值進(jìn)行調(diào)整,因此權(quán)值的好壞直接影響到整個(gè)算法的性能。鑒于此,本文把改進(jìn)的PSO 應(yīng)用于BP 神經(jīng)網(wǎng)絡(luò)的訓(xùn)練中,通過(guò)優(yōu)化神經(jīng)網(wǎng)絡(luò)的連接權(quán)值,來(lái)解決BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)穩(wěn)定性差、可靠性低與易陷入局部極小的問(wèn)題,同時(shí)能夠提高BP神經(jīng)網(wǎng)絡(luò)的泛化能力。

圖4 帶動(dòng)量項(xiàng)的BP神經(jīng)網(wǎng)絡(luò)流程

用改進(jìn)的PSO 算法訓(xùn)練BP 神經(jīng)網(wǎng)絡(luò)時(shí),粒子群位置向量元素是BP神經(jīng)網(wǎng)絡(luò)的全部連接權(quán)值。對(duì)位置向量進(jìn)行初始化,利用改進(jìn)的PSO 算法尋優(yōu),以均方誤差最小作為尋優(yōu)目標(biāo),將得到的全局最優(yōu)位置作為BP 神經(jīng)網(wǎng)絡(luò)的權(quán)值。

利用式 (7)計(jì)算每個(gè)粒子的適應(yīng)值J

式中:yk——BP 神經(jīng)網(wǎng)絡(luò)的實(shí)際輸出,tk ——目標(biāo)輸出,m——輸出神經(jīng)元個(gè)數(shù),n——訓(xùn)練樣本的數(shù)目。下面給出利用改進(jìn)的PSO 算法來(lái)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的步驟:

(1)定BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),如a-b-c。

(2)種群參數(shù)初值:種群數(shù)目N ;速度向量維數(shù)D =a×b+b×c;最大迭代代數(shù)為Tmax,慣性權(quán)重W ,最大速度Vmax,加速常數(shù)c1和c2等,同時(shí)隨機(jī)確定粒子的初始位置矢量和速度矢量。這樣,每個(gè)粒子有一個(gè)初始位置,所有粒子中最好的位置為個(gè)體極值。

(3)設(shè)置加速因子c1和c2。為達(dá)到粒子在整個(gè)搜索空間移動(dòng)和提高最優(yōu)解收斂速率的目的,引入隨機(jī)變化的加速常數(shù)c1 和c2,使之隨進(jìn)化代數(shù)線性改變,即按式 (4)和式 (5)計(jì)算c1和c2。

(4)確定適應(yīng)度函數(shù)。按式 (7)計(jì)算每個(gè)粒子的適應(yīng)度函數(shù)值Ji,并對(duì)個(gè)體進(jìn)行評(píng)價(jià)。評(píng)價(jià)分兩個(gè)步驟:①把最小的適應(yīng)度函數(shù)值確定為粒子的個(gè)體極值,②把個(gè)體極值最小的粒子確定為全局極值。因此,算法迭代停止時(shí)適應(yīng)度最小的粒子對(duì)應(yīng)的位置,即為問(wèn)題所求的最優(yōu)解。

(5)速度與位置初始化。隨機(jī)生成m 個(gè)個(gè)體,每個(gè)個(gè)體包括兩部分,一部分是粒子的速度矩陣,另一部分是粒子的位置矩陣。將粒子群中每個(gè)粒子位置參數(shù)設(shè)為 [-1,1]間的隨機(jī)數(shù)。

(6)以粒子的當(dāng)前最佳位置作為迭代點(diǎn),進(jìn)行迭代。(7)根據(jù)式 (2)~式 (5)更新粒子的速度和位置方向,產(chǎn)生新的粒子群。

(8)排除速度和位置越界的粒子,并進(jìn)行速度和位置的更新。即:

若Vid>Vmax,則Vid=Vmax;若Vid<-Vmax,則Vid=Vmax;

若Xid>Xmax,則Xid=Xmax;若Xid<Xmin,則Xid=Xmin。

其中,Vmax、Xmax、Xmin分別是用戶自定義的最大速度、最大位置和最小位置,均為常數(shù)。

(9)具備下列條件之一停止迭代:迭代次數(shù)達(dá)到最大的預(yù)設(shè)值;誤差精度滿足設(shè)定值。否則跳轉(zhuǎn)到步驟 (7)。

(10)生成最優(yōu)解。迭代停止后,pgd 的值即為全局最優(yōu)解,即BP神經(jīng)網(wǎng)絡(luò)的權(quán)值與閾值,可將上述最優(yōu)解代入BP神經(jīng)網(wǎng)絡(luò)模型中進(jìn)行訓(xùn)練學(xué)習(xí)。

在基于改進(jìn)的PSO 來(lái)優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的算法中,是將BP神經(jīng)網(wǎng)絡(luò)的權(quán)值作為粒子群向量的各元素值。計(jì)算粒子的適應(yīng)度時(shí),采用的是BP算法的前向傳播來(lái)計(jì)算。粒子的適應(yīng)度函數(shù)的定義,也是根據(jù)BP 算法的均方誤差得來(lái)的。粒子群優(yōu)化算法避免了梯度下降法中要求函數(shù)可微、對(duì)函數(shù)求導(dǎo)的過(guò)程。具體流程如圖5所示。

3.2 遺傳高血壓預(yù)測(cè)

下面將優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)用于遺傳高血壓的預(yù)測(cè)中。本文選用河北省湯陰縣醫(yī)療管理系統(tǒng)中的健康體檢信息,利用SQL 語(yǔ)言對(duì)存儲(chǔ)在Oracle 10g 中的信息進(jìn)行篩選處理,統(tǒng)計(jì)到該地區(qū)患有遺傳高血壓的人數(shù)為1162人,通過(guò)對(duì)遺傳高血壓的訓(xùn)練樣本進(jìn)行訓(xùn)練,利用BP神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)帶有遺傳高血壓因子的兒童多少歲會(huì)患此病。

3.2.1 數(shù)據(jù)約簡(jiǎn)

在實(shí)際工程應(yīng)用中,都不同程度地涉及到不確定性因素和不完備信息的處理,如果將這些數(shù)據(jù)全部作為樣本輸入神經(jīng)網(wǎng)絡(luò),必將影響程序的訓(xùn)練結(jié)果,為解決這一問(wèn)題,首先要進(jìn)行數(shù)據(jù)約簡(jiǎn)。

本文采用Rosetta軟件作為數(shù)據(jù)約簡(jiǎn)工具,處理的數(shù)據(jù)為遺傳高血壓的訓(xùn)練樣本,其中輸入數(shù)據(jù)的相關(guān)屬性包括:性別BRD004、文化程度BRD007、體重TJ010、飲食TJ023、吸煙TJ025、飲酒TJ028、低壓值TJ007和高壓值TJ008,輸出數(shù)據(jù)為患高血壓年齡。

圖5 改進(jìn)的PSO 優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的流程

首先將數(shù)據(jù)導(dǎo)入Rosetta,其次進(jìn)行數(shù)據(jù)補(bǔ)齊,然后進(jìn)行數(shù)據(jù)離散化,最后進(jìn)行數(shù)據(jù)約簡(jiǎn)。數(shù)據(jù)約簡(jiǎn)主要有兩種方法,即遺傳算法和Johnson算法,本文采用是第二種方法。其約簡(jiǎn)結(jié)果如圖6 所示。經(jīng)數(shù)據(jù)約簡(jiǎn)去掉兩個(gè)屬性,最終屬性為性別、文化程度、體重、飲食、飲酒和低壓值。

圖6 數(shù)據(jù)約簡(jiǎn)結(jié)果

3.2.2 數(shù)據(jù)歸一化

在進(jìn)行神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)之前,要對(duì)原始樣本數(shù)據(jù)進(jìn)行歸一化、尺度變換處理,通過(guò)消除奇異數(shù)據(jù),歸納同一樣本數(shù)據(jù)統(tǒng)計(jì)分布特性,來(lái)加快網(wǎng)絡(luò)學(xué)習(xí)和計(jì)算的收斂速度。此外,對(duì)于預(yù)測(cè)值,由于其變化幅度較大,不宜直接作為神經(jīng)網(wǎng)絡(luò)的輸出,需要進(jìn)行反歸一化處理。

本文使用式 (8)對(duì)輸入輸出數(shù)據(jù)進(jìn)行歸一化處理,這種數(shù)據(jù)預(yù)處理方式適合BP神經(jīng)網(wǎng)絡(luò)

式中:x——沒(méi)有歸一化的數(shù)據(jù),x′——數(shù)據(jù)歸一化后的結(jié)果,xmin——輸入數(shù)據(jù)中最小的數(shù),xmax——輸入數(shù)據(jù)中最大的數(shù)。

3.2.3 BP網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)

輸入層和輸出層節(jié)點(diǎn)數(shù)與訓(xùn)練樣本息息相關(guān),這主要依賴于所應(yīng)用的領(lǐng)域。由數(shù)據(jù)預(yù)處理部分可知,數(shù)據(jù)約簡(jiǎn)后剩下性別、文化程度、體重、飲食、飲酒和低壓值這6個(gè)屬性,由此可知,輸入層節(jié)點(diǎn)的個(gè)數(shù)為6,而輸出數(shù)據(jù)為患高血壓的年齡,所以輸出層的神經(jīng)元個(gè)數(shù)是1。由于本文采用的是單隱含層的BP網(wǎng)絡(luò),需要確定隱含層節(jié)點(diǎn)的個(gè)數(shù)。

目前,對(duì)于確定最佳的隱節(jié)點(diǎn)數(shù)還沒(méi)有一個(gè)標(biāo)準(zhǔn)公式可以計(jì)算,可以采用試湊法確定隱節(jié)點(diǎn)數(shù)的大致范圍[15],然后通過(guò)反復(fù)訓(xùn)練逐步確定。本文根據(jù)試湊法得到隱節(jié)點(diǎn)數(shù)的范圍是 (3.6,12.64),在此基礎(chǔ)上,隱節(jié)點(diǎn)數(shù)從3開(kāi)始進(jìn)行嘗試,依次向上加1,直到訓(xùn)練到20,得到最優(yōu)的隱節(jié)點(diǎn)數(shù)是15,故網(wǎng)絡(luò)結(jié)構(gòu)為6-15-1。

3.2.4 高血壓預(yù)測(cè)

神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)確定為6-15-1,隱含層和輸出層的轉(zhuǎn)移函數(shù)均采用Sigmoid 函數(shù)。其中,最大訓(xùn)練次數(shù)為10000,目標(biāo)誤差為0.005,初始學(xué)習(xí)速率為0.15,動(dòng)量因子為0.90,以上各參數(shù)均由程序反復(fù)實(shí)驗(yàn)而獲得最優(yōu)值。鑒于文章篇幅有限,本文只列出一部分?jǐn)?shù)據(jù),訓(xùn)練數(shù)據(jù)見(jiàn)表1,此數(shù)據(jù)為歸一化之前的數(shù)據(jù),歸一化和反歸一化由程序編寫,不需人工處理。

表1 部分訓(xùn)練數(shù)據(jù)

初始化粒子數(shù)N=30,函數(shù)維數(shù)D=121,最大迭代次數(shù)為1500,最大速度為3,慣性權(quán)重為0.729,適應(yīng)度函數(shù)如式 (7)所示。執(zhí)行改過(guò)的PSO 算法得到最優(yōu)的權(quán)值返回給BP神經(jīng)網(wǎng)絡(luò)作為BP的初始權(quán)值。

將全部訓(xùn)練數(shù)據(jù)帶入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,隨著訓(xùn)練次數(shù)的增加,訓(xùn)練誤差會(huì)逐漸減小,當(dāng)小到文中規(guī)定的訓(xùn)練精度時(shí)訓(xùn)練結(jié)束,訓(xùn)練結(jié)束后就可以進(jìn)行預(yù)測(cè),得到的預(yù)測(cè)數(shù)據(jù)見(jiàn)表2。

本文中采用的預(yù)測(cè)方法是在BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)不變的情況下,輸入預(yù)測(cè)數(shù)據(jù),預(yù)測(cè)出其相應(yīng)的發(fā)病年齡,與每次進(jìn)行預(yù)測(cè)都存在一個(gè)誤差,可形成誤差曲線,預(yù)測(cè)誤差曲線如圖7所示,其中黑線代表網(wǎng)絡(luò)實(shí)際輸出,灰線代表預(yù)測(cè)輸出。本文分別使用傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)和改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè),它們的預(yù)測(cè)值在表3中給出,改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)明顯比傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)精度高,誤差控制在1%以內(nèi),而傳統(tǒng)BP的誤差在5%以內(nèi)。由此可以推斷,可以此來(lái)預(yù)測(cè)未發(fā)病的人群,進(jìn)行進(jìn)一步推廣。

表2 預(yù)測(cè)數(shù)據(jù)

圖7 預(yù)測(cè)誤差曲線

表3 傳統(tǒng)與改進(jìn)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值

4 結(jié)束語(yǔ)

本文針對(duì)傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)存在學(xué)習(xí)效率低、收斂速度慢和容易陷入局部極小值的問(wèn)題,在傳統(tǒng)BP算法中引入改進(jìn)的PSO 算法,有效地避免了陷入局部極值問(wèn)題;在此基礎(chǔ)上,利用改進(jìn)的PSO 算法得到的最優(yōu)權(quán)值訓(xùn)練BP 神經(jīng)網(wǎng)絡(luò),同時(shí)采用Rosetta軟件進(jìn)行數(shù)據(jù)約簡(jiǎn),進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化,提高了訓(xùn)練速度和預(yù)測(cè)精度。并將此方法應(yīng)用到遺傳高血壓的患病年齡預(yù)測(cè)系統(tǒng)中。

由預(yù)測(cè)遺傳高血壓年齡的仿真實(shí)驗(yàn)結(jié)果可知,利用改進(jìn)的PSO 來(lái)優(yōu)化BP 神經(jīng)網(wǎng)絡(luò),其預(yù)測(cè)結(jié)果迭代次數(shù)少、預(yù)測(cè)時(shí)間短、預(yù)測(cè)精度高,因此將優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)用于遺傳高血壓的預(yù)測(cè)是切實(shí)可行的。

[1]Zhang Minli,Qiao Shanshan.Research on the application of artificial neural networks intender offer for construction projects[J].Physics Procedia,2012,24:1781-1788.

[2]Wei Huiming,Su GH,Qiu SZ,et al.Applications of genetic neural network for prediction of critical heat flux [J].International Journal of Thermal Sciences,2010,49 (1):143-152.

[3]Wang Yongli,Niu Dongxiao,Ji Li.Short-term power load forecasting based on IVL-BP neural network technology [J].Systems Engineering Procedia,2012,11 (4):168-174.

[5]Tuo Zhong,Wang liyuan.Improved BP neural network’s application in the bank early warning [J].Procedia Engineering,2011,11 (1):216-221.

[6]Liu YP,Wu MG,Qian JX.Predicting coal ash fusion temperature based on its chemical composition using ACO-BP neural network [J].Thermochimica Acta,2007,454 (1):64-68.

[7]Liu Ke,Guo Wenyan,Shen Xiaoliu.Research on the forecast model of electricity power industry loan based on GA-BP neural network [J].Energy Procedia,2012,14:1918-1924.

[8]Zhan Yunjun,Wu Yanyan.Recognition of altered rock based on improved particle swarm neural network [G].LNCS 5551:Advances in Neural Networks-ISNN,2009:149-155.

[9]Lei Wen.The evaluation of BP-ISP strategy alignment degree with PSO-based ANN [G].LNCS 4493:Advances in Neural Networks-ISNN,2007:284-291.

[10]Zhao Chenglin,Sun Xuebin,Sun Songlin,et al.Fault diagnosis of sensor by chaos particle swarm optimization algorithm and support vector machine[J].Expert Systems with Applications,2011,38 (8):9908-9912.

[11]Hu Baokun,LiuYusheng,Gao Shuming,et al.Parallel relevance feedback for 3D model retrieval based on fast weightedcenter particle swarm optimization [J].Pattern Recognition,2010,43 (8):2950-2961.

[12]Eric Wong W,Yu Qi.BP neural network-based effective fault localization [J].Internatio-nal Journal of Software Engineering and Knowledge Engineering,2009,19 (4):573-597.

[13]Wu Shunxiang,Luo Delin,Zhou Zhiwen.A kind of BP neural network algorithm based on grey interval[J].International Journal of Systems Science,2011,42 (3):389-396.

[14]Li Mingshun,Chen Wencui.Application of BP neural network algorithm in sustainable development of highway construction projects[J].Physics Procedia,2012,25:1212-1217.

[15]Jiang Lihong,Wang Aiguo,Tian Naiyuan et al.BP neural network of continuous casting technological parameters and secondary dendrite arm spacing of spring steel[J].Journal of Iron and Steel Research,2011,18 (8):25-29.

猜你喜歡
約簡(jiǎn)權(quán)值粒子
一種融合時(shí)間權(quán)值和用戶行為序列的電影推薦模型
CONTENTS
CONTENTS
基于二進(jìn)制鏈表的粗糙集屬性約簡(jiǎn)
基于粒子群優(yōu)化的橋式起重機(jī)模糊PID控制
實(shí)值多變量維數(shù)約簡(jiǎn):綜述
基于粒子群優(yōu)化極點(diǎn)配置的空燃比輸出反饋控制
基于模糊貼近度的屬性約簡(jiǎn)
基于權(quán)值動(dòng)量的RBM加速學(xué)習(xí)算法研究
一種改進(jìn)的分布約簡(jiǎn)與最大分布約簡(jiǎn)求法
河南科技(2014年7期)2014-02-27 14:11:29
鄂托克前旗| 加查县| 北流市| 元阳县| 贵港市| 福建省| 洛浦县| 武义县| 尼木县| 长治市| 嘉禾县| 屯门区| 固镇县| 崇州市| 察隅县| 五台县| 安阳县| 信阳市| 黄石市| 全南县| 色达县| 大足县| 慈利县| 义马市| 衡东县| 丰镇市| 陆川县| 镶黄旗| 马尔康县| 潢川县| 乌兰浩特市| 南和县| 甘孜县| 泽州县| 吴川市| 崇礼县| 英山县| 云龙县| 临沧市| 张掖市| 定结县|