91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 0.02M
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-06
  • 語言: 其他
  • 標(biāo)簽: 其他??

資源簡介

遺傳算法優(yōu)化bp神經(jīng)網(wǎng)絡(luò).zip

資源截圖

代碼片段和文件信息

%%?此程序為BP神經(jīng)網(wǎng)絡(luò)和基于遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)預(yù)測效果對比
%?清空環(huán)境變量
clearclose?all
clc
warning?off

%%?讀取數(shù)據(jù)
data=xlsread(‘?dāng)?shù)據(jù).xlsx‘);
input=data(:1:end-1);
output=data(:end);

%%?設(shè)置訓(xùn)練數(shù)據(jù)和預(yù)測數(shù)據(jù)
L=length(output);??%總樣本個數(shù)
num=150;?????????%設(shè)置訓(xùn)練樣本個數(shù)

input_train?=?input(1:num:)‘;
output_train?=?output(1:num:)‘;
input_test?=?input(num+1:end:)‘;
output_test?=?output(num+1:end:)‘;

disp([‘訓(xùn)練樣本數(shù)‘num2str(num)])
disp([‘測試樣本數(shù)‘num2str(L-num)])

%%?數(shù)據(jù)歸一化
[inputninputps]=mapminmax(input_train);%歸一化到[-11]之間,inputps用來作下一次同樣的歸一化
[outputnoutputps]=mapminmax(output_train);
inputn_test=mapminmax(‘a(chǎn)pply‘input_testinputps);%?對測試樣本數(shù)據(jù)進(jìn)行歸一化

%%?節(jié)點個數(shù)
inputnum=size(input_train1);???????%輸入層節(jié)點個數(shù)
outputnum=size(output_train1);??????%輸出層節(jié)點個數(shù)
hiddennum=10;

%%?構(gòu)建BP神經(jīng)網(wǎng)絡(luò)
disp(‘?‘)
disp(‘標(biāo)準(zhǔn)的BP神經(jīng)網(wǎng)絡(luò):‘)
net0=newff(inputnoutputnhiddennum{‘tansig‘‘purelin‘}‘trainlm‘‘learngdm‘);%?建立模型

%網(wǎng)絡(luò)參數(shù)配置
net0.trainParam.epochs=1000;?????????%?訓(xùn)練次數(shù),這里設(shè)置為1000次
net0.trainParam.lr=0.01;???????????????????%?學(xué)習(xí)速率,這里設(shè)置為0.01
net0.trainParam.goal=0.00001;????????????????????%?訓(xùn)練目標(biāo)最小誤差,這里設(shè)置為0.0001
net0.trainParam.show=25;????????????????%?顯示頻率,這里設(shè)置為每訓(xùn)練25次顯示一次
net0.trainParam.mc=0.01;?????????????????%?動量因子
net0.trainParam.min_grad=1e-6;???????%?最小性能梯度
net0.trainParam.max_fail=6;???????????????%?最高失敗次數(shù)

%開始訓(xùn)練
[net0tr0]=train(net0inputnoutputn);
figure
plotperform(tr0)???%訓(xùn)練集的誤差曲線
%預(yù)測
an0=sim(net0inputn_test);?%用訓(xùn)練好的模型進(jìn)行仿真

%預(yù)測結(jié)果反歸一化與誤差計算
test_simu0=mapminmax(‘reverse‘a(chǎn)n0outputps);?%把仿真得到的數(shù)據(jù)還原為原始的數(shù)量級
%誤差指標(biāo)
[mae0mse0rmse0mape0error0errorPercent0]=calc_error(output_testtest_simu0);

%%?遺傳算法尋最優(yōu)權(quán)值閾值
disp(‘?‘)
disp(‘GA優(yōu)化BP神經(jīng)網(wǎng)絡(luò):‘)
net=newff(inputnoutputnhiddennum{‘tansig‘‘purelin‘}‘trainlm‘‘learngdm‘);%?建立模型

%網(wǎng)絡(luò)參數(shù)配置
net.trainParam.epochs=1000;?????????%?訓(xùn)練次數(shù),這里設(shè)置為1000次
net.trainParam.lr=0.01;???????????????????%?學(xué)習(xí)速率,這里設(shè)置為0.01
net.trainParam.goal=0.00001;????????????????????%?訓(xùn)練目標(biāo)最小誤差,這里設(shè)置為0.0001
net.trainParam.show=25;????????????????%?顯示頻率,這里設(shè)置為每訓(xùn)練25次顯示一次
net.trainParam.mc=0.01;?????????????????%?動量因子
net.trainParam.min_grad=1e-6;???????%?最小性能梯度
net.trainParam.max_fail=6;???????????????%?最高失敗次數(shù)

save?data?inputnum?hiddennum?outputnum?net?inputn?outputn??inputn_test?outputps?output_test


%初始化ga參數(shù)
PopulationSize_Data=10;???%初始種群規(guī)模
MaxGenerations_Data=30;???%最大進(jìn)化代數(shù)
CrossoverFraction_Data=0.8;??%交叉概率
MigrationFraction_Data=0.2;???%變異概率
nvars=inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum;????%自變量個數(shù)
lb=repmat(-3nvars1);????%自變量下限
ub=repmat(3nvars1);???%自變量上限

%調(diào)用遺傳算法函數(shù)
options?=?optimoptions(‘ga‘);
options?=?optimoptions(options‘PopulationSize‘?PopulationSize_Data);
options?=?optimoptions(options‘CrossoverFraction‘?CrossoverFraction_Data);
options?=?optimoptions(options‘MigrationFraction‘?MigrationFraction_Data);
options?=?optimoptions(options‘MaxGenerations‘?MaxGenerations_Data);
options?=?optimoptions(options‘SelectionFcn‘?@selectionroulette);???%輪盤賭選擇
options?=?optimoptions(options

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????564??2020-09-02?01:32??遺傳算法優(yōu)化bp神經(jīng)網(wǎng)絡(luò)\calc_error.p
?????文件?????????402??2020-09-02?01:32??遺傳算法優(yōu)化bp神經(jīng)網(wǎng)絡(luò)\fitness.p
?????文件????????5367??2020-09-02?01:29??遺傳算法優(yōu)化bp神經(jīng)網(wǎng)絡(luò)\main.m
?????文件???????17448??2020-09-02?01:28??遺傳算法優(yōu)化bp神經(jīng)網(wǎng)絡(luò)\數(shù)據(jù).xlsx

評論

共有 條評論