當前位置:首頁 » 操作系統 » bp神經網路改進演算法

bp神經網路改進演算法

發布時間: 2024-03-17 22:19:51

『壹』 BP神經演算法是什麼能給點既通俗易懂又比較詳細的回答嗎

BP(Back Propagation)網路是1986年由Rumelhart和McCelland為首的科學家小組提出,是一種按誤差逆傳播演算法訓練的多層前饋網路,是目前應用最廣泛的神經網路模型之一。BP網路能學習和存貯大量的輸入-輸出模式映射關系,而無需事前揭示描述這種映射關系的數學方程。它的學習規則是使用最速下降法,通過反向傳播來不斷調整網路的權值和閾值,使網路的誤差平方和最小。BP神經網路模型拓撲結構包括輸入層(input)、隱層(hide layer)和輸出層(output layer)。

BP神經網路演算法是在BP神經網路現有演算法的基礎上提出的,是通過任意選定一組權值,將給定的目標輸出直接作為線性方程的代數和來建立線性方程組,解得待求權,不存在傳統方法的局部極小及收斂速度慢的問題,且更易理解。
1 傳統的BP演算法簡述
BP演算法是一種有監督式的學習演算法,其主要思想是:輸入學習樣本,使用反向傳播演算法對網路的權值和偏差進行反復的調整訓練,使輸出的向量與期望向量盡可能地接近,當網路輸出層的誤差平方和小於指定的誤差時訓練完成,保存網路的權值和偏差。具體步驟如下: (1)初始化,隨機給定各連接權[w],[v]及閥值θi,rt。 (2)由給定的輸入輸出模式對計算隱層、輸出層各單元輸出 bj=f(■wijai-θj) ct=f(■vjtbj-rt) 式中:bj為隱層第j個神經元實際輸出;ct為輸出層第t個神經元的實際輸出;wij為輸入層至隱層的連接權;vjt為隱層至輸出層的連接權。 dtk=(ytk-ct)ct(1-ct) ejk=[■dtvjt] bj(1-bj) 式中:dtk為輸出層的校正誤差;ejk為隱層的校正誤差。 (3)計算新的連接權及閥值,計算公式如下: vjt(n+1)=vjt(n)+?琢dtkbj wij(n+1)=wij(n)+?茁ejkaik rt(n+1)=rt(n)+?琢dtk θj(n+1)=θj(n)+?茁ejk 式中:?琢,?茁為學習系數(0<?琢<1,0<?茁<1)。 (4)選取下一個輸入模式對返回第2步反復訓練直到網路設輸出誤差達到要求結束訓練。 傳統的BP演算法,實質上是把一組樣本輸入/輸出問題轉化為一個非線性優化問題,並通過負梯度下降演算法,利用迭代運算求解權值問題的一種學習方法,但其收斂速度慢且容易陷入局部極小,為此提出了一種新的演算法,即高斯消元法。
2 改進的BP網路演算法
2.1 改進演算法概述 此前有人提出:任意選定一組自由權,通過對傳遞函數建立線性方程組,解得待求權。本文在此基礎上將給定的目標輸出直接作為線性方程等式代數和來建立線性方程組,不再通過對傳遞函數求逆來計算神經元的凈輸出,簡化了運算步驟。沒有採用誤差反饋原理,因此用此法訓練出來的神經網路結果與傳統演算法是等效的。其基本思想是:由所給的輸入、輸出模式對通過作用於神經網路來建立線性方程組,運用高斯消元法解線性方程組來求得未知權值,而未採用傳統BP網路的非線性函數誤差反饋尋優的思想。 2.2 改進演算法的具體步驟 對給定的樣本模式對,隨機選定一組自由權,作為輸出層和隱含層之間固定權值,通過傳遞函數計算隱層的實際輸出,再將輸出層與隱層間的權值作為待求量,直接將目標輸出作為等式的右邊建立方程組來求解。 現定義如下符號(見圖1):x (p)輸入層的輸入矢量;y (p)輸入層輸入為x (p)時輸出層的實際輸出矢量;t (p)目標輸出矢量;n,m,r分別為輸入層、隱層和輸出層神經元個數;W為隱層與輸入層間的權矩陣;V為輸出層與隱層間的權矩陣。具體步驟如下: (1)隨機給定隱層和輸入層間神經元的初始權值wij。 (2)由給定的樣本輸入xi(p)計算出隱層的實際輸出aj(p)。為方便起見將圖1網路中的閥值寫入連接權中去,令:隱層閥值θj=wnj,x(n)=-1,則: aj(p)=f(■wijxi(p)) (j=1,2…m-1)。 (3)計算輸出層與隱層間的權值vjr。以輸出層的第r個神經元為對象,由給定的輸出目標值tr(p)作為等式的多項式值建立方程,用線性方程組表示為: a0(1)v1r+a1(1)v2r+…+am(1)vmr=tr(1)a0(2)v1r+a1(2)v2r+…+am(2)vmr=tr(2) ……a0(p)v1r+a1(p)v2r+…+am(p)vmr=tr(p) 簡寫為: Av=T 為了使該方程組有唯一解,方程矩陣A為非奇異矩陣,其秩等於其增廣矩陣的秩,即:r(A)=r(A┊B),且方程的個數等於未知數的個數,故取m=p,此時方程組的唯一解為: Vr=[v0r,v2r,…vmr](r=0,1,2…m-1) (4)重復第三步就可以求出輸出層m個神經元的權值,以求的輸出層的權矩陣加上隨機固定的隱層與輸入層的權值就等於神經網路最後訓練的權矩陣。
3 計算機運算實例
現以神經網路最簡單的XOR問題用VC編程運算進行比較(取神經網路結構為2-4-1型),傳統演算法和改進BP演算法的誤差(取動量因子α=0.001 5,步長η=1.653)

