導航:首頁 > 網路共享 > BP神經網路哪個參數難設置

BP神經網路哪個參數難設置

發布時間:2022-06-05 09:20:04

1. BP人工神經網路

人工神經網路(artificialneuralnetwork,ANN)指由大量與自然神經系統相類似的神經元聯結而成的網路,是用工程技術手段模擬生物網路結構特徵和功能特徵的一類人工系統。神經網路不但具有處理數值數據的一般計算能力,而且還具有處理知識的思維、學習、記憶能力,它採用類似於「黑箱」的方法,通過學習和記憶,找出輸入、輸出變數之間的非線性關系(映射),在執行問題和求解時,將所獲取的數據輸入到已經訓練好的網路,依據網路學到的知識進行網路推理,得出合理的答案與結果。

岩土工程中的許多問題是非線性問題,變數之間的關系十分復雜,很難用確切的數學、力學模型來描述。工程現場實測數據的代表性與測點的位置、范圍和手段有關,有時很難滿足傳統統計方法所要求的統計條件和規律,加之岩土工程信息的復雜性和不確定性,因而運用神經網路方法實現岩土工程問題的求解是合適的。

BP神經網路模型是誤差反向傳播(BackPagation)網路模型的簡稱。它由輸入層、隱含層和輸出層組成。網路的學習過程就是對網路各層節點間連接權逐步修改的過程,這一過程由兩部分組成:正向傳播和反向傳播。正向傳播是輸入模式從輸入層經隱含層處理傳向輸出層;反向傳播是均方誤差信息從輸出層向輸入層傳播,將誤差信號沿原來的連接通路返回,通過修改各層神經元的權值,使得誤差信號最小。

BP神經網路模型在建立及應用過程中,主要存在的不足和建議有以下四個方面:

(1)對於神經網路,數據愈多,網路的訓練效果愈佳,也更能反映實際。但在實際操作中,由於條件的限制很難選取大量的樣本值進行訓練,樣本數量偏少。

(2)BP網路模型其計算速度較慢、無法表達預測量與其相關參數之間親疏關系。

(3)以定量數據為基礎建立模型,若能收集到充分資料,以定性指標(如基坑降水方式、基坑支護模式、施工工況等)和一些易獲取的定量指標作為輸入層,以評價等級作為輸出層,這樣建立的BP網路模型將更准確全面。

(4)BP人工神經網路系統具有非線性、智能的特點。較好地考慮了定性描述和定量計算、精確邏輯分析和非確定性推理等方面,但由於樣本不同,影響要素的權重不同,以及在根據先驗知識和前人的經驗總結對定性參數進行量化處理,必然會影響評價的客觀性和准確性。因此,在實際評價中只有根據不同的基坑施工工況、不同的周邊環境條件,應不同用戶的需求,選擇不同的分析指標,才能滿足復雜工況條件下地質環境評價的要求,取得較好的應用效果。

2. 神經網路參數如何確定

神經網路各個網路參數設定原則:

①、網路節點  網路輸入層神經元節點數就是系統的特徵因子(自變數)個數,輸出層神經元節點數就是系統目標個數。隱層節點選按經驗選取,一般設為輸入層節點數的75%。如果輸入層有7個節點,輸出層1個節點,那麼隱含層可暫設為5個節點,即構成一個7-5-1 BP神經網路模型。在系統訓練時,實際還要對不同的隱層節點數4、5、6個分別進行比較,最後確定出最合理的網路結構。

②、初始權值的確定  初始權值是不應完全相等的一組值。已經證明,即便確定  存在一組互不相等的使系統誤差更小的權值,如果所設Wji的的初始值彼此相等,它們將在學習過程中始終保持相等。故而,在程序中,我們設計了一個隨機發生器程序,產生一組一0.5~+0.5的隨機數,作為網路的初始權值。

③、最小訓練速率  在經典的BP演算法中,訓練速率是由經驗確定,訓練速率越大,權重變化越大,收斂越快;但訓練速率過大,會引起系統的振盪,因此,訓練速率在不導致振盪前提下,越大越好。因此,在DPS中,訓練速率會自動調整,並盡可能取大一些的值,但用戶可規定一個最小訓練速率。該值一般取0.9。

④、動態參數  動態系數的選擇也是經驗性的,一般取0.6 ~0.8。

⑤、允許誤差  一般取0.001~0.00001,當2次迭代結果的誤差小於該值時,系統結束迭代計算,給出結果。

⑥、迭代次數  一般取1000次。由於神經網路計算並不能保證在各種參數配置下迭代結果收斂,當迭代結果不收斂時,允許最大的迭代次數。

⑦、Sigmoid參數 該參數調整神經元激勵函數形式,一般取0.9~1.0之間。

