資源簡介
RBF、GRNN和PNN神經網絡案例matlab參考程序,包括詳細的代碼資料和講解注釋

代碼片段和文件信息
%%?I.?清空環境變量
clear?all
clc
%%?II.?訓練集/測試集產生
%%
%?1.?導入數據
load?iris_data.mat
%%
%?2?隨機產生訓練集和測試集
P_train?=?[];
T_train?=?[];
P_test?=?[];
T_test?=?[];
for?i?=?1:3
????temp_input?=?features((i-1)*50+1:i*50:);
????temp_output?=?classes((i-1)*50+1:i*50:);
????n?=?randperm(50);
????%?訓練集——120個樣本
????P_train?=?[P_train?temp_input(n(1:40):)‘];
????T_train?=?[T_train?temp_output(n(1:40):)‘];
????%?測試集——30個樣本
????P_test?=?[P_test?temp_input(n(41:50):)‘];
????T_test?=?[T_test?temp_output(n(41:50):)‘];
end
%%?III.?模型建立?
result_grnn?=?[];
result_pnn?=?[];
time_grnn?=?[];
time_pnn?=?[];
for?i?=?1:4?????????????%兩個FOR??取出4個特征的總共十種自由組合
????for?j?=?i:4
????????%12???????13???????14??????????23??????????24??????????34??????????123????????124??????????1234??????????234
????????p_train?=?P_train(i:j:);
????????p_test?=?P_test(i:j:);
???????%%?
????????%?1.?GRNN創建及仿真測試
????????t?=?cputime;?????%開始計時
????????%?創建網絡
????????net_grnn?=?newgrnn(p_trainT_train);
????????%?仿真測試
????????t_sim_grnn?=?sim(net_grnnp_test);
????????T_sim_grnn?=?round(t_sim_grnn);???????%取整??操作
????????t?=?cputime?-?t;?????%得到這段代碼運行的時間
????????time_grnn?=?[time_grnn?t];
????????result_grnn?=?[result_grnn?T_sim_grnn‘];
???????%%
????????%?2.?PNN創建及仿真測試
????????t?=?cputime;
????????Tc_train?=?ind2vec(T_train);
????????%?創建網絡
????????net_pnn?=?newpnn(p_trainTc_train);
????????%?仿真測試
????????Tc_test?=?ind2vec(T_test);?????%轉換成稀疏矩陣
????????t_sim_pnn?=?sim(net_pnnp_test);
????????T_sim_pnn?=?vec2ind(t_sim_pnn);
????????t?=?cputime?-?t;
????????time_pnn?=?[time_pnn?t];
????????result_pnn?=?[result_pnn?T_sim_pnn‘];
????end
end
%%?IV.?性能評價
%%
%?1.?正確率accuracy
accuracy_grnn?=?[];
accuracy_pnn?=?[];
time?=?[];
for?i?=?1:10
????accuracy_1?=?length(find(result_grnn(:i)?==?T_test‘))/length(T_test);
????accuracy_2?=?length(find(result_pnn(:i)?==?T_test‘))/length(T_test);
????accuracy_grnn?=?[accuracy_grnn?accuracy_1];
????accuracy_pnn?=?[accuracy_pnn?accuracy_2];
end
%%
%?2.?結果對比
result?=?[T_test‘?result_grnn?result_pnn]
accuracy?=?[accuracy_grnn;accuracy_pnn]
time?=?[time_grnn;time_pnn]
%%?V.?繪圖
figure(1)
plot(1:30T_test‘bo‘1:30result_grnn(:4)‘r-*‘1:30result_pnn(:4)‘k:^‘)
grid?on
xlabel(‘測試集樣本編號‘)
ylabel(‘測試集樣本類別‘)
string?=?{‘測試集預測結果對比(GRNN?vs?PNN)‘;[‘正確率:‘?num2str(accuracy_grnn(4)*100)?‘%(GRNN)?vs?‘?num2str(accuracy_pnn(4)*100)?‘%(PNN)‘]};
title(string)
legend(‘真實值‘‘GRNN預測值‘‘PNN預測值‘)
figure(2)
plot(1:10accuracy(1:)‘r-*‘1:10accuracy(2:)‘b:o‘)
grid?on
xlabel(‘模型編號‘)
ylabel(‘測試集正確率‘)
title(‘10個模型的測試集正確率對比(GRNN?vs?PNN)‘)
legend(‘GRNN‘‘PNN‘)
figure(3)
plot(1:10time(1:)‘r-*‘1:10time(2:)‘b:o‘)
grid?on
xlabel(‘模型編號‘)
ylabel(‘運行時間(s)‘)
title(‘10個模型的運行時間對比(GRNN?vs?PNN)‘)
legend(‘GRNN‘‘PNN‘)
%看一下????edit?newgrnn???97hang???????edit?newpnn????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1105??2010-10-17?14:51??9???RBF、GRNN和PNN神經網絡案例參考程序\iris_data.mat
?????文件????????3099??2017-08-29?20:05??9???RBF、GRNN和PNN神經網絡案例參考程序\main_GRNN_PNN.m
?????文件????????1436??2019-10-13?15:38??9???RBF、GRNN和PNN神經網絡案例參考程序\main_RBF.m
?????文件???????????0??2017-08-29?20:08??9???RBF、GRNN和PNN神經網絡案例參考程序\newgnn.m
?????文件???????????0??2017-08-29?18:03??9???RBF、GRNN和PNN神經網絡案例參考程序\newrbf.m
?????文件??????171497??2010-10-14?20:24??9???RBF、GRNN和PNN神經網絡案例參考程序\spectra_data.mat
?????目錄???????????0??2018-03-21?12:13??9???RBF、GRNN和PNN神經網絡案例參考程序\
評論
共有 條評論