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

?

改進(jìn)的粒子群BP神經(jīng)網(wǎng)絡(luò)算法在天氣預(yù)測中的應(yīng)用

2019-09-12 06:20沈藝高
計算機(jī)時代 2019年8期
關(guān)鍵詞:粒子群算法BP神經(jīng)網(wǎng)絡(luò)改進(jìn)

沈藝高

摘? 要: 介紹了一種基于改進(jìn)的粒子群算法BP神經(jīng)網(wǎng)絡(luò)(IBPPSO)來預(yù)測天氣情況。粒子群算法BP神經(jīng)網(wǎng)絡(luò)(BPPSO)彌補(bǔ)了BP神經(jīng)網(wǎng)絡(luò)迭代次數(shù)多,運算速度慢的缺點。粒子群算法中學(xué)習(xí)因子(c1、c2)、慣性權(quán)重(w)設(shè)定為常數(shù),實際情況下,c1、c2、w隨迭代次數(shù)而變化。文章對粒子群算法進(jìn)行適當(dāng)改進(jìn),對最佳位置的搜索從全局的大范圍漸漸向局部的小范圍轉(zhuǎn)變,既滿足了較大的全局搜索能力,又增加了小范圍局部搜索的精度。該方法應(yīng)用于上海虹橋機(jī)場近三年來12000組天氣情況數(shù)據(jù)。結(jié)果表明,IBPPSO預(yù)測準(zhǔn)確率和成功預(yù)測雨天概率兩方面都優(yōu)于BP神經(jīng)網(wǎng)絡(luò)與BPPSO。

關(guān)鍵詞: 粒子群算法; BP神經(jīng)網(wǎng)絡(luò); 改進(jìn); 天氣預(yù)測

中圖分類號:TP301.6? ? ? ? ? 文獻(xiàn)標(biāo)志碼:A? ? ?文章編號:1006-8228(2019)08-18-03

Abstract: This paper introduces an improved particle swarm optimization based BP neural network (IBPPSO) to predict weather conditions. The particle swarm optimization BP neural network (BPPSO) makes up for the shortcomings of the traditional BP neural network, which has many iterations and slow operation speed, and enhances the global search ability of the BP neural network algorithm. In particle swarm algorithm, the learning factor (c1、c2) and inertia weight (w) are set as constants. In practice, c1、c2、w vary with the number of iterations. In this paper, the particle swarm algorithm is improved appropriately, and the search for the best location is gradually changed from the global large-scale to the local small-scale, which not only satisfies the larger global search ability, but also increases the precision of the small-scale local search. The method is applied to test 12,000 sets of weather data of Shanghai Hongqiao Airport in the past three years. The results show that IBPPSO is superior to BP neural network and BPPSO in both accuracy and probability of successful prediction of rainy days.

Key words: BP neural network; particle swarm optimization; improved; weather forecast

0 引言

惡劣的天氣給人類社會造成的經(jīng)濟(jì),精神上的損失已經(jīng)不可估量。在環(huán)境多變的今天,對天氣進(jìn)行提前預(yù)測,進(jìn)而對一些突發(fā)的情況做出準(zhǔn)備已經(jīng)變得至關(guān)重要。

從17世紀(jì)開始科學(xué)家使用科學(xué)儀器來測量天氣狀態(tài),并使用大量的天氣數(shù)據(jù)來預(yù)報天氣。隨著時代的發(fā)展,預(yù)測天氣的方法越來越多。有學(xué)者提出將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于天氣預(yù)測,卻面臨著算法迭代次數(shù)太多,容易陷入局部極值,全局搜索能力弱等問題。后來有學(xué)者提出基于粒子群算法的BP神經(jīng)網(wǎng)絡(luò)模型,但仍存在預(yù)測精確度低的問題。

本文提出一種基于優(yōu)化的粒子群算法的BP神經(jīng)網(wǎng)絡(luò)模型,改變了粒子群算法常系數(shù)的模式,使學(xué)習(xí)因子及慣性權(quán)重隨著迭代次數(shù)的變化而變化,同時其變化規(guī)律滿足先全局搜索后局部搜索的思想,既發(fā)揮了粒子群算法全局搜索能力強(qiáng)的優(yōu)點,同時也提高了預(yù)測的準(zhǔn)確度。

