資源簡介
GA遺傳算法和ELM極限學習機相結合的Matlab仿真代碼,是一個matlab工程,希望可以幫助到你,助你一臂之力

代碼片段和文件信息
clc
%%?不使用遺傳算法
%?訓練集
[PtraininFP]?=?mapminmax(P);
Ptest?=?mapminmax(‘apply‘P_testinFP);
%?測試集
[TtrainoutFP]?=?mapminmax(T);
Ttest?=?mapminmax(‘apply‘T_testoutFP);
%%?ELM?訓練
%?創建ELM網絡
[IWBLWTFTYPE]?=?elmtrain2(PtrainTtrain30‘sig‘0);
%%?測試網絡
disp([‘1、使用隨機權值和閾值?‘])
disp(‘測試樣本預測結果:‘)
%?ELM仿真測試
T_test_sim1?=?elmpredict(PtestIWBLWTFTYPE);
T_train_sim1?=?elmpredict(PIWBLWTFTYPE);
%?反歸一化
Y11?=?mapminmax(‘reverse‘T_test_sim1outFP);
%?Y12?=?mapminmax(‘reverse‘T_train_sim1outFP);
err1=norm(Y11-T_test);?????%測試樣本的仿真誤差
%?err11=norm(Y12-T);?%訓練樣本的仿真誤差
disp([‘測試樣本的仿真誤差:‘num2str(err1)])
%?disp([‘訓練樣本的仿真誤差:‘num2str(err11)])
%%?使用遺傳算法
%%?使用優化后的權值和閾值
nputnum=size(P1);???????%?輸入層神經元個數?
outputnum=size(T1);??????%?輸出層神經元個數
%?訓練集歸一化
[PtraininFP]?=?mapminmax(P);
Ptest?=?mapminmax(‘apply‘P_testinFP);
%?測試集歸一化
[TtrainoutFP]?=?mapminmax(T);
Ttest?=?mapminmax(‘apply‘T_testoutFP);
%%?elm初始權值和閾值
w1num=inputnum*hiddennum;?%?輸入層到隱層的權值個數
w1=bestX(1:w1num);???%初始輸入層到隱層的權值
B1=bestX(w1num+1:w1num+hiddennum);??%初始隱層閾值
IW1=reshape(w1hiddennuminputnum);
IB1=reshape(B1hiddennum1);
%%?創建ELM網絡
[LWTFTYPE]?=?elmtrain(PtrainTtrainhiddennum‘sig‘0IW1IB1);
%%?測試網絡
disp([‘2、使用優化后的權值和閾值‘])
disp(‘測試樣本預測結果:‘)
%?ELM仿真測試
T_test_sim2?=?elmpredict(PtestIW1IB1LWTFTYPE);
T_train_sim2?=?elmpredict(PIW1IB1LWTFTYPE);
%?反歸一化
Y21?=?mapminmax(‘reverse‘T_test_sim2outFP);?%?輸出測試樣本
%?Y22?=?mapminmax(‘reverse‘T_train_sim2outFP);?%?輸出訓練樣本
err2=norm(Y21-T_test);
%?err21=norm(Y22-T);
disp([‘測試樣本的仿真誤差:‘num2str(err2)])
%?disp([‘訓練樣本的仿真誤差:‘num2str(err21)])
%%?結果對比?分三個指標進行結果對比?
result?=?[T_test‘?Y21‘];
N?=?length(T_test);
%?三大評價因子?:?有效拋擲率???
%?有效拋擲率
rate0?=?T_test(1:);
rate1?=?Y11(1:);
rate2?=?Y21(1:);
%?松散系數
loose0?=?T_test(2:);?
loose1?=?Y11(2:);
loose2?=?Y21(2:);
%?安全距離
distance0?=??T_test(3:);
distance1?=?Y11(3:);
distance2?=?Y21(3:);
%?均方誤差??abs(參數1-參數2).^2/樣本數
Er1?=?mse(rate1-rate0);?
Er2?=?mse(rate2-rate0);
El1?=?mse(loose1-loose0);?
El2?=?mse(loose2-loose0);
Ed1?=?mse(distance1-distance0);?
Ed2?=?mse(distance2-distance0);
%?各評價因子?決定系數
Rr1=(N*sum(rate1.*rate0)-sum(rate1)*sum(rate0))^2/((N*sum((rate1).^2)-(sum(rate1))^2)*(N*sum((rate0).^2)-(sum(rate0))^2));?
Rr2=(N*sum(rate2.*rate0)-sum(rate2)*sum(rate0))^2/((N*sum((rate2).^2)-(sum(rate2))^2)*(N*sum((rate0).^2)-(sum(rate0))^2));?
Rl1=(N*sum(loose1.*loose0)-sum(loose1)*sum(loose0))^2/((N*sum((loose1).^2)-(sum(loose1))^2)*(N*sum((loose0).^2)-(sum(loose0))^2));?
Rl2=(N*sum(loose2.*loose0)-sum(loose2)*sum(loose0))^2/((N*sum((loose2).^2)-(sum(loose2))^2)*(N*sum((loose0).^2)-(sum(loose0))^2));?
Rd1=(N*sum(distance1.*distance0)-sum(distance1)*sum(distance0))^2/((N*sum((distance1).^2)-(sum(distance1))^2)*(N*sum((distance0).^2)-(sum(distance0))^2));?
Rd2=(N*sum(distance2.*distance0)-sum(distance2)*sum(distance0))^2/((N*sum((distance2).^2)-(sum(distance2))^2)*(N*sum((distance0).^2)-(sum(distance0)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????6400??2016-04-25?00:27??GA-ELM\GA-ELM_2?v2.0\callELMfun.m
?????文件????????806??2016-04-25?00:00??GA-ELM\GA-ELM_2?v2.0\data.mat
?????文件???????1421??2016-04-24?19:13??GA-ELM\GA-ELM_2?v2.0\ELMfun.m
?????文件???????1640??2016-04-09?17:56??GA-ELM\GA-ELM_2?v2.0\elmpredict.m
?????文件???????2506??2016-04-24?10:10??GA-ELM\GA-ELM_2?v2.0\elmtrain.m
?????文件???????2395??2016-04-09?17:48??GA-ELM\GA-ELM_2?v2.0\elmtrain2.m
?????文件???????1094??2016-04-24?18:36??GA-ELM\GA-ELM_2?v2.0\GAELMdata.mat
?????文件???????2566??2016-04-26?16:51??GA-ELM\GA-ELM_2?v2.0\GAELMMain.m
?????文件????????447??2016-04-24?10:30??GA-ELM\GA-ELM_2?v2.0\Objfun.m
?????目錄??????????0??2020-06-19?15:45??GA-ELM\GA-ELM_2?v2.0
?????目錄??????????0??2020-06-19?15:45??GA-ELM
-----------?---------??----------?-----??----
????????????????19275????????????????????11
- 上一篇:GA+SVM的MATLAB程序
- 下一篇:電機pwm仿真模型
評論
共有 條評論