1. matlab bp神經網路工具箱怎麼用
%% 訓練集/測試集產來生
% 訓練源集——用於訓練網路
P_train = ;%輸入集
T_train = ;%輸出集
% 測試集——用於測試或者使用。
P_test = ;%輸入
T_test ;
N = size(P_test,2);
%% BP神經網路創建、訓練及模擬測試
% 創建網路
net = newff(P_train,T_train,9);
% 設置訓練參數
net.trainParam.epochs = 1000;
net.trainParam.goal = 1e-3;
net.trainParam.lr = 0.01;
% 訓練網路
net = train(net,P_train,T_train);
% 模擬測試、使用。
T_test = sim(net,P_test);%得到結果。
2. bp神經網路 matlab 工具箱怎麼調出來
有神經網路的工具箱,bp是配出來的!
3. BP神經網路matlab工具箱中的激勵函數(傳遞函數),訓練函數,學習函數
激勵函數用於神經元由輸入計算輸出的,而訓練函數和學習函數是基於誤差,內來修改權值和閾容值的,再就完成了一次訓練,然後繼續迭代,知道達到迭代次數或滿足精度。
然而,學習函數和訓練函數的功能貌似很相近,至於具體區別,正在糾結著我呢
4. matlab中bp神經網路的工具箱怎麼用,不要matlab程序,就工具箱怎麼實現問題的解決
matlab中神經網路的工具箱:輸入nntool,就會彈出一個對話框,然後你就可以根據彈出框的指示來操作。
5. matlabBP神經網路工具箱,可以調整隱含層節點數嘛
Matlab神經網路工具箱幾乎包含了現有神經網路的最新成果,神經網路工具箱模型包括感知回器、線性網路、答BP網路、徑向基函數網路、競爭型神經網路、自組織網路和學習向量量化網路、反饋網路BP神經網路具有很強的映射能力,主要用於模式識別分類、函數逼近、函數壓縮等。下面通過實例來說明BP網路在函數逼近方面的應用需要逼近的函數是f(x)=1+sin(k*pi/2*x),其中,選擇k=2進行模擬,設置隱藏層神經元數目為n,n可以改變,便於後面觀察隱藏層節點與函數逼近能力的關系。
6. matlab的BP神經網路哦工具箱在哪
打開matlab 在命令窗口輸入nntool 回車
開始菜單里也有
goodluck
7. 一個關於BP神經網路的問題,matlab中神經網路工具箱的初始權值和閥值是
訓練BP神經網路所採取的隨機初始參數確實是隨機的,在訓練過程中這些參數和權值都會朝著同一個大方向進行修正。例如你用BP神經網路來擬合曲線,找到輸入值與輸出值之間的線性規律,那麼在訓練的過程中這個擬合的曲線會不斷的調整其參數和權值直到滿足幾個預設條件之一時訓練停止。雖然這個訓練出來的結果有時候會有一定誤差,但都在可以接受的范圍內。
縮小誤差的一個方法是需要預先設置初始參數,雖然每次依然會得到不一樣的模型(只要參數是隨機修正的),但不同模型之間的差距會很小。另外可以反復訓練,找到一個自己覺得滿意的模型(可以是測試通過率最高,可以是平均結果誤差值最小)。
至於你說別人怎麼檢查你的論文結果,基本上都是通過你的演算法來重建模型,而且還不一定都用matlab來做,即便是用同樣的代碼都會出現不同的結果,何況是不同的語言呢?其實驗算結果最重要的是看測試時的通過率,例如在對一組新的數據進行測試(或預測)時,通過率達到95%,別人用其他的方式重建了你的模型也得到這樣的通過率,那麼你的演算法就是可行的。注意,在計算機專業的論文裡面大家看重的不是代碼,而是演算法。
補充一點:只要你訓練好了一個神經網路可以把這個神經網路以struct形式保存,這樣這個網路可以被反復使用,且每次對同一組測試數據的預測結果都會一樣。你也可以當做是檢測論文可行性的工具。
8. 關於Matlab BP神經網路工具箱nntool的數據輸入問題。
這是可以的,但是,要把兩組數據合到一個變數中,如:x=[trainx1;trainx2];作為一個輸入矩陣。
9. 請大師指點:BP網路工具箱中的newff()中的參數如何設置
threshold是一個限定BP網路輸出的范圍
在它規定的范圍內為有效(當無效值太多的時候會early stop)
[9,4]代表輸入輸出的專神經元數目
學習速度關屬繫到誤差梯度的調整,由於誤差梯度是由誤差對權值的求導得出的,我們加上一個學習速度的系數可以加快或減慢權值調整的速度.一般在0.1~0.8之間.當然也可以用可變學習速率的訓練函數進行,這樣學習速率可以在開始的時候大一些,而後減小,優化學習過程.
10. 如何用MATLAB的神經網路工具箱實現三層BP網路
這是一個來自<神經網路之家>nnetinfo的例子,在matlab2012b運行後的確可以,因為網路知道的文本寬度不夠,注釋擠到第二行了,有些亂,樓主注意區分哪些是代碼哪些是注釋,
x1 =
[-3,-2.7,-2.4,-2.1,-1.8,-1.5,-1.2,-0.9,-0.6,-0.3,0,0.3,0.6,0.9,1.2,1.5,1.8]; %x1:x1 = -3:0.3:2;
x2 =
[-2,-1.8,-1.6,-1.4,-1.2,-1,-0.8,-0.6,-0.4,-0.2,-2.2204,0.2,0.4,0.6,0.8,1,1.2];%x2:x2 = -2:0.2:1.2;
y = [0.6589,0.2206,-0.1635,-0.4712,-0.6858,-0.7975,-0.8040,...
-0.7113,-0.5326,-0.2875
,0,0.3035,0.5966,0.8553,1.0600,1.1975,1.2618]; %y:
y = sin(x1)+0.2*x2.*x2;
inputData = [x1;x2]; %將x1,x2作為輸入數據
outputData = y; %將y作為輸出數據
%使用用輸入輸出數據(inputData、outputData)建立網路,
%隱節點個數設為3.其中隱層、輸出層的傳遞函數分別為tansig和purelin,使用trainlm方法訓練。
net = newff(inputData,outputData,3,{'tansig','purelin'},'trainlm');
%設置一些常用參數
net.trainparam.goal = 0.0001;
%訓練目標:均方誤差低於0.0001
net.trainparam.show = 400; %每訓練400次展示一次結果
net.trainparam.epochs = 15000;
%最大訓練次數:15000.
[net,tr] = train(net,inputData,outputData);%調用matlab神經網路工具箱自帶的train函數訓練網路
simout = sim(net,inputData);
%調用matlab神經網路工具箱自帶的sim函數得到網路的預測值
figure; %新建畫圖窗口窗口
t=1:length(simout);
plot(t,y,t,simout,'r')%畫圖,對比原來的y和網路預測的y