資源簡介
一個matlab寫的bp人工神經網絡程序,參數優化采用交叉驗證辦法
代碼片段和文件信息
%%?清空環境變量
clc
clear
tic
%%?訓練數據預測數據提取及歸一化
%下載輸入輸出數據
load?data?input?output
%從1到2000間隨機排序
k=rand(14000);
[mn]=sort(k);
%找出訓練數據和預測數據
input_train=input(n(1:3900):)‘;
output_train=output(n(1:3900):)‘;
input_test=input(n(3901:4000):)‘;
output_test=output(n(3901:4000):)‘;
%選連樣本輸入輸出數據歸一化
[inputninputps]=mapminmax(input_train);
[outputnoutputps]=mapminmax(output_train);
%%?BP網絡訓練
%?%初始化網絡結構
net=newff(inputnoutputn5);
net.trainParam.epochs=100;
net.trainParam.lr=0.1;
net.trainParam.goal=0.0000004;
%網絡訓練
net=train(netinputnoutputn);
%%?BP網絡預測
%預測數據歸一化
inputn_test=mapminmax(‘apply‘input_testinputps);
?
%網絡預測輸出
an=sim(netinputn_test);
?
%網絡輸出反歸一化
BPoutput=mapminmax(‘reverse‘anoutputps);
%%?結果分析
figure(1)
plot(BPoutput‘:og‘)
hold?on
plot(output_test‘-*‘);
legend(‘預測輸出‘‘期望輸
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1291??2009-12-19?09:05??bp?cross\BP.m
?????文件????????420??2009-08-16?22:48??bp?cross\Code.m
?????文件???????1556??2009-08-16?22:59??bp?cross\Cross.m
?????文件????????134??2009-09-11?15:31??bp?cross\data.m
?????文件??????94683??2009-12-19?16:59??bp?cross\data.mat
?????文件????????326??2009-09-15?09:36??bp?cross\fun.m
?????文件???????2694??2010-01-30?20:24??bp?cross\Genetic.m
?????文件???????1545??2009-08-16?23:05??bp?cross\Mutation.m
?????文件????????535??2009-09-11?15:36??bp?cross\net.mat
?????文件????????823??2009-09-11?21:24??bp?cross\Select.m
?????文件????????278??2009-12-26?21:25??bp?cross\test.asv
?????文件????????278??2009-12-26?21:26??bp?cross\test.m
?????目錄??????????0??2010-01-30?20:29??bp?cross
-----------?---------??----------?-----??----
???????????????104563????????????????????13
評論
共有 條評論