導航:首頁 > 五金知識 > 神經網路工具箱

神經網路工具箱

發布時間:2021-02-10 01:42:32

Ⅰ 如何用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

Ⅱ matlab怎麼打開神經網路工具箱

1單擊Apps,在搜索框中輸入neu,下方出現了所有神經網路工具箱。neural net fitting 是我們要使回用的神答經網路擬合工具箱。

2
在下界面中點擊next

3
單擊load example data set,得到我們需要的測試數據。

4
單擊import

5
單擊next

6
單擊next

7
數字「10」表示有10個隱含層。單擊next。

8
單擊train,開始訓練。

9
訓練過程跳出的小窗口。

10
訓練結果。其中MSE表示均方差,R 表示相關系數。單擊next。

11
這里可以調整神經網路,也可以再次訓練。單擊next。

12
在這里,可以保存結果。如果不需要,直接finish。

Ⅲ matlab神經網路工具箱具體怎麼用

為了看懂師兄的文章中使用的方法,研究了一下神經網路
昨天花了一天的時間查怎麼寫程序,但是費了半天勁,不能運行,網路知道里倒是有一個,可以運行的,先貼著做標本

% 生成訓練樣本集
clear all;
clc;
P=[110 0.807 240 0.2 15 1 18 2 1.5;
110 2.865 240 0.1 15 2 12 1 2;
110 2.59 240 0.1 12 4 24 1 1.5;
220 0.6 240 0.3 12 3 18 2 1;
220 3 240 0.3 25 3 21 1 1.5;
110 1.562 240 0.3 15 3 18 1 1.5;
110 0.547 240 0.3 15 1 9 2 1.5];
0 1.318 300 0.1 15 2 18 1 2];
T=[54248 162787 168380 314797;
28614 63958 69637 82898;
86002 402710 644415 328084;
230802 445102 362823 335913;
60257 127892 76753 73541;
34615 93532 80762 110049;
56783 172907 164548 144040];
@907 117437 120368 130179];
m=max(max(P));
n=max(max(T));
P=P'/m;
T=T'/n;
%-------------------------------------------------------------------------%
pr(1:9,1)=0; %輸入矢量的取值范圍矩陣
pr(1:9,2)=1;
bpnet=newff(pr,[12 4],{'logsig', 'logsig'}, 'traingdx', 'learngdm');
%建立BP神經網路, 12個隱層神經元,4個輸出神經元
%tranferFcn屬性 'logsig' 隱層採用Sigmoid傳輸函數
%tranferFcn屬性 'logsig' 輸出層採用Sigmoid傳輸函數
%trainFcn屬性 'traingdx' 自適應調整學習速率附加動量因子梯度下降反向傳播演算法訓練函數
%learn屬性 'learngdm' 附加動量因子的梯度下降學習函數
net.trainParam.epochs=1000;%允許最大訓練步數2000步
net.trainParam.goal=0.001; %訓練目標最小誤差0.001
net.trainParam.show=10; %每間隔100步顯示一次訓練結果
net.trainParam.lr=0.05; %學習速率0.05
bpnet=train(bpnet,P,T);
%-------------------------------------------------------------------------
p=[110 1.318 300 0.1 15 2 18 1 2];
p=p'/m;
r=sim(bpnet,p);
R=r'*n;
display(R);

運行的結果是出現這樣的界面

點擊performance,training state,以及regression分別出現下面的界面

再搜索,發現可以通過神經網路工具箱來創建神經網路,比較友好的GUI界面,在輸入命令裡面輸入nntool,就可以開始了。

點擊import之後就出現下面的具體的設置神經網路參數的對話界面,
這是輸入輸出數據的對話窗

首先是訓練數據的輸入

然後點擊new,創建一個新的神經網路network1,並設置其輸入輸出數據,包括名稱,神經網路的類型以及隱含層的層數和節點數,還有隱含層及輸出層的訓練函數等

點擊view,可以看到這是神經網路的可視化直觀表達

創建好了一個network之後,點擊open,可以看到一個神經網路訓練,優化等的對話框,選擇了輸入輸出數據後,點擊train,神經網路開始訓練,如右下方的圖,可以顯示動態結果

下面三個圖形則是點擊performance,training state以及regression而出現的

下面就是simulate,輸入的數據是用來檢驗這個網路的數據,output改一個名字,這樣就把輸出數據和誤差都存放起來了

在主界面上點擊export就能將得到的out結果輸入到matlab中並查看

下圖就是輸出的兩個outputs結果

還在繼續挖掘,to be continue……

Ⅳ 神經網路工具箱與編程實現哪個更好

首先說一下神經網路工具箱,在我剛剛接觸神經網路的時候,我就利用工具箱去解決問題,這讓我從直觀上對神經網路有了了解,大概清楚了神經網路的應用范圍以及它是如何解決實際問題的。
工具箱的優勢在於我們不用了解其內部的具體實現,更關注於模型的建立與問題的分析,也就是說,如果拋開演算法的錯誤,那麼用工具箱來解決實際問題會讓我們能把更多的精力放在實際問題的模型建立上,而不是繁瑣的演算法實現以及分析上。

其次談談編程實現神經網路,由於個人能力有限,所以只是簡單的編程實現過一些基本神經演算法,總的體會就是編程的過程讓我對演算法有了更透徹的理解,可以更深入的分析其內部運行機制,也同樣可以實現一下自己的想法,構建自己的神經網路演算法。