『貳』 基於改進的BP人工神經網路演算法的軟土地基沉降預測

改進的BP神經網路預測需要等間隔數據,利用Spline插值點進行建模。為了和前述方法的預測效果對比,仍選取550~665d(共24個樣本數據)的沉降量作為訓練樣本,預留 670~745d(共16個樣本數據)的沉降量作為對訓練好的BP人工神經網路的檢驗樣本。以每相鄰的連續4個沉降量(時間間隔Δt=5 d)作為一個輸入樣本(S1,S2,S3,S4),緊鄰的第5個沉降量作為目標樣本(S5),這樣,利用 2 4個原始數據點,構建了 21組訓練樣本輸入向量。每組訓練樣本的輸入層單元數為n=4,輸出層單元數為q=1,又隱層單元數p的確定公式為

溫州淺灘軟土工程特性及固結沉降規律研究

式中:a為1~10之間的常數。

由式(5.57)確定隱層神經元數為p=3~12。其具體值將通過BP人工神經網路訓練誤差來判斷,取網路誤差最小時對應的隱層神經元數。

本書基於MATLAB 7.1 編制了改進的BP神經網路程序,對標準的BP人工神經網路演算法採取了增加動量項法和自適應調節學習速率法兩點改進,此外,對輸入輸出數據進行了尺度變換(歸一化處理),變換後可防止因凈輸入的絕對值過大而使神經元輸出飽和,繼而使權值調整進入誤差曲面的平坦區。輸入輸出數據變換為[0,1]區間內的值的歸一化預處理變換式為

溫州淺灘軟土工程特性及固結沉降規律研究

式中:xi為輸入或輸出數據;xmin、xmax為最值;

為輸入或輸出數據的歸一化值。

B P神經網路模型的訓練曲線如圖5.1 7所示。

本書所建立的改進的B P神經網路模型之擬合/預測值與實測值列於表5.13,擬合/預測曲線與實測曲線對比如圖5.1 8所示,其殘差圖如圖5.19所示。

由表5.13 和圖5.1 8、5.19可知,改進的 B P 神經網路模型預測結果的平均殘差為0.1 cm,平均相對誤差為0.0 6%,擬合及預測效果很好。但是與前面幾種預測方法不同的是,改進的BP人工神經網路模型的預測值略小於實測值,隨著預測時間遠離訓練樣本,這將使結果偏於不安全,所以,建議該法用於短、中期預測。同時,為了使後期預測精度更高,應不斷更新訓練樣本向量集。

圖5.17 N5+850斷面 BP 神經網路訓練曲線

圖5.18 N5+850斷面改進的 BP人工神經網路模型預測曲線與實測曲線對比

圖5.19 N5+850斷面改進的 BP人工神經網路模型預測殘差圖

表5.13 改進的BP神經網路預測值與實測值對比

『叄』 bp神經網路的演算法改進一共有多少種啊!麻煩舉例一下!

改進點主要在以下幾個方面
1激勵函數的坡度
———————誤差曲面的平台和不收斂現象
————————————————激勵函數中引入陡度因子,分段函數做激勵函數

