• 大小: 3KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: 其他
  • 标签: RBF  GA  

资源简介

GA优化后的RBF神经网络,带有数据可以仿真。比较测试未用GA算法优化的RBF网络和用GA算法优化的RBF网络逼近能力。利用GA算法来优化RBF网络中的各种权值。

资源截图

代码片段和文件信息

clear all
close all

G = 15;
Size = 30;
CodeL = 10;

for i = 1:3
    MinX(i) = 0.1*ones(1);
    MaxX(i) = 3*ones(1);
end
for i = 4:1:9
    MinX(i) = -3*ones(1);
    MaxX(i) = 3*ones(1);
end
for i = 10:1:12
    MinX(i) = -ones(1);
    MaxX(i) = ones(1);
end

E = round(rand(Size12*CodeL));  %Initial Code!

BsJ = 0;

for kg = 1:1:G
    time(kg) = kg
    
    for s = 1:1:Size
        m = E(s:);
        
        for j = 1:1:12
            y(j) = 0;
            
            mj = m((j-1)*CodeL + 1:1:j*CodeL);
            for i = 1:1:CodeL
                y(j) = y(j) + mj(i)*2^(i-1);
            end
            f(sj) = (MaxX(j) - MinX(j))*y(j)/1023 + MinX(j);
        end
        
        % ************Step 1:Evaluate BestJ *******************
        p = f(s:);
        
        [pBsJ] = RBF(pBsJ);
        
        BsJi(s) = BsJ;
    end
    
    [OderJiIndexJi] = sort(BsJi);
    BestJ(kg) = OderJi(1);
    BJ = BestJ(kg);
    Ji = BsJi+1e-10;
    
    fi = 1./Ji;
    [OderfiIndexfi] = sort(fi);
    Bestfi = Oderfi(Size);
    BestS = E(Indexfi(Size):);
    
    % ***************Step 2:Select and Reproduct Operation*********
    fi_sum = sum(fi);
    fi_Size = (Oderfi/fi_sum)*Size;
    
    fi_S = floor(fi_Size);
    
    kk = 1;
    for i = 1:1:Size
        for j = 1:1:fi_S(i)
            TempE(kk:) = E(Indexfi(i):);
            kk = kk + 1;
        end
    end
    
    % ****************Step 3:Crossover Operation*******************
    pc = 0.60;
    n = ceil(20*rand);
    for i = 1:2:(Size - 1)
        temp = rand;
        if pc>temp
            for j = n:1:20
                TempE(ij) = E(i+1j);
                TempE(i+1j) = E(ij);
            end
        end
    end
        TempE(Size:) = BestS;
        E = TempE;
        
     %*****************Step 4:Mutation Operation*********************
     pm = 0.001 - [1:1:Size]*(0.001)/Size;
     for i = 1:1:Size
         for j = 1:1:12*CodeL
             temp = rand;
             if pm>temp
                 if TempE(ij) == 0
                     TempE(ij) = 1;
                 else
                     TempE(ij) = 0;
                 end
             end
         end
     end
     
     %Guarantee TempE(Size:) belong to the best individual
     TempE(Size:) = BestS;
     E = TempE;
     %********************************************************************
 end

 
 Bestfi
 BestS
 fi
 Best_J = BestJ(G)
 figure(1);
 plot(timeBestJ);
 xlabel(‘Times‘);ylabel(‘BestJ‘);
 save pfile p;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2481  2018-11-09 19:59  GA优化后的RBF神经网络\GA.m

     文件        276  2018-11-09 19:44  GA优化后的RBF神经网络\pfile.mat

     文件       1179  2018-11-09 19:59  GA优化后的RBF神经网络\RBF.m

     文件       1209  2018-11-09 19:59  GA优化后的RBF神经网络\Test.m

     目录          0  2018-11-09 19:45  GA优化后的RBF神经网络

----------- ---------  ---------- -----  ----

                 5145                    5


评论

共有 条评论