❶ 哪有多維輸入多維輸出的RBF神經網路的例子,不使用工具箱
既然用matlab的話rbf神經網路不需要自己寫代碼,matlab有提供的RBF工具箱.
訓練命令主要回有兩個,一個是固定隱含層答節點數的指令newrbe,一個是變隱含層節點數的指令newrb.預測輸出指令和其他神經網路一樣,是sim.
常用指令輸出格式是net = newrbe(P,T,spread);net = newrb(P,T,goal,spread,MN,DF); X = sim(net,xn_test).參數具體格式參看help newrbe;help newrb以及help sim,參數物理意義參看相關理論,不再贅述了.
因為一般不存在局部最小問題,所以不需要使用結構體編輯指令設置初值,如果需要中間過程的原始數據,可以在訓練結構體中找到(即為net參數,存儲格式為結構體),結構體內部數據的物理意義,參看help help關於rbf神經網路結構體的介紹.
❷ 在matlab神經網路工具箱中,可以實現BP神經網路和RBF神經網路嗎
使用matlab2010b以後的版本會有完整的神經網路工具箱,使用nnstart可以調出toolbox,然後選擇需要的功能,導入數據,選擇訓練參數和每層神經元個數,最後訓練會輸出網路與結果
❸ RBF神經網路和BP神經網路有什麼區別
使用matlab2010b以後的版本會有完整的神經網路工具箱,使用nnstart可以調出toolbox,然後選擇需要的功能,導入數據,選擇訓練參數和每層神經元個數,最後訓練會輸出網路與結果
❹ rbf神經網路演算法是什麼
RBF神經網路演算法是由三層結構組成,輸入層至隱層為非線性的空間變換,一般選用徑向基函數的高斯函數進行運算;從隱層至輸出層為線性空間變換,即矩陣與矩陣之間的變換。
RBF神經網路進行數據運算時需要確認聚類中心點的位置及隱層至輸出層的權重。通常,選用K-means聚類演算法或最小正交二乘法對數據大量的進行訓練得出聚類中心矩陣和權重矩陣。
一般情況下,最小正交二乘法聚類中心點的位置是給定的,因此比較適合分布相對規律的數據。而K-means聚類演算法則會自主選取聚類中心,進行無監督分類學習,從而完成空間映射關系。
RBF網路特點
RBF網路能夠逼近任意非線性的函數(因為使用的是一個局部的激活函數。在中心點附近有最大的反應;越接近中心點則反應最大,遠離反應成指數遞減;就相當於每個神經元都對應不同的感知域)。
可以處理系統內難以解析的規律性,具有很好的泛化能力,並且具有較快的學習速度。
有很快的學習收斂速度,已成功應用於非線性函數逼近、時間序列分析、數據分類、模式識別、信息處理、圖像處理、系統建模、控制和故障診斷等。
當網路的一個或多個可調參數(權值或閾值)對任何一個輸出都有影響時,這樣的網路稱為全局逼近網路。由於對於每次輸入,網路上的每一個權值都要調整,從而導致全局逼近網路的學習速度很慢,比如BP網路。
❺ MATLAB工具箱里的RBF神經網路newrb是什麼演算法
newrb設計了徑向基網路,抄調用格式襲:
net = newrb
[net,tr] = newrb(P,T,goal,spread,MN,DF)
P-Q組輸入向量組成的R×Q維矩陣;
T-Q組目標分類向量組成的S×Q維矩陣;
goal-均方誤差,默認值為0;
spread-徑向基函數的擴展速度,默認值為1;
MN-神經元的最大數目,默認是Q
DF-兩次顯示之間所添加的神經元數目,默認值為25;
net-返回值,一個徑向基網路;
tr-返回值,訓練紀錄。
該函數設計的徑向基網路net可用於函數逼近。徑向基函數的擴展速度spread越大,函數的擬合就越平滑。但是,過大的spread意味著需要非常多的神經元以適應函數的快速變化。如果spread設定過小,則意味著需要許多神經元來適應函數的緩慢變化,這樣一來,設計的網路性能就不會很好。
❻ 怎樣使用matlab的神經網路工具箱建立rbf神經網路
Flyme5加入全新應用「工具箱」,內置種等實用工具 *進入 工具箱-->設置,用工具放桌面,更便使用
❼ 求救!在線等啊!5個輸入自變數,1個輸出變數,怎麼用RBF神經網路模型預測
既然用matlab的話rbf神經網路不需要自己寫代碼,matlab有提供的RBF工具箱.
訓練命令主要有兩個,一個是固定隱含層節點數的指令newrbe,一個是變隱含層節點數的指令newrb.預測輸出指令和其他神經網路一樣,是sim.
常用指令輸出格式是net = newrbe(P,T,spread);net = newrb(P,T,goal,spread,MN,DF); X = sim(net,xn_test).參數具體格式參看help newrbe;help newrb以及help sim,參數物理意義參看相關理論,不再贅述了.
因為一般不存在局部最小問題,所以不需要使用結構體編輯指令設置初值,如果需要中間過程的原始數據,可以在訓練結構體中找到(即為net參數,存儲格式為結構體),結構體內部數據的物理意義,參看help help關於rbf神經網路結構體的介紹.
❽ 用matlab神經網路工具箱構建RBF神經網路,跪求源程序!
希望對您有用
clc
clear
close all
%---------------------------------------------------
% 產生訓練樣本與測試樣本,每一列為一個樣本
P1 = [rand(3,5),rand(3,5)+1,rand(3,5)+2];
T1 = [repmat([1;0;0],1,5),repmat([0;1;0],1,5),repmat([0;0;1],1,5)];
P2 = [rand(3,5),rand(3,5)+1,rand(3,5)+2];
T2 = [repmat([1;0;0],1,5),repmat([0;1;0],1,5),repmat([0;0;1],1,5)];
%---------------------------------------------------
% 歸一化
[PN1,minp,maxp] = premnmx(P1);
PN2 = tramnmx(P2,minp,maxp);
%---------------------------------------------------
% 訓練
switch 2
case 1
% 神經元數是訓練樣本個數
spread = 1; % 此值越大,覆蓋的函數值就大(默認為1)
net = newrbe(PN1,T1,spread);
case 2
% 神經元數逐步增加,最多就是訓練樣本個數
goal = 1e-4; % 訓練誤差的平方和(默認為0)
spread = 1; % 此值越大,需要的神經元就越少(默認為1)
MN = size(PN1,2); % 最大神經元數(默認為訓練樣本個數)
DF = 1; % 顯示間隔(默認為25)
net = newrb(PN1,T1,goal,spread,MN,DF);
case 3
spread = 1; % 此值越大,需要的神經元就越少(默認為1)
net = newgrnn(PN1,T1,spread);
end
%---------------------------------------------------
% 測試
Y1 = sim(net,PN1); % 訓練樣本實際輸出
Y2 = sim(net,PN2); % 測試樣本實際輸出
Y1 = full(compet(Y1)); % 競爭輸出
Y2 = full(compet(Y2));
%---------------------------------------------------
% 結果統計
Result = ~sum(abs(T1-Y1)) % 正確分類顯示為1
Percent1 = sum(Result)/length(Result) % 訓練樣本正確分類率
Result = ~sum(abs(T2-Y2)) % 正確分類顯示為1
Percent2 = sum(Result)/length(Result) % 測試樣本正確分類率
❾ MATLAB工具箱中神經網路RBF工具箱怎麼下載啊
我也發現這個論壇的一個缺陷,就是很少接受matlab中各個工具箱的使用操作,專都在大談高深的函數,讓屬我們這些菜鳥看的雲里霧里,就是不知道怎麼使用軟體自帶的工具箱。我買了神經網路的書,也買了視頻,看完了還是不知道軟體中神經網路工具箱怎麼使用,神經網路的工具箱能否修改程序。看了很多論壇資料,都沒有軟體操作方面的詳細資料,多是些蜻蜓點水介紹。
❿ matlab中用RBF神經網路做預測的代碼怎麼寫
clc;
clearall;
closeall;
%%----
c_1=[00];
c_2=[11];
c_3=[01];
c_4=[10];
n_L1=20;%numberoflabel1
n_L2=20;%numberoflabel2
A=zeros(n_L1*2,3);
A(:,3)=1;
B=zeros(n_L2*2,3);
B(:,3)=0;
%createrandompoints
fori=1:n_L1
A(i,1:2)=c_1+rand(1,2)/2;
A(i+n_L1,1:2)=c_2+rand(1,2)/2;
end
fori=1:n_L2
B(i,1:2)=c_3+rand(1,2)/2;
B(i+n_L2,1:2)=c_4+rand(1,2)/2;
end
%showpoints
scatter(A(:,1),A(:,2),[],'r');
holdon
scatter(B(:,1),B(:,2),[],'g');
X=[A;B];
data=X(:,1:2);
label=X(:,3);
%%Usingkmeanstofindcintervector
n_center_vec=10;
rng(1);
[idx,C]=kmeans(data,n_center_vec);
holdon
scatter(C(:,1),C(:,2),'b','LineWidth',2);
%%Calulatesigma
n_data=size(X,1);
%calculateK
K=zeros(n_center_vec,1);
fori=1:n_center_vec
K(i)=numel(find(idx==i));
end
%
%thencalucatesigma
sigma=zeros(n_center_vec,1);
fori=1:n_center_vec
[n,d]=knnsearch(data,C(i,:),'k',K(i));
L2=(bsxfun(@minus,data(n,:),C(i,:)).^2);
L2=sum(L2(:));
sigma(i)=sqrt(1/K(i)*L2);
end
%%Calutateweights
%kernelmatrix
k_mat=zeros(n_data,n_center_vec);
fori=1:n_center_vec
r=bsxfun(@minus,data,C(i,:)).^2;
r=sum(r,2);
k_mat(:,i)=exp((-r.^2)/(2*sigma(i)^2));
end
W=pinv(k_mat'*k_mat)*k_mat'*label;
y=k_mat*W;
%y(y>=0.5)=1;
%y(y<0.5)=0;
%%
[W1,sigma1,C1]=RBF_training(data,label,10);
y1=RBF_predict(data,W,sigma,C1);
[W2,sigma2,C2]=lazyRBF_training(data,label,2);
y2=RBF_predict(data,W2,sigma2,C2);
(10)rbf神經網路工具箱擴展閱讀
matlab的特點
1、具有完備的圖形處理功能,實現計算結果和編程的可視化;
2、友好的用戶界面及接近數學表達式的自然化語言,使學者易於學習和掌握;
3、功能豐富的應用工具箱(如信號處理工具箱、通信工具箱等) ,為用戶提供了大量方便實用的處理工具。