⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 learnrbf.m

📁 此程序为训练RBF网权值的量子粒子群优化算法
💻 M
字号:
function [parameters,e]=learnrbf(P,T,t)

%本函数完成RBF网络的参数学习过程,过程中使用具有量子行为的粒子群算法(QPSO)

[m,n]=size(P);
maxsize=1;
popsize=100;
irangew_l=-5;
irangew_r=5;
para=unifrnd(irangew_l,irangew_r,popsize,m);
pbest=para;
MSET=zeros(1,popsize);
MSE=zeros(1,maxsize);


for i=1:popsize
   MSET(i)=mse(P,T,pbest(i,:),t);           %mse()为计算网络在训练集上产生均方误差的函数
end
g=find(MSET==min(MSET));
gbest=pbest(g,:);
mbest=sum(pbest)/popsize;
    
for time=1:maxsize;
    b=1.0-(time-1)/(maxsize-1)*0.5;
    for i=1:popsize;
        for d=1:m;
        a=unifrnd(0,1);
        p=a*pbest(i,d)+(1-a)*pbest(g,d);
        u=unifrnd(0,1);
        if unifrnd(0,1)>=0.5
            para(i,d)=p-b*abs(mbest(d)-para(i,d))*log(1/u);
        else
            para(i,d)=p+b*abs(mbest(d)-para(i,d))*log(1/u);  
        end
        end 
        if mse(P,T,para(i,:),t)<mse(P,T,pbest(i,:),t);
            pbest(i,:)=para(i,:);
        end  
    end
    
    for i=1:popsize
        MSET(i)=mse(P,T,pbest(i,:),t);           
    end
    g=find(MSET==min(MSET));
    if mse(P,T,pbest(g,:),t)<mse(P,T,gbest,t)
    gbest=pbest(g,:);
    end
    mbest=sum(pbest)/popsize;
    MSE(time)=mse(P,T,gbest,t);
end

parameters=gbest;
e=MSE;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -