• 大小: 4KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-04-29
  • 语言: Matlab
  • 标签: PSO  RBF  神经网络  

资源简介

基于粒子群优化径向基神经网络参数的程序

资源截图

代码片段和文件信息

%计算个体误差和函数
function [pBsJ] = fitness(pBsJ)

global t_data;
global p_data;
global cha1;
global cha3;

ts = 0.001;
alfa = 0.05;
xite = 0.85;
IN=t_data‘;
OUT=cha1(:3)‘;%Z轴数据
    %预测数据
    TestSamIn=p_data‘;
    TestSamOut=cha3(:3)‘;

[mn]=size(IN);

for i = 1:5               %初始化隐层宽度B的范围 
    b(i)= p(i);
end

k=10;
for i =1:11    %初始化隐层中心C的范围 
    for j=1:5
        c(ij)= p(k);
        k=k+1;
    end
end
for i = 61:65   %初始化输出权值W的范围 
    w(i-60)= p(i);
end

w_1 = w;
w_2 = w_1;
c_1 = c;
c_2 = c_1;
b_1 = b;
b_2 = b_1;


for k = 1:1:n
    timef(k) = k*ts;
       
    x=IN(:k);
    y(k)=OUT(k);

    for j = 1:1:5
        h(j) = exp(-norm(x - c(:j))^2/(2*b(j)*b(j)));
    end
    ym(k) = w_1*h‘;
    
    e(k) = y(k) - ym(k);
    
    d_w = 0*w;d_b = 0*b;d_c = 0*c;
    for j = 1:1:5
        d_w(j) = xite*e(k)*h(j);
        d_b(j) = xite*e(k)*w(j)*h(j)*(b(j)^-3)*norm(x-c(:j))^2;
        for i = 1:1:11
            d_c(ij) = xite*e(k)*w(j)*h(j)*(x(i) - c(ij))*(b(j)^(-2));
        end
    end
    
    w = w_1 + d_w + alfa*(w_1 - w_2);
    b = b_1 + d_b + alfa*(b_1 - b_2);
    c = c_1 + d_c + alfa*(c_1 - c_2);
    
    w_2 = w_1;
    w_1 = w;
    
    c_2 = c_1;
    c_1 = c;
    
    b_2 = b_1;
    b_1 = b;
end

B = 0;
for i = 1:1:n
    Ji(i) = abs(e(i));
    B = B + 100*Ji(i);
end
BsJ = B;
    
    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        8576  2012-08-05 22:30  PSO-RBF-5\PSO-RBF.m
     文件        1448  2012-08-04 09:05  PSO-RBF-5\fitness-5.m
     目录           0  2012-08-05 23:54  PSO-RBF-5\

评论

共有 条评论