⑧、數據轉換。在DPS系統中,允許對輸入層各個節點的數據進行轉換,提供轉換的方法有取對數、平方根轉換和數據標准化轉換。

(2)BP神經網路哪個參數難設置擴展閱讀:

神經網路的研究內容相當廣泛,反映了多學科交叉技術領域的特點。主要的研究工作集中在以下幾個方面:

1.生物原型

從生理學、心理學、解剖學、腦科學、病理學等方面研究神經細胞、神經網路、神經系統的生物原型結構及其功能機理。

2.建立模型

根據生物原型的研究,建立神經元、神經網路的理論模型。其中包括概念模型、知識模型、物理化學模型、數學模型等。

3.演算法

在理論模型研究的基礎上構作具體的神經網路模型,以實現計算機模擬或准備製作硬體,包括網路學習演算法的研究。這方面的工作也稱為技術模型研究。

神經網路用到的演算法就是向量乘法,並且廣泛採用符號函數及其各種逼近。並行、容錯、可以硬體實現以及自我學習特性,是神經網路的幾個基本優點,也是神經網路計算方法與傳統方法的區別所在。

3. BP神經網路的Training Parameters中各個參數都是什麼意思啊

max_fail 最大失敗步數,如設置為100,則訓練到100步還沒成功也會停止訓練
mem_rec
min_grad 最小梯度,梯度下降法中出現,設置一個值之後,如果訓練下降梯度不達此值訓練也只能停止
mu 參數μ
mu_dec
mu_inc
mu_max
show 顯示步數,如果設為50,則運行後會每隔50步顯示一下運行結果
time 訓練時間限制,同max_fail,min_grad 作用一樣

4. MATLAB神經網路BP,誤差超大,怎樣調試是誤差更接近目標值主要調試哪些參數謝謝。。。

被推薦的答案倒是沒說錯,基本上和沒說一樣…… 就好比問怎麼安排時間,回答一個「合理安排時間」……
誤差大,第一步需要嘗試的是做歸一化處理。有線性歸一化,有對數函數歸一化等等,這個你可以去網上搜索數據歸一化方法,有相關的代碼,應該。
第二部需要做出的改動是隱層節點數量,如果節點數量太多,那麼結果的隨機性就會很大,如果太少,那麼復雜數據的規律計算不出來。多少層節點最合適,這個目前除了一個一個試沒有更好的辦法。但是你會發現每一個相同的結構計算出的結果卻不盡相同,這個時候就需要考慮後續的問題。
第三步嘗試,變換transfer function。麻煩你查查字典,因為我不是用中文學的神經網路。我姑且翻譯成傳輸函數。傳輸函數在matlab中內建了3中 pureline logsig tansig。分別有不同的應用范圍。因為沒看到你的數據,我也不清楚具體應該推薦你用哪一種。不過你可以去網上搜索一下三種傳輸函數的特點。

一般情況下,前三步已經可以解決問題了。
如果不行,那麼你需要嘗試的就是比較高級的內容了。嘗試一下,不行再追問。

5. LMBP神經網路參數,net.trainParam.mu及其相關。

bpnet=newff(pr,[12 4],{'logsig', 'logsig'}, 'traingdx', 'learngdm');
%建立BP神經網路, 12個隱層神經元,4個輸出神經元
%tranferFcn屬性 'logsig' 隱層採用Sigmoid傳輸函數
%tranferFcn屬性 'logsig' 輸出層採用Sigmoid傳輸函數
%trainFcn屬性 'traingdx' 自適應調整學習速率附加動量因子梯度下降反向傳播演算法訓練函數
%learn屬性 'learngdm' 附加動量因子的梯度下降學習函數
net.trainParam.epochs=1000;%允許最大訓練步數2000步
net.trainParam.goal=0.001; %訓練目標最小誤差0.001
net.trainParam.show=10; %每間隔100步顯示一次訓練結果
net.trainParam.lr=0.05; %學習速率0.05

6. BP神經網路模型各個參數的選取問題

樣本變數不需要那麼多,因為神經網路的信息存儲能力有限,過多的樣本會造成一些有用的信息被丟棄。如果樣本數量過多,應增加隱層節點數或隱層數目,才能增強學習能力。

