MATLAB神經網路BP,誤差超大,怎樣除錯是誤差更接近目標值?主要除錯哪些引數?謝謝

時間 2021-09-06 21:07:31

1樓:匿名使用者

被推薦的答案倒是沒說錯,基本上和沒說一樣…… 就好比問怎麼安排時間,回答一個「合理安排時間」……

誤差大,第一步需要嘗試的是做歸一化處理。有線性歸一化,有對數函式歸一化等等,這個你可以去網上搜尋資料歸一化方法,有相關的**,應該。

第二部需要做出的改動是隱層節點數量,如果節點數量太多,那麼結果的隨機性就會很大,如果太少,那麼複雜資料的規律計算不出來。多少層節點最合適,這個目前除了一個一個試沒有更好的辦法。但是你會發現每一個相同的結構計算出的結果卻不盡相同,這個時候就需要考慮後續的問題。

第三步嘗試,變換transfer function。麻煩你查查字典,因為我不是用中文學的神經網路。我姑且翻譯成傳輸函式。

傳輸函式在matlab中內建了3中 pureline logsig tansig。分別有不同的應用範圍。因為沒看到你的資料,我也不清楚具體應該推薦你用哪一種。

不過你可以去網上搜尋一下三種傳輸函式的特點。

一般情況下,前三步已經可以解決問題了。

如果不行,那麼你需要嘗試的就是比較高階的內容了。嘗試一下,不行再追問。

2樓:匿名使用者

神經網路的訓練誤差大,有很多原因,比如隱含層數目,各層節點數,訓練函式,訓練期望,原始資料是否做歸一化處理等等都會有影響。而各種因素的引數選擇有一定的規律但都不是絕對正確的,這個只有各方面多做除錯了。

3樓:匿名使用者

選擇 步長 迭代率,以及訓練演算法

matlab bp神經網路中,最後算出的mse值應該為多少?

4樓:遠巨集

表示對網路訓練結果bai的測試。

dumse的意思是均方誤差,zhi當然越小越好。但這dao和你有多少訓

回練樣本,有多少訓練課程

答有很大關係。

這個沒有標準,每個人都知道零偏差是最好的。但是,神經網路本身的致命缺陷被消除了,因為它是對解析表示式的迭代收斂逼近,所以不可能達到零誤差。

這樣只能根據使用者的工程技術要求來判斷,誤差指標應該小於工程誤差範圍啊。但對於科學研究來說,只能具體分析。量化沒有明確或絕對的意義。

5樓:

mse表示均方差,當然越小越好。但是這與你訓練樣本的多少,訓練次數都有很大關係。

你試試看徑向基神經網路和高斯型網路能不能更好的減低訓練誤差,神經網路就是一個不斷除錯的學習過程。

6樓:匿名使用者

不同問題mse差很大的 而且哥哥你注意了,你用的是mse,和資料本身的數量級相關性很大

自己用matlab實現的bp神經網路演算法,無法得到預期的效果,主要是誤差太大

7樓:我回來了呼叫

lr=0.05; %lr為學習速率;baierr_goal=0.1; %err_goal為期du望誤差最小值

max_epoch=15000; %max_epoch為訓練的最大次數;

a=0.9; %a為慣性系數oi=0;

ok=0; %置隱zhi含層和輸出層各神dao經元輸出初值為回0

這些初始答引數是誰提供給你?

調整一下這些引數看看.

8樓:匿名使用者

檢查輸出結果 另外把每層程式單獨檢查 看輸出資料是否合理

9樓:匿名使用者

源**你能執行的話 可以考慮訓練的樣本資料的量的問題

matlab訓練神經網路,performance圖中的best曲線意思是什麼?表示達到最小精度了麼?

10樓:匿名使用者

你的精度是自己設定的,是那個水平的直線,我這裡的神經網路沒有best曲線啊!就是個goal和training兩條的

11樓:遇女d心驚

是訓練過程中的誤差曲線,表示經過x次訓練,感知器輸出達到目標值,也就是感知器的輸出已經和目標向量一致了

12樓:漫雪

goal和best是同一條線,我是這樣理解的。使用的線型是一樣的

用matlab的神經網路工具箱(nntool命令開啟的視窗化工具)做bp神經網路時怎麼生成誤差曲

用matlab中神經網路工具箱固有函式建立的bp網路,訓練精度始終達不到,而且誤差也大,該如何解決 10

13樓:匿名使用者

除了樓上的方法,還可以修改下神經網路的初始權值,這方面的方法很多,可以改變下初始引數的取值範圍,或者用遺傳演算法搜尋下。另外,改變神經網路的訓練函式是十分有效的,比如trainscg什麼的,還有好幾個記不得了,自己找找看!

14樓:摩西的仗

調一下隱含層層數。。。隱含層神經元數還有學習速率試試

15樓:匿名使用者

還有可能是訓練樣本數過少。

16樓:匿名使用者

哥們我能看一下你的程式嗎?[email protected],你發過來看一下!

matlab中建立bp神經網路的函式newff的引數的

1.newff雖然沒有規定輸入層神經元個數,那輸入層神經元個數是如何確定的?輸入層是根據你讀入資料的維度,自動生成的。2.我現在讀入了10張 把每張 歸一化成了50 20的,並轉換成1 1000的行向量,最後生成了10 1000的二維矩陣,然後,我再用eye 10,10 函式製造了一個單位矩陣,那麼...

matlab在bp神經網路訓練時出現錯誤說未定義與

依然特雷西 1 實現 以函式的形式訓練神經網路命令。2 實現 p為輸入向量的方法命令。3 實現 t為目標向量的命令。4 實現 建立一個新的前向神經網路的命令。5 實現 呼叫演算法訓練bp網路的命令。6 其他設定命令。 主要問題出在txt樣本上,資料之間應以空格間隔,而不能是製表符,否則fcanf不能...

神經網路權值怎麼確定,BP神經網路中初始權值和閾值的設定

致愛麗絲星空之夜 神經網路的權值是通過對網路的訓練得到的。如果使用matlab的話不要自己設定,newff之後會自動賦值。也可以手動 net.iw net.bias 一般來說輸入歸一化,那麼w和b取0 1的隨機數就行。神經網路的權值確定的目的是為了讓神經網路在訓練過程中學習到有用的資訊,這意味著引數...