關於神經網路BP演算法的輸入問題,用matlab中bp神經網路實現由輸入值預測輸出值的程式

時間 2021-10-14 23:47:44

1樓:郈山白

可以的!

之所以叫bp網路,是因為使用了反向傳遞演算法,這是一種結果導向的自學習方法,用在五子棋上是可以的。因為五子棋的遊戲方法正是很明顯的結果導向的過程。

簡單說這麼個過程:

1.設定輸入和輸出型別,比如都是座標[x1,y1]、[x2,y2]...

2.訓練:

你告訴網路

a情況下應該輸出a1

b情況下應該輸出b1

c情況下應該輸出c1

...a+b情況下應該輸出ab1

3.測試:

你問網路a+b+c情況下,應該輸出多少?在**下子(就是[x,y]是多少?)網路就根據前面bp訓練的結果自動算出你要的座標。

用matlab神經網路工具箱做吧,不是很難。另外,五子棋的棋盤別太大了,訓練難度和時間是隨棋盤大小成級數增長的。

2樓:

自定義規則,然後編碼,比如用“1”表示星期一,“2“表示星期二。

同樣,時間可以轉化成連續的數,比如12點30分可以用12.30表示。

ip麼,可以是每一個ip有一個**,也可以是某一個ip段有一個代買,就看你的問題了。

我在使用matlab進行bp神經網路演算法時,執行提示錯誤使用input,輸入引數的專案不足,求大神指點 10

3樓:匿名使用者

newff()使用格式有錯誤。

將這句命令net=newff(minmax(inputn,outputn,5)

改為下列形式

net=newff(minmax(inputn),[10 1],)

用matlab中bp神經網路實現由輸入值**輸出值的程式

4樓:匿名使用者

給你個例子如下bai,

net=newff(inputn,outputn,[8,4],,'trainscg');%初始化網路du結構

%網路參zhi

數配置(迭代次dao數、學習率、回

目標)net.trainparam.epochs=3000;

net.trainparam.lr=0.08;

net.trainparam.goal=0.05;

net.dividefcn = '';

[net,tr]=train(net,inputn,outputn);%網路訓練

答%網路**輸出

an=sim(net,inputn_test);

不過只瞭解輸入**輸出,這些還不夠,還要看你的輸入資料的量,來確定隱含層,還需要看資料是不是歸一化,我專門做神經網路的**工作,可否加qq**一下?

關於bp神經網路的一個問題

5樓:匿名使用者

不知你是不是用matlab的神經網路工具箱,因為一般神經網路都是成批處理的,每一次調整都會綜合所有樣本的誤差進行調整,而不是一類一類**的去調整,所以不會出現你說的現象。目前我看過的很多c++或者其它語言自己寫的神經網路,都會有這樣或那樣的理解錯誤,建議先使用現成的matlab的神經網路工具箱進行訓練。

另外是輸入的問題,圖象一般會先提取特徵,再將特徵作為輸入。你在貼吧也提問了吧,這個我在貼吧裡也回答了。

輸出的問題,一般模式識別會用 0 1向量來代表,例如你有三類,目標輸出應該是[ 0 1 0]這樣,來代表它是第2類, 訓練的時候用 0 1 0,當然,**到的可能是[ 0.1 0.9 0.

1]這樣。

6樓:秒懂百科精選

科普中國·科學百科:bp神經網路

關於matlab bp神經網路工具箱nntool的資料輸入問題。 20

7樓:我行我素

這是可以的,但是,要把兩組資料合到一個變數中,如:x=[trainx1;trainx2];作為一個輸入矩陣。

bp神經網路在多輸入多輸出的情況下,**的精度為什麼這麼差?

8樓:匿名使用者

bp神經網路是有

來一定缺陷的,比如容源

易陷入bai區域性極小值,還有訓du

練的結果依賴初始隨zhi機權值

dao,這就好比你下一個山坡,如果最開始的方向走錯了,那麼你可能永遠也到不了正確的山腳。可以說bp神經網路很難得到正確答案,也沒有唯一解,有些時候只能是更多次地嘗試、修改引數,這個更多依賴自己的經驗,通俗點說就是“你覺得行了,那就是行了”,而不像1+1=2那樣確切。

如果有耐心,確定方法沒問題,那麼接下來需要做的就是不停地嘗試、訓練,得到你想要的結果。

另外,我不知道你**的是什麼,是時間序列麼?比如**?這種**,比較重要的就是輸入引數是否合適,這個直接決定了結果精度

9樓:匿名使用者

bp神經網路對於訓練樣本資料的要求是比較高的,樣本數量一定要多,建議處理一下樣本資料,增多數量,加入動量因子並調整其數值。

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

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

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

被推薦的答案倒是沒說錯,基本上和沒說一樣 就好比問怎麼安排時間,回答一個 合理安排時間 誤差大,第一步需要嘗試的是做歸一化處理。有線性歸一化,有對數函式歸一化等等,這個你可以去網上搜尋資料歸一化方法,有相關的 應該。第二部需要做出的改動是隱層節點數量,如果節點數量太多,那麼結果的隨機性就會很大,如果...

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

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