2誤差曲面
——————誤差平方做目標函數,逼近速度慢,過擬合
————————————————標准誤差函數中加入懲罰項
————————————————信息距離和泛化能力之間的關系,構建新的神經網路學習函數
3網路初始權值的選取
—————————通常在【0,1】間選取,易陷入局部最小
—————————————————復合演算法優化初始權值
—————————————————Cauchy不等式和線性代數方法得最優初始權值
4改進優化演算法
————————標准BP採用梯度下降法,局部最小收斂慢
——————————————————共扼梯度法、Newton法、Gauss一Ncwton法、Lvenber_Marquardt法、快速傳播演算法
——————————————————前饋網路學習演算法,二階學習演算法,三項BP演算法,最優學習參數的BP演算法。
5.優化網路結構
————————拓撲結構中網路層數、各層節點數、節點連接方式的不確定性
——————————————構造法和剪枝法(權衰減法、靈敏度計算方法等)
——————————————網路結構隨樣本空間進行變換,簡化網路結構
6混合智能演算法
————————與遺傳演算法、進化計算、人工免疫演算法、蟻群演算法、微粒群演算法、
————————模糊數學、小波理論、混沌理論。細胞神經網路

『肆』 有哪位大神知道BP神經網路變學習率學習演算法在Matlab中怎麼實現啊

額。。。
一種啟發式的改進就是,為學習速率選用自適應值,它依賴於連續迭代步驟中的誤差函數值。
自適應調整學習速率的梯度下降演算法,在訓練的過程中,力圖使演算法穩定,同時又使學習的步長盡量地大,學習速率則是根據局部誤差曲面作出相應的調整。當誤差以減小的方式趨於目標時,說明修正方向正確,於是步長(學習速率)增加,因此學習速率乘以增量因子Ir_inc,使學習速率增加;而當誤差增加超過設定的值C倍時,說明修正過頭,應減小步長,因此學習速率乘以減量因子Ir_dec,使學習速率減少.其他情況學習速率則不變。
Matlab 里有對應的變學習速率的函數。
bpnet=newff(x,[60,4],{'logsig','logsig'},'traingda'); %'traingda'表示自適應學習速率調整方法
bpnet.trainParam.show=50;
bpnet.trainParam.lr=0.01; %預設值的學習速率
bpnet.trainParam.epochs=3000;
bpnet.trainParam.goal=0.247;
bpnet.trainParam.Ir_inc=1.05; %增加的學習速率倍數,默認為1.05
bpnet.trainParam.Ir_dec=0.7; %減少的學習速率倍數,默認為0.7
bpnet.trainParam.max_perf_inc=1.04; %誤差函數增加為迭代前的1.04時,減少學習速率。默認為1.04
[bpnet]=train(bpnet,p,t);
save bpnet;
%%%%%%%%%%%%%%%%%%%%

『伍』 用粒子群群演算法優化BP神經網路的參數,進行極值尋優

這四個都屬於人工智慧演算法的范疇。其中BP演算法、BP神經網路和神經網路
屬於神經網路這個大類。遺傳演算法為進化演算法這個大類。
神經網路模擬人類大腦神經計算過程,可以實現高度非線性的預測和計算,主要用於非線性擬合,識別,特點是需要「訓練」,給一些輸入,告訴他正確的輸出。若干次後,再給新的輸入,神經網路就能正確的預測對於的輸出。神經網路廣泛的運用在模式識別,故障診斷中。BP演算法和BP神經網路是神經網路的改進版,修正了一些神經網路的缺點。
遺傳演算法屬於進化演算法,模擬大自然生物進化的過程:優勝略汰。個體不斷進化,只有高質量的個體(目標函數最小(大))才能進入下一代的繁殖。如此往復,最終找到全局最優值。遺傳演算法能夠很好的解決常規優化演算法無法解決的高度非線性優化問題,廣泛應用在各行各業中。差分進化,蟻群演算法,粒子群演算法等都屬於進化演算法,只是模擬的生物群體對象不一樣而已。

熱點內容
三方網站源碼 發布:2024-11-28 08:30:51 瀏覽:107
windows版ftp軟體免費下載 發布:2024-11-28 08:25:28 瀏覽:856
淘寶帳號怎麼改密碼 發布:2024-11-28 07:46:05 瀏覽:11
監控未配置怎麼辦視頻 發布:2024-11-28 07:44:41 瀏覽:501
android獲取手機的ip 發布:2024-11-28 07:42:13 瀏覽:170
python打開文件窗口 發布:2024-11-28 07:36:13 瀏覽:555
cpu二級緩存的作用 發布:2024-11-28 07:36:12 瀏覽:1001
net資料庫控制項 發布:2024-11-28 07:32:58 瀏覽:99
我的世界國際服創建伺服器pc 發布:2024-11-28 07:20:53 瀏覽:773
編譯原理LR分析法pdf 發布:2024-11-28 07:17:41 瀏覽:264