1 算法原理

1.1 粒子群算法

粒子群算法(particleswarm optimization,PSO)最早由Eberhart和Kennedy于1995年提出,它源于對鳥類覓食行為的研究[1]。鳥類在捕食時,為了能夠得到更多的食物,會考慮去往以下兩個位置:其自身所經(jīng)歷的食物最多的位置及鳥類種群中所普遍認(rèn)為的食物最多的位置。粒子群算法利用適應(yīng)度函數(shù)來表征每個粒子的優(yōu)良程度(對應(yīng)于食物多少的程度),每個粒子同時具有三項特征:速度,位置,適應(yīng)度。假設(shè)在一個n維空間中有m個粒子,則第i個粒子的位置即為:[Xi=(xi1,xi2,...,xin)],第i個粒子的速度即為:[Vi=(vi1,vi2,...,vin)],為了找到擁有最優(yōu)適應(yīng)度的位置,粒子群不斷迭代進(jìn)化。在迭代中,每個粒子維護(hù)一個其自身的最優(yōu)位置,稱為個體極值[pbest],則對于第i個粒子,其個體極值[pibest=(pi1,pi2,...,pin)];對于整個粒子群,在每次迭代時,需維護(hù)一個最優(yōu)位置,稱為全局極值[gbest],記為[gbest=(g1,g2,...,gn)];在迭代過程中,粒子下一時刻的位置取決于其當(dāng)前位置,當(dāng)前速度,其個體極值及全局極值,其迭代公式如下[2-3]:

其中,[c1]和[c2]稱為學(xué)習(xí)因子。w稱為慣性權(quán)重(inertia weight)[4]。

上面的公式分為三部分。第一部分由前一時刻粒子速度決定,體現(xiàn)記憶功能。第二部分粒子參考了自身經(jīng)歷,對下一次移動做出選擇,體現(xiàn)其自身的智能性。第三部分粒子結(jié)合整個粒子群的共享信息來改變自己的位置增強(qiáng)了粒子的全局搜索能力,體現(xiàn)了粒子間的團(tuán)結(jié)協(xié)作[5]。

在迭代中,粒子速度應(yīng)限定在一定范圍,即取定一個最大速度[Vmax]和一個最小速度[Vmin],粒子速度滿足:[Vmin

粒子群算法具有強(qiáng)大的全局搜索能力,可以避免陷入局部極值。

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

BP神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),這是目前應(yīng)用最廣的神經(jīng)網(wǎng)絡(luò)。其包含三層:輸入層,隱含層,輸出層,層與層之間的聯(lián)系如圖1:

⑴ 在信號前向傳播階段,輸入信號依次經(jīng)過輸入層,隱藏層,輸出層,最后計算得到輸出結(jié)果。設(shè)[Wij(l)]為從[l-1]層第[j]個神經(jīng)元與第l層第i個神經(jīng)元之間的連接權(quán)重;[bi(l)]為第l層第i個神經(jīng)元的偏置,[neti(l)]為第l層第i個神經(jīng)元的輸入,[hi(l)]為第l層第i個神經(jīng)元的輸出,則:

其中, [f(x)]為神經(jīng)網(wǎng)絡(luò)的激活函數(shù)。通常激活函數(shù)取非線性函數(shù),因為多層神經(jīng)網(wǎng)絡(luò)本質(zhì)上是多個線性函數(shù)疊加,若采用線性激活函數(shù),則其結(jié)果仍為一個線性函數(shù)。一般來說,我們選擇sigmoid函數(shù)作為激活函數(shù)[6],即:

[f(x)=11+e-x]。

⑵ 在誤差反向傳播階段,通過實際輸出與真值的差值作為誤差,再通過誤差的反向傳播,逐次調(diào)整模型的權(quán)重和偏置,直到誤差滿足要求或達(dá)到迭代次數(shù)。設(shè)共有[n]個樣本,則樣本的總誤差即為[2]:

