⑴ 神經網路工具箱與編程實現哪個更好
首先說一下神經網路工具箱,在我剛剛接觸神經網路的時候,我就利用工具箱去解決問題,這讓我從直觀上對神經網路有了了解,大概清楚了神經網路的應用范圍以及它是如何解決實際問題的。
工具箱的優勢在於我們不用了解其內部的具體實現,更關注於模型的建立與問題的分析,也就是說,如果拋開演算法的錯誤,那麼用工具箱來解決實際問題會讓我們能把更多的精力放在實際問題的模型建立上,而不是繁瑣的演算法實現以及分析上。
其次談談編程實現神經網路,由於個人能力有限,所以只是簡單的編程實現過一些基本神經演算法,總的體會就是編程的過程讓我對演算法有了更透徹的理解,可以更深入的分析其內部運行機制,也同樣可以實現一下自己的想法,構建自己的神經網路演算法。
以上是我對兩個方法的簡單理解。那究竟哪個方法更好些呢?我個人的看法是要看使用者的目的是怎樣的。
如果使用者的目的在於解決實際問題,利用神經網路的函數逼近與擬合功能實現自己對實際問題的分析與模型求解,那我的建議就是利用神經網路工具箱,學過編程語言的人都知道,無論用什麼編程語言將一個現有的演算法編程實現達到可用的結果這一過程都是及其繁瑣與復雜的,就拿簡單的經典BP神經網路演算法來說,演算法本身的實現其實並不難,可根據不同人的能力,編出來的程序的運行效率是大不相同的,而且如果有心人看過matlab的工具箱的源碼的話,應該能發現,裡面採用的方法並不完全是純粹的BP經典演算法,一個演算法從理論到實現還要依賴與其他演算法的輔助,計算機在計算的時候難免出現的舍入誤差,保證權值的時刻改變,這都是編程人員需要考慮的問題,可能還有很多的問題
這樣的話,如果自己單人編程去實現神經網路來解決實際問題的話,整體效率就沒有使用工具箱更好。
如果使用者的目的在於分析演算法,構造新的網路的話那當然首推自己編程實現。個人的感覺就是,如果真的是自己完全編程實現的話,對演算法會有很深入的理解,在編程的調試過程中,也會領悟到很多自己從前從來沒有考慮過的問題,像權值的初始的隨機選取應該怎麼樣,將訓練樣本按什麼順序輸入等,這都是編程實現所要考慮的問題,不同的方法得到的結果會有很大的差距。
⑵ 網路編輯超級工具箱是用來做什麼的
主要用來格式化網上復制下來的文字,比如去掉文字里的超鏈接,段落格式等。是網路編輯必不可少的工作軟體。
⑶ matlab神經網路工具箱問題
線性神經網路的構建:
net=newlin(PR,S,ID,LR)
PR--Rx2階矩陣,R個輸入元素的最小最大矩陣
S---輸出層神經元個數
ID--輸入延遲向量,默認值為[0]
IR--學習率,默認值為0.01
net = newlin([-1 1;-1 1],1); 表示設計的是一個雙輸入單輸出線性神經網路
P = [1 2 2 3; 2 1 3 1];表示輸入樣本有四個,每一列就是一個輸入樣本
又比如假設我們期望的輸出為 T=[1 2 3 4],則一個簡單的神經網路如下:
>>net = newlin([-1 1;-1 1],1);%創建初始網路
P=[1 2 2 3; 2 1 3 1]%輸入
T=[1 2 3 4]%期望的輸出
net=newlind(P,T);%用輸入和期望訓練網路
Y=sim(net,P)%模擬,可以看到模擬結果Y和期望輸出T的接近程度
P =
1 2 2 3
2 1 3 1
T =
1 2 3 4
Y =
0.8889 2.1667 3.0556 3.8889
樓主可以從《matlab神經網路與應用(第二版)》董長虹 開始入門神經網路的matlab實現
參考資料:《matlab神經網路與應用(第二版)》
⑷ 工具箱的網路工具箱
特點:
1、EXE解壓縮安裝,操作簡便。2、完美支持安裝PE到2000/XP/2003/Vista/2008等系統。3、進入PE後可安裝XP/2003/Vista/2008等系統4、PE支持128m內存機器啟動。5、支持大部分常見的SATA硬碟。6、啟動相當迅速,在大量機器上測試,一般不超過30秒。7、採用Vista風格進行界面美化,實用更加美觀。8、可以設置PE的啟動密碼,防止別人亂用。9、可以配合插件實現更多功能。10、可以通過工具生成ISO文件。11、完善的卸載,不會遺留任何文件12、精心修改了啟動文件,不會和其它類似的工具箱發生沖突通用 PE 工具箱 更新:1、加入直接生成ISO模塊,可以直接生成光碟通用PE!安裝完成有提示,還可以在開始菜單裏手動選擇。提供兩種ISO模式:一種是直接啟動模式,一種是EASYBOOT合盤模式,如果您願意讓PE直接啟動,請選擇直接啟動模式,如果您想把PE用於合盤,請選擇EASYBOOT合盤模式。同時支持設置個性化游標卷標、隨意設置ISO文件輸出路徑,十分人性化!2、調整了GHOST,支持手動運行GHOST32(沒有使用最新的11.5,據說11.5有BUG)3、修改了安裝代碼。包含的工具(基礎):引用:Ghost一鍵備份還原Ghost 映像瀏覽器Windows用戶密碼修改WINPM硬碟管理大師VDM虛擬光碟機FinalData 數據恢復WINRAR 文件解壓Windows安裝助手PTDD ……這個PE工具箱的工具採用基礎+選擇的模式
PE 工具箱是一款極適合於網管、裝機人員使用的多功能WinPE系統維護工具箱,它基於Windows PE製作,支持USB 2.0/SCSI/Netcard等設備,操作簡便,界面清爽。您可以使用它進行磁碟分區、格式化、磁碟克隆、修改密碼、數據恢復、系統安裝等一系列日常應急維護工作。相比同性質的DOS系統維護工具,PE工具箱更容易操作、更容易上手。並且它有體積小,啟動超快等特點。
⑸ matlab中bp神經網路的工具箱怎麼用,不要matlab程序,就工具箱怎麼實現問題的解決
matlab中神經網路的工具箱:輸入nntool,就會彈出一個對話框,然後你就可以根據彈出框的指示來操作。
⑹ 網路編輯超級工具箱怎麼樣
網路編輯超級工具箱(網編工具)提供文章快速格式化一鍵排版功能,網編工具可幫助您快速格式化文章,使之成為合乎規范和標準的文章格式,能有效提高編輯工作效率。
網路編輯超級工具箱(網編工具)功能
1、簡繁體相互轉換
2、可定製段前是否空格
3、可定製圖片是否添加1像素邊框
4、可定製是否保留文章內容中的表格
5、文字糾錯功能【上千個錯別字詞庫】
6、一鍵排版格式化文章,一鍵復制出去。
⑺ matlab神經網路工具箱怎麼使用訓練好的神經網路
matlab神經網路入到隱層權值: w1=netiw{1,1} 隱層閾值: theta1=netmatlab神經網路工具箱怎麼使用訓練好的神經網路
⑻ matlab神經網路工具箱訓練出來的函數,怎麼輸出得到函數代碼段
這樣:
clear;
%輸入數據矩陣
p1=zeros(1,1000);
p2=zeros(1,1000);
%填充數據
for i=1:1000
p1(i)=rand;
p2(i)=rand;
end
%輸入層有兩個,樣本數為1000
p=[p1;p2];
%目標(輸出)數據矩陣,待擬合的關系為簡單的三角函數
t = cos(pi*p1)+sin(pi*p2);
%對訓練集中的輸入數據矩陣和目標數據矩陣進行歸一化處理
[pn, inputStr] = mapminmax(p);
[tn, outputStr] = mapminmax(t);
%建立BP神經網路
net = newff(pn, tn, [200,10]);
%每10輪回顯示一次結果
net.trainParam.show = 10;
%最大訓練次數
net.trainParam.epochs = 5000;
%網路的學習速率
net.trainParam.lr = 0.05;
%訓練網路所要達到的目標誤差
net.trainParam.goal = 10^(-8);
%網路誤差如果連續6次迭代都沒變化,則matlab會默認終止訓練。為了讓程序繼續運行,用以下命令取消這條設置
net.divideFcn = '';
%開始訓練網路
net = train(net, pn, tn);
%訓練完網路後要求網路的權值w和閾值b
%獲取網路權值、閾值
netiw = net.iw;
netlw = net.lw;
netb = net.b;
w1 = net.iw{1,1}; %輸入層到隱層1的權值
b1 = net.b{1} ; %輸入層到隱層1的閾值
w2 = net.lw{2,1}; %隱層1到隱層2的權值
b2 = net.b{2} ; %隱層1到隱層2的閾值
w3 = net.lw{3,2}; %隱層2到輸出層的權值
b3 = net.b{3} ;%隱層2到輸出層的閾值
%在默認的訓練函數下,擬合公式為,y=w3*tansig(w2*tansig(w1*in+b1)+b2)+b3;
%用公式計算測試數據[x1;x2]的輸出,輸入要歸一化,輸出反歸一化
in = mapminmax('apply',[x1;x2],inputStr);
y=w3*tansig(w2*tansig(w1*in+b1)+b2)+b3;
y1=mapminmax('reverse',y,outputStr);
%用bp神經網路驗證計算結果
out = sim(net,in);
out1=mapminmax('reverse',out,outputStr);
注意事項
一、訓練函數
1、traingd
Name:Gradient descent backpropagation (梯度下降反向傳播演算法 )
Description:triangd is a network training function that updates weight and bias values according to gradient descent.
2、traingda
Name:Gradient descentwith adaptive learning rate backpropagation(自適應學習率的t梯度下降反向傳播演算法)
Description:triangd is a network training function that updates weight and bias values according to gradient descent with adaptive learning rate.it will return a trained net (net) and the trianing record (tr).
3、traingdx (newelm函數默認的訓練函數)
name:Gradient descent with momentum and adaptive learning rate backpropagation(帶動量的梯度下降的自適應學習率的反向傳播演算法)
Description:triangdx is a network training function that updates weight and bias values according to gradient descent momentumand an adaptive learning rate.it will return a trained net (net) and the trianing record (tr).
4、trainlm
Name:Levenberg-Marquardtbackpropagation(L-M反向傳播演算法)
Description:triangd is a network training function that updates weight and bias values according toLevenberg-Marquardt optimization.it will return a trained net (net) and the trianing record (tr).
註:更多的訓練演算法請用matlab的help命令查看。
二、學習函數
1、learngd
Name:Gradient descent weight and bias learning function(梯度下降的權值和閾值學習函數)
Description:learngd is the gradient descentweight and bias learning function, it willreturn theweight change dWand a new learning state.
2、learngdm
Name:Gradient descentwith momentumweight and bias learning function(帶動量的梯度下降的權值和閾值學習函數)
Description:learngd is the gradient descentwith momentumweight and bias learning function, it willreturn the weight change dW and a new learning state.
註:更多的學習函數用matlab的help命令查看。
三、訓練函數與學習函數的區別
函數的輸出是權值和閾值的增量,訓練函數的輸出是訓練好的網路和訓練記錄,在訓練過程中訓練函數不斷調用學習函數修正權值和閾值,通過檢測設定的訓練步數或性能函數計算出的誤差小於設定誤差,來結束訓練。
或者這么說:訓練函數是全局調整權值和閾值,考慮的是整體誤差的最小。學習函數是局部調整權值和閾值,考慮的是單個神經元誤差的最小。
它的基本思想是學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成。
正向傳播時,輸入樣本從輸入層傳入,經各隱層逐層處理後,傳向輸出層。若輸出層的實際輸出與期望的輸出(教師信號)不符,則轉入誤差的反向傳播階段。
反向傳播時,將輸出以某種形式通過隱層向輸入層逐層反傳,並將誤差分攤給各層的所有單元,從而獲得各層單元的誤差信號,此誤差信號即作為修正各單元權值的依據。
⑼ 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……