以上是我對兩個方法的簡單理解。那究竟哪個方法更好些呢?我個人的看法是要看使用者的目的是怎樣的。

如果使用者的目的在於解決實際問題,利用神經網路的函數逼近與擬合功能實現自己對實際問題的分析與模型求解,那我的建議就是利用神經網路工具箱,學過編程語言的人都知道,無論用什麼編程語言將一個現有的演算法編程實現達到可用的結果這一過程都是及其繁瑣與復雜的,就拿簡單的經典BP神經網路演算法來說,演算法本身的實現其實並不難,可根據不同人的能力,編出來的程序的運行效率是大不相同的,而且如果有心人看過matlab的工具箱的源碼的話,應該能發現,裡面採用的方法並不完全是純粹的BP經典演算法,一個演算法從理論到實現還要依賴與其他演算法的輔助,計算機在計算的時候難免出現的舍入誤差,保證權值的時刻改變,這都是編程人員需要考慮的問題,可能還有很多的問題
這樣的話,如果自己單人編程去實現神經網路來解決實際問題的話,整體效率就沒有使用工具箱更好。

如果使用者的目的在於分析演算法,構造新的網路的話那當然首推自己編程實現。個人的感覺就是,如果真的是自己完全編程實現的話,對演算法會有很深入的理解,在編程的調試過程中,也會領悟到很多自己從前從來沒有考慮過的問題,像權值的初始的隨機選取應該怎麼樣,將訓練樣本按什麼順序輸入等,這都是編程實現所要考慮的問題,不同的方法得到的結果會有很大的差距。

Ⅳ Matlab神經網路工具箱問題~

這好像和你的輸出有關。您輸出的矩陣是什麼?你可以把你的神經網路發上來看看。

Ⅵ MATLAB神經網路工具箱configure函數使用

你想要什麼解釋?這句話是在為你的神經網路(net)配置每個RTDX緩沖channel中的位元組位數版(p)和緩沖權channel的數量(t)。RTDX(real time data exchange)實時數據交換。如果你懂低級計算機編程語言的話應該很好理解。這句話基本可以大致理解為為你的神經網路劃出一個計算的空間。神經網路演算法本身極其復雜,甚至有很多conference是專門討論該演算法的。matlab作為高級程序語言,出發點是把所有演算法打包好使用戶方便使用。要做到這個對一些基礎演算法來說並不難。但是神經網路本身就是一大堆演算法的集成,簡單打包演算法不太可能。使用這個工具箱你只需要知道大致原理,再找幾個模板依樣畫葫蘆練習一下就可以了,沒必要全弄明白

Ⅶ matlab中bp神經網路的工具箱怎麼用,不要matlab程序,就工具箱怎麼實現問題的解決

matlab中神經網路的工具箱:輸入nntool,就會彈出一個對話框,然後你就可以根據彈出框的指示來操作。

Ⅷ 你好,請問你知道在matlab神經網路工具箱里,學習率在哪裡設置嗎

lr就是學習率,performance是主要指標,你在程序里寫的goal就是MSE,決定最後精度的。

%%BP演算法
functionOut=bpnet(p,t,p_test)
globalS1
net=newff(minmax(p),[S1,8],{'tansig','purelin'},'trainlm');%trainlm訓練函數最有版效
%net=newff(P,T,31,{'tansig','purelin'},'trainlm');%新版用權法
net.trainParam.epochs=1000;
net.trainParam.goal=0.00001;
net.trainParam.lr=0.01;%這是學習率
net=train(net,p,t);
Out=sim(net,p_test);
end


Ⅸ 在哪能下的matlab的神經網路工具箱

MATLAB的神經自網路工具箱是內置的,如果完全安裝了MATLAB,那麼你可以在MATLAB的幫助頁面上(幫助頁面可以在Comand Window下輸入'help help '(不名括單引號),然後看Contents里有 Neural Network Toolbox。

神經網路工具箱有個教學GUI,可以在Comand Window下輸nnd'(不名括單引號,小寫)(因為這個教學GUI是和一本書結合的,這本書叫Neural Network Design,作者Martin T.Hagan,Howard B.Demuth,強烈推薦學習這本經典教材,會讓你入門並稍有進階)

閱讀全文

與神經網路工具箱相關的資料

熱點內容
什麼情況下計算機械停滯費 瀏覽:52
前輪軸承多少錢一台 瀏覽:907
超聲波機器怎麼調高度 瀏覽:882
長距離輸水管道閥門閥件安裝 瀏覽:991
如何設計校正裝置 瀏覽:586
自控大作業設計校正裝置心得體會 瀏覽:393
拆卸軸承是使用什麼 瀏覽:271
傳祺中控屏地圖怎麼轉換儀表盤 瀏覽:209
魚洞消防器材哪裡有賣的 瀏覽:775
機械加工技術是學什麼意思 瀏覽:935
設備GE口是什麼口 瀏覽:616
人民防空專業隊需要哪些裝備器材 瀏覽:40
汽車儀表盤顯示上限什麼意思 瀏覽:271
工程機械是做什麼的 瀏覽:567
油鋸鏈條軸承壞了有什麼現象 瀏覽:466
北京銷售電動工具 瀏覽:64
閔行區九星五金市場 瀏覽:860
京東賣的電動工具真嗎 瀏覽:448
智能檢測裝置設計 瀏覽:951
軸承蓋子是什麼意思 瀏覽:611