[error=i=1nj=1l(realji-outji)2]? ? ⑸

其中,[realji]為第j個輸出在第i組樣本作用下的真實值,[outji]為第j個輸出在第i組樣本作用下的實際輸出值。

BP神經(jīng)網(wǎng)絡(luò)簡單,易實現(xiàn),但其收斂速度慢,得到貼合實際的參數(shù)需經(jīng)過大量迭代,而且容易陷入局部極值,偏離全局極值。

2 算法改進(jìn)

2.1 基于粒子群算法的BP神經(jīng)網(wǎng)絡(luò)模型(BPPSO)

BP神經(jīng)網(wǎng)絡(luò)收斂速度慢,容易陷入局部極值,偏離全局極值,因此,應(yīng)用粒子群算法,增加參數(shù)向目標(biāo)方向進(jìn)化的速度,同時增強(qiáng)模型的全局搜索能力,使最終得到的模型更加準(zhǔn)確地進(jìn)行預(yù)測。

基于粒子群算法的BP神經(jīng)網(wǎng)絡(luò)模型,采用粒子群算法取代反向誤差傳遞來進(jìn)行對參數(shù)的調(diào)整,在每次迭代中,將樣本的總誤差[error]作為粒子群算法的適應(yīng)度函數(shù),將神經(jīng)網(wǎng)絡(luò)的權(quán)重[W]及偏置[b]作為粒子的位置,值得注意的是,此時希望誤差取極小值,因此算法中尋找的是適應(yīng)度函數(shù)值最小的粒子的位置。算法執(zhí)行步驟如下。

⑴ 初始化粒子群的位置(權(quán)重及偏置),個體極值[Pbest]及全局極值[gbest]。

⑵ 進(jìn)行迭代。根據(jù)每個粒子的個體極值[Pbest]和全局極值[gbest]計算粒子的速度,進(jìn)而更新粒子的位置。根據(jù)新的位置分別計算每個粒子所對應(yīng)的樣本總誤差作為適應(yīng)度函數(shù)值,再更新每個粒子的個體極值[Pbest]及全局極值[gbest],再進(jìn)行下一輪迭代。

⑶ 達(dá)到迭代次數(shù),得到最終權(quán)重及偏置(全局極值[gbest])。

2.2 基于優(yōu)化的粒子群算法的BP神經(jīng)網(wǎng)絡(luò)模型(IBPPSO)

粒子群算法中學(xué)習(xí)因子和慣性權(quán)重設(shè)定為常數(shù),在實際情況下,我們需要[c1],[c2]及w隨迭代次數(shù)變化,從而實現(xiàn)對最佳位置的搜索從全局的大范圍漸漸向局部的小范圍轉(zhuǎn)變,既滿足了較大的全局搜索能力,又增加了小范圍局部搜索的精度。我們根據(jù)呂祥銘等人的研究結(jié)果[3],調(diào)整參數(shù)如下:

3 天氣預(yù)測

作者收集了上海虹橋機(jī)場近三年來每日不同時刻的近12000組天氣情況數(shù)據(jù)作為數(shù)據(jù)集。取其中2000組作為測試數(shù)據(jù),剩余近10000組作為訓(xùn)練數(shù)據(jù)。在訓(xùn)練過程中,提取溫度,濕度,氣壓,風(fēng)速四個特征作為輸入節(jié)點,通過神經(jīng)網(wǎng)絡(luò),將樣本分為晴天和雨天。模型輸入層有4個節(jié)點,隱藏層有9個節(jié)點,輸出層有2個節(jié)點。三種算法預(yù)測結(jié)果如表1所示。

根據(jù)表1,BP神經(jīng)網(wǎng)絡(luò)的預(yù)測準(zhǔn)確率和成功預(yù)測雨天概率分別為0.7954和0.0955。BPPSO的預(yù)測準(zhǔn)確率和成功預(yù)測雨天概率分別為0.9285和0.1560。IBPPSO的預(yù)測準(zhǔn)確率和成功預(yù)測雨天概率分別為0.9428和0.1823??梢钥闯觯琁BPPSO迭代次數(shù)優(yōu)于BP神經(jīng)網(wǎng)絡(luò),同時在預(yù)測準(zhǔn)確率和成功預(yù)測雨天概率兩方面都優(yōu)于另外兩者,具有更高的準(zhǔn)確度。

