91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-24
  • 語言: Matlab
  • 標(biāo)簽: pso??BP??MATLAB??

資源簡介

粒子群算法PSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的MATLAB代碼

資源截圖

代碼片段和文件信息

function?psobp?
%?BP?neural?network?trained?by?PSO?algorithm
%?Copyright?by?Deng?Da-Peng?@?2005
%?Email:?rexdeng@163.com
%?You?can?change?and?distribute?this?code?freely?for?academic?usage
%?Business?usage?is?strictly?prohibited
clc
clear?all

AllSamIn=...;?%?Add?your?all?input?data
AllSamOut-...;?%?Add?your?all?output?data?

%?Pre-processing?data?with?premnmx?you?can?use?other?functions
global?minAllSamOut;
global?maxAllSamOut;
[AllSamInnminAllSamInmaxAllSamInAllSamOutnminAllSamOutmaxAllSamOut]?=?premnmx(AllSamInAllSamOut);
%?draw?10?percent?from?all?samples?as?testing?samples,the?rest?as?training?samples
i=[10:10:1000];
TestSamIn=[];
TestSamOut=[];
for?j=1:100
TestSamIn=[TestSamInAllSamInn(:i(j))];?
TestSamOut=[TestSamOutAllSamOutn(:i(j))];
end
TargetOfTestSam=...;?%?add?reall?output?of?testing?samples
TrainSamIn=AllSamInn;
TrainSamOut=AllSamOutn;
TrainSamIn(:i)=[];
TrainSamOut(:i)=[];
%?Evaluating?Sample
EvaSamIn=...
EvaSamInn=tramnmx(EvaSamInminAllSamInmaxAllSamIn);?%?preprocessing

global?Ptrain;
Ptrain?=?TrainSamIn;
global?Ttrain;
Ttrain?=?TrainSamOut;

Ptest?=?TestSamIn;
Ttest?=?TestSamOut;

%?Initialize?BPN?parameters
global?indim;
indim=5;
global?hiddennum;
hiddennum=3;
global?outdim;
outdim=1;

%?Initialize?PSO?parameters
vmax=0.5;?%?Maximum?velocity
minerr=0.001;?%?Minimum?error
wmax=0.90;
wmin=0.30;
global?itmax;?%Maximum?iteration?number
itmax=300;
c1=2;
c2=2;
for?iter=1:itmax
W(iter)=wmax-((wmax-wmin)/itmax)*iter;?%?weight?declining?linearly
end?
%?particles?are?initialized?between?(ab)?randomly
a=-1;?
b=1;
%Between?(mn)?(which?can?also?be?started?from?zero)
m=-1;
n=1;
global?N;?%?number?of?particles
N=40;
global?D;?%?length?of?particle
D=(indim+1)*hiddennum+(hiddennum+1)*outdim;
%?Initialize?positions?of?particles
rand(‘state‘sum(100*clock));
X=a+(b-a)*rand(ND1);
%Initialize?velocities?of?particles
V=m+(n-m)*rand(ND1);

global?fvrec;
MinFit=[];
BestFit=[];

%Function?to?be?minimized?performance?functioni.e.mse?of?net?work
global?net;
net=newff(minmax(Ptrain)[hiddennumoutdim]{‘tansig‘‘purelin‘});
fitness=fitcal(XnetindimhiddennumoutdimDPtrainTtrainminAllSamOutmaxAllSamOut);
fvrec(:11)=fitness(:11);
[CI]=min(fitness(:11));
MinFit=[MinFit?C];
BestFit=[BestFit?C];
L(:11)=fitness(:11);?%record?the?fitness?of?particle?of?every?iterations
B(111)=C;?%record?the?minimum?fitness?of?particle
gbest(1:1)=X(I:1);?%the?global?best?x?in?population

%Matrix?composed?of?gbest?vector?
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));
%V(::2)=cf*(W(1)*V(::1)+c1*rand*(pbest(::1)-X(::1))+c2*rand*(G(::1)-X(::1)));
%V(::2)=cf*(V(::1)+c1*rand*(pbest(::1)-X(::1))+c2*rand*(G(::1)-X(::1)));
%?limits?velocity?of?particles?by?vmax
for?ni=1:N
for?di=1:D
if?V(nidi2)>vmax

評論

共有 條評論