RBF神经网络——案例一
給定輸入向量p=?1:0.1:1p=-1:0.1:1p=?1:0.1:1和目標向量[t=0.05960.68200.04240.07140.52160.09670.81810.81750.72240.14990.65960.51860.97300.64900.80030.45380.43240.82530.08350.1332]\begin{bmatrix} t = 0.0596 & 0.6820 & 0.0424 & 0.0714 & 0.5216 & 0.0967 & 0.8181 & 0.8175 & 0.7224 & 0.1499 & 0.6596 & 0.5186 & 0.9730 & 0.6490 & 0.8003 & 0.4538 & 0.4324 & 0.8253 & 0.0835 & 0.1332\end{bmatrix}[t=0.0596?0.6820?0.0424?0.0714?0.5216?0.0967?0.8181?0.8175?0.7224?0.1499?0.6596?0.5186?0.9730?0.6490?0.8003?0.4538?0.4324?0.8253?0.0835?0.1332?],設計一個RBF神經網絡,完成y=f(x)y=f(x)y=f(x)。
% 創建、訓練、存儲RBF神經網絡 clear all; % 清除所有內存變量 clc; % 清屏 p = -1:0.1:0.9; % 輸入向量 t = [0.0596 0.6820 0.0424 0.0714 0.5216 0.0967 0.8181 0.8175...0.7224 0.1499 0.6596 0.5186 0.9730 0.6490 0.8003 0.4538...0.4324 0.8253 0.0835 0.1332]; % 目標向量 net = newrb(p,t,0.01,0.01,20,3); % 設計徑向基網絡 save net61 net % 存儲訓練后的網絡a %% % RBF神經網絡仿真 load net61 net; % 加載訓練后的網絡 i = -1:0.05:0.9; % 測試樣本 r = sim(net,i); % 仿真結果 figure('NumberTitle','off','Name','RBF神經網絡案例一'); %修改窗口標題 hold on; plot(p,t,'k'); % 繪制訓練樣本圖形 plot(i,r,'o'); % 繪制函數擬合曲線 hold off;-  運行結果為:
 NEWRB, neurons = 0, MSE = 0.0963896
 NEWRB, neurons = 3, MSE = 0.0678653
 NEWRB, neurons = 6, MSE = 0.0420571
 NEWRB, neurons = 9, MSE = 0.0201837
 NEWRB, neurons = 12, MSE = 0.00555406
網絡訓練的誤差性能曲線和曲線擬合仿真結果如圖所示:
誤差性能曲線 曲線擬合仿真結果newrb()函數
newrb用于設計徑向基網絡
net = newrb(P,T,goal,spread,MN,DF)[net,tr] = newrb(P,T,goal,spread,MN,DF)- P:輸入向量組成的R×Q維矩陣
- T:目標分類向量組成的S×Q維矩陣
- goal:均方誤差,默認值為0
- spread:徑向基函數的擴展速度,默認值為1
- MN:神經元的最大數目,默認是Q
- DF:兩次顯示之間所添加的神經元數目,默認值為25
- net:返回值,一個徑向基網絡
- tr:返回值,訓練紀錄
newrb()函數設計的徑向基網絡net可用于函數逼近。
- 徑向基函數的擴展速度spread越大,函數的擬合就越平滑。但是,過大的spread意味著需要非常多的神經元以適應函數的快速變化。
- 如果spread設定過小,則意味著需要許多神經元來適應函數的緩慢變化,這樣一來,設計的網絡性能就不會很好。
總結
以上是生活随笔為你收集整理的RBF神经网络——案例一的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 9篇前沿文章 | 一览肿瘤基因组及多组学
- 下一篇: PreferenceScreen 的使用
