資源簡介
遺傳算法與徑向基神經網絡結合代碼,有需要的自行下載,很好用的
代碼片段和文件信息
%GA_RBF
%提取最大值+按樣本歸一化(按行)+RBF
load?original_data;
global?Scaled_Xtrain?Scaled_Xtest?Ytrain??net?tr?testPrediction?testClassPrediction?testClass?ttest?result?accuracy?;
%曲線平滑
for?m=1:4;
????for?n=1:20;
??????for?k=2:21;
????smooth_data{m}{n}(:1)=original_data{m}{n}(:1)./1000;%時間單位轉化為秒
????smooth_data{m}{n}(:k)=smooth(original_data{m}{n}(:k));%5點滑動平均
??????end
????end
end
%去掉4ETO和GSBT11數據,以及溫濕壓傳感器數據
for?m=1:4
????for?n=1:20
????????sensor_data{m}{n}(:1)=smooth_data{m}{n}(:1);
????????sensor_data{m}{n}(:2:16)=smooth_data{m}{n}(:[23468101214:21]);??
????end
end
%提取最大值+按樣本歸一化(按行)+RBF
for?m=1:4
????for?n=1:20
????????sensor_maxvalue((m-1)*20+n:)=max(sensor_data{m}{n}(:2:16));%最大值
????????sensor_baseline((m-1)*20+n:)=min(sensor_data{m}{n}(:2:16));%基線值
????end
end
%訓練樣本和測試樣本
Xtrain=sensor_maxvalue(1:2:80:);
Xtest=sensor_maxvalue(2:2:80:);
[Scaled_Xtrainps]=mapminmax(Xtrain01);
[Scaled_Xtestps]=mapminmax(Xtest01);
Ytrain=[1?0?0?0;1?0?0?0;1?0?0?0;1?0?0?0;1?0?0?0;1?0?0?0;1?0?0?0;1?0?0?0;1?0?0?0;1?0?0?0;
????????0?1?0?0;0?1?0?0;0?1?0?0;0?1?0?0;0?1?0?0;0?1?0?0;0?1?0?0;0?1?0?0;0?1?0?0;0?1?0?0;
????????0?0?1?0;0?0?1?0;0?0?1?0;0?0?1?0;0?0?1?0;0?0?1?0;0?0?1?0;0?0?1?0;0?0?1?0;0?0?1?0;
????????0?0?0?1;0?0?0?1;0?0?0?1;0?0?0?1;0?0?0?1;0?0?0?1;0?0?0?1;0?0?0?1;0?0?0?1;0?0?0?1];
????
MAXGEN?=?200;?????????????%最大遺傳代數
NIND?=?20;????????????????%遺傳算法中的種群大小
NVAR?=?2;?????????????????%變量數目
TolFun=1e-09;%遺傳算法中的停止條件之一(Function?Tolerance);
Numtrain=40;?%訓練樣本數
Numtest=40;?%測試樣本數
SensoeNum=15;??%傳感器的總個數
%GA_LSSVM.m
%使用遺傳算法對SVM的懲罰參數和核參數進行優化,再用SVM訓練
%--------------------------------------------------------------------------
%-------------------------------------
Initrange=[0.0001?0.1;0.1?20];
options=gaoptimset(‘Generations‘MAXGEN‘TolFun‘TolFun?‘SelectionFcn‘@selectionstochunif‘CrossoverFcn‘@crossoverintermediate...
‘PopulationSize‘NIND‘EliteCount‘2‘PopInitRange‘Initrange‘MutationFcn‘{@mutationuniform0.1}...
‘PlotFcns‘{@gaplotbestf@gaplotbestindiv@gaplotdistance@gaplotgenealogy@gaplotrange@gaplotscorediversity...
@gaplotscores?@gaplotselection}‘CrossoverFraction‘0.8‘StallGenLimit‘100‘HybridFcn‘@fmincon);
[xfvalexitflag]=ga(@yanjiafitness_RBF2[][][][][0.0001;0.1][0.1;20][]options);
best_eg=x(1);
best_sc=x(2);
%用最優參數進行分類
[nettr]=newrb(Scaled_Xtrain‘Ytrain‘best_egbest_sc405);
%輸入測試樣本進行定性分析
testPrediction=sim(netScaled_Xtest‘);
testClassPrediction=compet(testPrediction);
testClass=vec2ind(testClassPrediction);
ttest=vec2ind(compet(Ytrain‘));
result=0;%統計判別正確率
for?sample_count=1:40
????if?testClass(sample_count)==ttest(sample_count)
????????result=result+1;
????end
??
end
result
accuracy=result./40
%%
%————————————————————————————————————————————————————
%————————————————————————————————————————————————————
%————————————————————————————————————————————————————
%分數差分+提取最大值+RBF
load?original_data;
global?Sc
評論
共有 條評論