• 大小: 34KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: Matlab
  • 标签: 回归预测  

资源简介

PSO-ELM粒子群优化的极限学习机,通过调节参数拟合效果很好,便于大家使用,为学者和科研人员提供基础和思路

资源截图

代码片段和文件信息


clc
clear all

%% 加载数据
load matlab3.mat
AllSamIn = data_train‘;
AllSamOut =lab_train‘;
AllTestIn=data_test‘;
AllTestOut=lab_test‘;

%% 训练样本归一化
global minAllSamOut;  
global maxAllSamOut; 
[AllSamInnminAllSamInmaxAllSamInAllSamOutnminAllSamOutmaxAllSamOut] = premnmx(AllSamInAllSamOut);
TrainSamIn=AllSamInn; 
TrainSamOut=AllSamOutn;
global Ptrain;
Ptrain = TrainSamIn;   
global Ttrain;
Ttrain = TrainSamOut;  

%% 测试样本归一化
global minAllTestOut;  
global maxAllTestOut; 
[AllTestInnminAllTestInmaxAllTestInAllTestOutnminAllTestOutmaxAllTestOut] = premnmx(AllTestInAllTestOut);
TestIn=AllTestInn; 
TestOut=AllTestOutn;
global Ptest;
Ptest = TestIn; 
global Ttest;
Ttest = TestOut; 

%% 加载网络的初始变量
global indim; 
indim=6;
global hiddennum;
hiddennum=8;
global outdim;
outdim=1;


%% 加载PSO模型的相关参数
vmax=1; 
minerr=0.001; 
wmax=0.80; 
wmin=0.40; 
global itmax; 
itmax=100;
c1=2.8; 
c2=1.3; 
for iter=1:itmax
    W(iter)=wmax-((wmax-wmin)/itmax)*iter; 
end
a=-1;
b=1;
m=-1;
n=1;
global N; 
N=100;
global D; 
D=(indim+1)*hiddennum+(hiddennum+1)*outdim; 
rand(‘state‘sum(100*clock));
X=a+(b-a)*rand(ND1);
V=m+(n-m)*rand(ND1);
global fvrec;
MinFit=[];
BestFit=[];

%% PSO优化ELM模型 过程 1
fitness=fitcal(XindimhiddennumoutdimDPtrainTtrainminAllSamOutmaxAllSamOut); 
fvrec(:11)=fitness(:11);
[CI]=min(fitness(:11)); 
MinFit=[MinFit C];  
BestFit=[BestFit C]; 
L(:11)=fitness(:11); 
B(111)=C; 
gbest(1:1)=X(I:1); 

for p=1:N
    G(p:1)=gbest(1:1); 
end

for i=1:N;
    pbest(i:1)=X(i:1); 
end
V(::2)=W(1)*V(::1)+c1*rand*(pbest(::1)-X(::1))+c2*rand*(G(::1)-X(::1));

for ni=1:N
    for di=1:D
        if V(nidi2) > vmax
            V(nidi2) = vmax;
        elseif V(nidi2) < -vmax
            V(nidi2) = -vmax;
        else
            V(nidi2) = V(nidi2);
        end
    end
end

X(::2)=X(::1)+V(::2);

for ni=1:N
    for di=1:D
        if X(nidi2) > 1
            X(nidi2) = 1;
        elseif V(nidi2) < -1
            X(nidi2) = -1;
        else
            X(nidi2) = X(nidi2);
        end
    end
end


%%  PSO优化ELM模型 过程 2
for j=2:itmax
    disp(‘Iteration and Current Best Fitness‘)
    disp(j-1)
    disp(B(11j-1))
    fitness=fitcal(XindimhiddennumoutdimDPtrainTtrainminAllSamOutmaxAllSamOut); 
    fvrec(:1j)=fitness(:1j); 
    [CI]=min(fitness(:1j));
    MinFit=[MinFit C]; 
    BestFit=[BestFit min(MinFit)]; 
    L(:1j)=fitness(:1j); 
    B(11j)=C; 
    gbest(1:j)=X(I:j);
    [CI]=min(B(11:));
    
    if B(11j)<=C
        gbest(1:j)=gbest(1:j);
    else
        gbest(1:j)=gbest(1:I);
    end
    if C<=minerr break end

    if j>=itmax break end
    for p=1:N
        G(p:j)=gbest(1:j);
    end
    for i=1:N;
        [CI]=min(L(i1:));
        if L(i1j)<=C
            pbest(i:j)=X(i:j);
        else
     

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        7694  2017-09-14 14:05  PSO_ELM\Adaboost_PSO_ELM.m
     文件         179  2016-05-15 10:52  PSO_ELM\ELMfun.m
     文件         223  2016-05-15 10:52  PSO_ELM\ELMfun2.m
     文件         232  2016-05-15 10:52  PSO_ELM\ELMfun3.m
     文件        1376  2016-05-15 10:51  PSO_ELM\elmpredict.m
     文件        1830  2016-05-15 10:51  PSO_ELM\elmtrain.m
     文件        1766  2016-05-15 10:50  PSO_ELM\elmtrain2.m
     文件         600  2016-05-15 10:50  PSO_ELM\fitcal.m
     文件       26680  2017-09-15 20:34  PSO_ELM\gaopin.xlsx
     文件        6328  2017-09-15 21:01  PSO_ELM\PSO_ELM.asv
     文件        6328  2017-09-15 21:05  PSO_ELM\PSO_ELM.m

评论

共有 条评论