A. BP神經網路的問題
隱層節點數一般大於等於輸入層節點數。訓練演算法Traingdm 可以改成Trainlm等其他演算法。
B. 能不能介紹一下,BP神經網路中權系數初始值、學習率(步長)、學習步數、學習目標最小誤差等參數
權值第一次是被隨機給定的較小的值,步長一般設為較小的正值(防止越過最小值),學習步數是由權值和步長決定的,誤差一般採用最小均方誤差。
詳細的介紹可以網路一下很多課件或者課本的。若不想找我可以發給你,給我郵箱。
C. 求matlab高手寫bp神經網路寫一個6輸入3輸出的模型
比如輸入以下這些,屬於2輸入1輸出的:
p=[1,2;3,4;5,6;7,8];
%輸入 一共四組,每組兩個
t=[3,7,11,15];
%教師輸出 只輸出1個值,對應輸入的4個
net=newff(p',t,{10,10},{'tansig','tansig'},'trainlm');
%創建名為net的bp網路
%newff(輸入,輸出,{隱層節點,隱層節點。。。有幾層設幾個},{『傳輸 函數』,『傳輸函數』。。。有幾層設幾個},訓練函數)
net.trainParam.goal = 0.00001; %設置精確度
net.trainParam.epochs = 5000; %設置步長
[net,tr] = train(net,p',t); %訓練開始
。。。。。。
%訓練完以後,可以進行模擬,比如
p=[10,20];
a=sim(net,p')
如果是分類的話,比如分兩類
再打
a=a>10;
就能分成兩類
D. 神經網路中step size 怎麼設置
神經網路似乎沒有步長的說法,你指的是net.trainParam.show?net.trainParam.show是指顯示訓練迭代過程n個周期後顯示一下收斂曲線的變化。
在定義了網路之後,train訓練函數之前,加上下面兩個語句:
net.trainParam.showWindow = false;
net.trainParam.showCommandLine = false;
親測不會彈出提示。
這樣使得我們能在較長時間的訓練中,騰出電腦去做別的事。否則窗口會不停彈出來,影響使用。
E. BP網路中的trainlm訓練函數,需要設置的參數
以輸出層權值更新的演算法做說明: 新w(i,j)=舊w(i,j)+a*E(i)O(j)+b*oldw(i,j), 其中,新w(i,j)為計算一步以後的權,舊w(i,j)為初始權,E(i)為輸出層第i個神經元的輸出誤差,O(j)為隱含層第j個神經元的輸出數據,a學習系數,b慣性系數。其實b就是優化設計中梯度下降法的步長,訓練函數和梯度下降法是一個樣子的,都是通過初始點,選定負梯度方向,計算步長,然後得到下一點,如此循環,神經網路把梯度下降法簡化了,直接選定步長,不再計算步長了,
F. 步長值怎麼設置
1、直接打開Excel的相關窗口,選擇需要的數據內容。
G. matlab bp神經網路 epoch為何會隨機變化 如何修改訓練步長 各位大神,求助啊!!!
樓主你好,那個是迭代次數,在不滿足擬合的情況下,程序會一直訓練,直到滿足訓練目標!關鍵不是epoch,希望對你有幫助!