1樓:飛翔的泥丸
p=[ 1;
t=[34,41,38,44,30,45,49,47,34,32,36,45,30,43,33,28,48,40];
net=newff(minmax(p),[3,5,1],,traingdm');
net=init(net);;
net=train(net,p,t);
a = sim(net,p);
e = t - a;
mse=mse(e);
p_test=[ ;
out=sim(net,p_test)
這樣試試,對是用什麼學習函式,只有自己試了,沒有成熟的理論。
2樓:網友
p和t裡面的間隔不能用逗號,用分號或者空格都可以的。而且後面都加上分號,至於traingdm和trainlm都是訓練函式,是要看跟前面用的傳遞函式之間的關係確定的,trainlm是系統預設訓練函式,運算速度快,適用於比較大的樣本,具體要看你的資料組成而定。還有就是用bp神經網路很重要的是確定隱層數,需要反覆試驗確定,這個是重點,直接關係到你的訓練效能。
先說明這麼多吧。
3樓:七月的盛夏
p中不同組資料之間用分號隔開,你用逗號,明顯不遵守交通規則……
matlab bp神經網路
4樓:網友
從原理上來說,神經網路是可以**未來的點的。
實際上,經過訓練之後,神經網路就擬合了輸入和輸出資料之間的函式關係。只要訓練的足夠好,那麼這個擬合的關係就會足夠準確,從而能夠**在其他的輸入情況下,會有什麼樣的輸出。
如果要**t=[6 7]兩點的r值,先以t=[1 2 3 4 5]作為輸入,r=[12 13 14 14 15]作為輸出,訓練網路。訓練完成之後,用t=[2 3 4 5 6]作為輸入,這樣會得到乙個輸出。不出意外的話,輸出的陣列應該是[13 14 14 15 x],這裡的x就是**t=6時的r值。
然後以t=[3 4 5 6 7]作為輸入,同理得到t=7時候的r值。
根據我的神經網路**,t=6時,r=15,t=7時,r=15。我不知道這個結果是否正確,因為神經網路通常需要大量的資料來訓練,而這裡給的資料似乎太少,可能不足以擬合出正確的函式。
乙個關於bp神經網路的問題,matlab中神經網路工具箱的初始權值和閥值是
5樓:網友
訓練bp神經網路所採取的隨機初始引數確實是隨機的,在訓練過程中這些引數和權值都會朝著同乙個大方向進行修正。例如你用bp神經網路來擬合曲線,找到輸入值與輸出值之間的線性規律,那麼在訓練的過程中這個擬合的曲線會不斷的調整其引數和權值直到滿足幾個預設條件之一時訓練停止。雖然這個訓練出來的結果有時候會有一定誤差,但都在可以接受的範圍內。
縮小誤差的乙個方法是需要預先設定初始引數,雖然每次依然會得到不一樣的模型(只要引數是隨機修正的),但不同模型之間的差距會很小。另外可以反覆訓練,找到乙個自己覺得滿意的模型(可以是測試通過率最高,可以是平均結果誤差值最小)。
至於你說別人怎麼檢查你的**結果,基本上都是通過你的演算法來重建模型,而且還不一定都用matlab來做,即便是用同樣的**都會出現不同的結果,何況是不同的語言呢?其實驗算結果最重要的是看測試時的通過率,例如在對一組新的資料進行測試(或**)時,通過率達到95%,別人用其他的方式重建了你的模型也得到這樣的通過率,那麼你的演算法就是可行的。注意,在計算機專業的**裡面大家看重的不是**,而是演算法。
補充一點:只要你訓練好了乙個神經網路可以把這個神經網路以struct形式儲存,這樣這個網路可以被反覆使用,且每次對同一組測試資料的**結果都會一樣。你也可以當做是檢測**可行性的工具。
在看了案例二中的bp神經網路訓練及****後,我開始不明白bp神經網路究竟能做什麼了。。。 程式最後得到
6樓:檀君博
網路的訓練過程與使用過程了兩碼事。
比如bp應用在分類,網路的訓練是指的給你一些樣本,同時告訴你這些樣本屬於哪一類,然後代入網路訓練,使得這個網路具備一定的分類能力,訓練完成以後再拿乙個未知類別的資料通過網路進行分類。這裡的訓練過程就是先偽隨機生成權值,然後把樣本輸入進去算出每一層的輸出,並最終算出來**輸出(輸出層的輸出),這是正向學習過程;最後通過某種訓練演算法(最基本的是感知器演算法)使得代價(**輸出與實際輸出的某範數)函式關於權重最小,這個就是反向傳播過程。
您所說的那種不需要預先知道樣本類別的網路屬於無監督型別的網路,比如自組織競爭神經網路。
7樓:網友
bp網路的作用類似於人腦的類推學習過程,分為訓練過程:已知條件+已知結果===神經網路和應用過程:待解答條件+神經網路===模擬結果比如我們在認知過程中,看到[黑貓]我們會聯想到[貓]
看到[白貓]我們會聯想到[貓]
看到[黃貓]我們會聯想到[貓]
神經網路訓練完畢。
在應用中。我們看到乙隻[花貓]
能夠識別是[貓]
這就是神經網路,輸入的是已知的條件和結果。
就像舉例說明。
對於未知的輸入進行變數匹配。
如果匹配不成功,就算誤差,然後更新認知。
直到匹配成功。
對神經網路進行訓練後,
8樓:網友
bp網路只有**效果,比如利用往年的業績來**今年的。
用matlab的GUI建立BP神經網路的問題,求各位幫忙解答
應該是14列 9行的輸入 對應14列 1行的輸出。每列乙個sample 你應檢查你的bp網路的輸入層神經元和輸出層神經元數目,同時注意行列的關係。matlab bp神經網路程式總是報錯,求大神幫忙解答!謝謝 你那兩個傳遞復 函式之間少了乙個英文制逗號,應該是bai。要學會du根據matlab報錯提示...
bp神經網路演算法在matlab中的實現
bp神經網路是最基本 最常用的神經網路,matlab有專用函式來建立 訓練它,主回要就是newff train sim 這三個函式,當然其答他如歸一化函式mapminmax 其他net的引數設定 lr goal等 設定好,就可以通過對歷史資料的學習進行 附件是乙個最基本的 例項,本來是電力負荷 的例...
求助BP神經網路訓練後輸出的performance圖形問題
你的圖不大對吧?應該有三條曲線顯示才對,分別代表訓練,驗證,測試誤差,你現在只有訓練誤差的。performance is 0.00306表示你的訓練誤差達到了0.00306,goal is 0.01表示你設定的目標誤差是0.01.matlab中神經網路訓練結束後出現nntraintool面板,如何記...