一、隱層數
一般認為,增加隱層數可以降低網路誤差(也有文獻認為不一定能有效降低),提高精度,但也使網路復雜化,從而增加了網路的訓練時間和出現「過擬合」的傾向。一般來講應設計神經網路應優先考慮3層網路(即有1個隱層)。一般地,靠增加隱層節點數來獲得較低的誤差,其訓練效果要比增加隱層數更容易實現。對於沒有隱層的神經網路模型,實際上就是一個線性或非線性(取決於輸出層採用線性或非線性轉換函數型式)回歸模型。因此,一般認為,應將不含隱層的網路模型歸入回歸分析中,技術已很成熟,沒有必要在神經網路理論中再討論之。
二、隱層節點數
在BP 網路中,隱層節點數的選擇非常重要,它不僅對建立的神經網路模型的性能影響很大,而且是訓練時出現「過擬合」的直接原因,但是目前理論上還沒有一種科學的和普遍的確定方法。 目前多數文獻中提出的確定隱層節點數的計算公式都是針對訓練樣本任意多的情況,而且多數是針對最不利的情況,一般工程實踐中很難滿足,不宜採用。事實上,各種計算公式得到的隱層節點數有時相差幾倍甚至上百倍。為盡可能避免訓練時出現「過擬合」現象,保證足夠高的網路性能和泛化能力,確定隱層節點數的最基本原則是:在滿足精度要求的前提下取盡可能緊湊的結構,即取盡可能少的隱層節點數。研究表明,隱層節點數不僅與輸入/輸出層的節點數有關,更與需解決的問題的復雜程度和轉換函數的型式以及樣本數據的特性等因素有關。

7. BP神經網路 運行的步驟太少就停了,是參數設置的問題嗎

不是運行太少而停止,是達到了你的要求。
net.trainParam.goal=0.01;
精度調高點試下

8. 神經網路演算法中,參數的設置或者調整,有什麼方法可以採用

若果對你有幫助,請點贊。
神經網路的結構(例如2輸入3隱節點1輸出)建好後,一般就要求神經網路里的權值和閾值。現在一般求解權值和閾值,都是採用梯度下降之類的搜索演算法(梯度下降法、牛頓法、列文伯格-馬跨特法、狗腿法等等),這些演算法會先初始化一個解,在這個解的基礎上,確定一個搜索方向和一個移動步長(各種法算確定方向和步長的方法不同,也就使各種演算法適用於解決不同的問題),使初始解根據這個方向和步長移動後,能使目標函數的輸出(在神經網路中就是預測誤差)下降。 然後將它更新為新的解,再繼續尋找下一步的移動方向的步長,這樣不斷的迭代下去,目標函數(神經網路中的預測誤差)也不斷下降,最終就能找到一個解,使得目標函數(預測誤差)比較小。
而在尋解過程中,步長太大,就會搜索得不仔細,可能跨過了優秀的解,而步長太小,又會使尋解過程進行得太慢。因此,步長設置適當非常重要。
學習率對原步長(在梯度下降法中就是梯度的長度)作調整,如果學習率lr = 0.1,那麼梯度下降法中每次調整的步長就是0.1*梯度,
而在matlab神經網路工具箱里的lr,代表的是初始學習率。因為matlab工具箱為了在尋解不同階段更智能的選擇合適的步長,使用的是可變學習率,它會根據上一次解的調整對目標函數帶來的效果來對學習率作調整,再根據學習率決定步長。
機制如下:
if newE2/E2 > maxE_inc %若果誤差上升大於閾值
lr = lr * lr_dec; %則降低學習率
else
if newE2 < E2 %若果誤差減少
lr = lr * lr_inc;%則增加學習率
end
詳細的可以看《神經網路之家》nnetinfo里的《[重要]寫自己的BP神經網路(traingd)》一文,裡面是matlab神經網路工具箱梯度下降法的簡化代碼

若果對你有幫助,請點贊。
祝學習愉快

閱讀全文

與BP神經網路哪個參數難設置相關的資料

熱點內容
電腦工作網路位置安全嗎 瀏覽:926
甘南哪個網路好 瀏覽:380
計算機網路誰在進行通訊 瀏覽:784
ipad怎樣還原網路設置 瀏覽:213
中國聯通網路如何變全網 瀏覽:861
國際網路哪個好 瀏覽:832
哪個網路音樂播放器 瀏覽:203
網路數據124kb等於多少錢 瀏覽:623
怎樣取消列印機連接的無線網路 瀏覽:99
網路安全戰略措施 瀏覽:844
傳統企業網路營銷的限制因素 瀏覽:914
家裡無線路由器沒有網路能上網嗎 瀏覽:490
路由器設置完成顯示網路不可用 瀏覽:954
有線網路無線網路哪個快 瀏覽:993
聯通信號網路可以增強嗎 瀏覽:461
手機通訊錄顯示無網路怎麼辦 瀏覽:751
蜻蜓fm網路連接 瀏覽:918
計算機網路軟路由 瀏覽:857
蘋果手機怎麼能設置無線網路 瀏覽:470
氣象部門網路安全總結 瀏覽:934

友情鏈接