4 結(jié)束語

本文針對BP神經(jīng)網(wǎng)絡(luò)迭代次數(shù)多,運算速度慢的缺點,將改進(jìn)后的粒子群算法應(yīng)用于BP神經(jīng)網(wǎng)絡(luò)來預(yù)測天氣情況。該方法既滿足了粒子群算法較大的全局搜索能力,增加了小范圍局部搜索的精度,又提高了算法擬合的準(zhǔn)確度及天氣預(yù)測的準(zhǔn)確率,具有一定的推廣價值。由于時間原因,本文測算樣本量與迭代次數(shù)還較少。隨著樣本量的增加,未來將根據(jù)預(yù)測情況不斷調(diào)整學(xué)習(xí)因子和慣性權(quán)重,進(jìn)一步提高天氣預(yù)報的準(zhǔn)確率。

參考文獻(xiàn)(References):

[1] 皮倩瑛,葉洪濤.一種動態(tài)調(diào)節(jié)慣性權(quán)重的粒子群算法[J].廣西科技大學(xué)學(xué)報,2016.27(3):27-31

[2] 林宇鋒,鄧洪敏,史興宇.基于新的改進(jìn)粒子群算法的BP神經(jīng)網(wǎng)絡(luò)在擬合非線性函數(shù)中的應(yīng)用[J].計算機(jī)科學(xué),2017.11:51-54

[3] 呂祥銘,閆躍,呂淞霖,張淑穎.基于非線性粒子群算法與神經(jīng)網(wǎng)絡(luò)的天氣預(yù)測[J].現(xiàn)代農(nóng)業(yè)科技,2013.11:265-266

[4] HUANG Hao, CHEN Kui-sheng, ZENG Liang-cai. A genetic algorithm-based neural network approach for fault diagnosis in hydraulic servo-valves[M]//Advances in Machine Learning and Cybernetics.Springer Berlin Heidelberg,2006:813-821

[5] 李松,劉力軍.改進(jìn)粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的短時交通流預(yù)測[J].系統(tǒng)工程理論與實踐,2012.32(9):2045-2049

[6] 王慧,劉希玉.基于最具影響粒子群優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練[J].計算機(jī)工程與應(yīng)用,2007.43(18):69-71

猜你喜歡
粒子群算法BP神經(jīng)網(wǎng)絡(luò)改進(jìn)
電力市場交易背景下水電站優(yōu)化調(diào)度研究
基于粒子群算法的產(chǎn)業(yè)技術(shù)創(chuàng)新生態(tài)系統(tǒng)運行穩(wěn)定性組合評價研究
復(fù)雜背景下的手勢識別方法
BP神經(jīng)網(wǎng)絡(luò)在軟件質(zhì)量評價中的應(yīng)用研究 
論離婚損害賠償制度的不足與完善
高校安全隱患與安全設(shè)施改進(jìn)研究
“慕課”教學(xué)的“八年之癢”
BP神經(jīng)網(wǎng)絡(luò)算法在數(shù)值預(yù)報產(chǎn)品釋用中的應(yīng)用
淺析秦二廠設(shè)計基準(zhǔn)洪水位提升對聯(lián)合泵房的影響
交通堵塞擾動下多車場車輛路徑優(yōu)化
拜城县| 邵阳市| 云林县| 三江| 陕西省| 潮安县| 五台县| 筠连县| 鞍山市| 河源市| 长白| 彭泽县| 新兴县| 互助| 射阳县| 资兴市| 叙永县| 同仁县| 河间市| 晋中市| 克拉玛依市| 通辽市| 东乌| 丹寨县| 黎平县| 广宁县| 福建省| 山西省| 高碑店市| 屏东县| 孟州市| 瓦房店市| 白水县| 五河县| 台湾省| 沂水县| 南岸区| 苍溪县| 利川市| 兴宁市| 会理县|