资源简介

自己整理的bp-Adaboost-ga代码。matlab语言编写,可以作优化,做预测。

资源截图

代码片段和文件信息

%% 代码为基于BP_Adaboost的强预测器预测
%% 清空环境变量
clc
clear

%% 下载数据
load data1 input output

%从中随机选择1900组训练数据和100组测试数据
k=rand(12000);% rand函数产生由在(0 1)之间均匀分布的随机数组成的数组,1行 2000列向量。
[mn]=sort(k);% 对行向量k进行升序排列

%训练样本
input_train=input(n(1:1900):)‘; %取出input矩阵中的1900行 所有列的的数据,然后转置。
output_train=output(n(1:1900):)‘;

%测试样本
input_test=input(n(1901:2000):)‘;
output_test=output(n(1901:2000):)‘;

%样本权重
[mmnn]=size(input_train);%[2 1900]
D(1:)=ones(1nn)/nn;

%训练样本归一化
[inputninputps]=mapminmax(input_train);
[outputnoutputps]=mapminmax(output_train);

K=10;
% 循环开始
for i=1:K
    
    %弱预测器训练
    net=newff(inputnoutputn5);
    net.trainParam.epochs=30;
    net.trainParam.lr=0.1;
    net=train(netinputnoutputn);
    
    %弱预测器预测
    an1=sim(netinputn);
    BPoutput=mapminmax(‘reverse‘an1outputps);
    
    %预测误差
    erroryc(i:)=output_train-BPoutput;
    
    %测试数据预测
    inputn1=mapminmax(‘apply‘input_testinputps);
    an2=sim(netinputn1);
    test_simu(i:)=mapminmax(‘reverse‘an2outputps);
    
    %调整D值
    Error(i)=0;
    for j=1:nn
        if abs(erroryc(ij))>0.1  %较大误差
            Error(i)=Error(i)+D(ij);
            D(i+1j)=D(ij)*1.1;
        else
            D(i+1j)=D(ij);
        end
    end
    
    %计算弱预测器权重
    at(i)=0.5/exp(abs(Error(i))); % log((1-Error(i))/Error(i));
    
    %D值归一化
    D(i+1:)=D(i+1:)/sum(D(i+1:));
    
end

%% 强预测器预测
at=at/sum(at);%弱预测器权重归一化
output=at*test_simu;%强预测器预测
save data net inputps outputps %网络存储

%% 结果分析
error = output_test - output;%强预测期误差
%弱预测期误差
for i=1:10
    error1(i:)=test_simu(i:)-output;
end
RMSe=sqrt(sum(error.^2)/100)%均方根误差 

%误差比较
plot(abs(error)‘- *‘);
hold on
plot(mean(abs(error1))‘- or‘)
title(‘强预测器预测误差绝对值‘‘fontsize‘12)
xlabel(‘预测样本‘‘fontsize‘12)
ylabel(‘误差绝对值‘‘fontsize‘12)
legend(‘强预测器预测‘‘弱预测器预测‘)


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-04-20 09:52  BP-Adaboost\
     文件      660542  2018-04-08 19:16  BP-Adaboost\AdaBoost-based artificial neural network learning.pdf
     目录           0  2018-04-20 11:58  BP-Adaboost\BP_Adaboost-GA\
     文件        2134  2018-04-20 11:52  BP-Adaboost\BP_Adaboost-GA\Bp_Ada.m
     文件         420  2009-08-16 22:48  BP-Adaboost\BP_Adaboost-GA\Code.m
     文件        1556  2009-08-16 22:59  BP-Adaboost\BP_Adaboost-GA\Cross.m
     文件       47889  2018-04-20 11:52  BP-Adaboost\BP_Adaboost-GA\data.mat
     文件       46394  2009-09-09 07:36  BP-Adaboost\BP_Adaboost-GA\data1.mat
     文件         326  2018-04-20 10:42  BP-Adaboost\BP_Adaboost-GA\fun.m
     文件        2625  2018-04-20 11:43  BP-Adaboost\BP_Adaboost-GA\Genetic.m
     文件        1545  2009-08-16 23:05  BP-Adaboost\BP_Adaboost-GA\Mutation.m
     文件         823  2009-09-11 21:24  BP-Adaboost\BP_Adaboost-GA\Select.m
     文件         278  2009-12-26 21:26  BP-Adaboost\BP_Adaboost-GA\test.m
     目录           0  2018-04-12 15:29  BP-Adaboost\BP_Adaboost5\
     目录           0  2010-01-30 20:29  BP-Adaboost\BP_Adaboost5\案例5\
     文件        1833  2010-01-30 20:25  BP-Adaboost\BP_Adaboost5\案例5\Bp_Ada_Fore.m
     文件        2289  2010-01-30 20:24  BP-Adaboost\BP_Adaboost5\案例5\Bp_Ada_Sort.m
     文件       11820  2009-12-28 12:09  BP-Adaboost\BP_Adaboost5\案例5\data.mat
     文件       46394  2009-09-09 07:36  BP-Adaboost\BP_Adaboost5\案例5\data1.mat
     目录           0  2013-08-21 07:51  BP-Adaboost\chapter4\
     文件        3458  2018-04-20 10:47  BP-Adaboost\chapter4\BP.m
     文件         420  2009-08-16 22:48  BP-Adaboost\chapter4\Code.m
     文件        1556  2009-08-16 22:59  BP-Adaboost\chapter4\Cross.m
     文件         135  2010-07-25 11:14  BP-Adaboost\chapter4\data.m
     文件       93696  2018-04-20 10:52  BP-Adaboost\chapter4\data.mat
     文件       92540  2010-07-25 11:15  BP-Adaboost\chapter4\data1.mat
     文件         326  2009-09-15 09:36  BP-Adaboost\chapter4\fun.m
     文件        2653  2018-04-20 11:57  BP-Adaboost\chapter4\Genetic.m
     文件        1545  2009-08-16 23:05  BP-Adaboost\chapter4\Mutation.m
     文件         535  2009-09-11 15:36  BP-Adaboost\chapter4\net.mat
     文件         823  2009-09-11 21:24  BP-Adaboost\chapter4\Select.m
............此处省略20个文件信息

评论

共有 条评论