资源简介

利用粒子群算法优化BP神经网络的权值,将训练好的神经网络用于故障诊断中,进行模式识别,比BP神经网络收敛快

资源截图

代码片段和文件信息


%参数输入
load psostudy;
load t;
lp=psostudy‘;
t=t‘;
l=input(‘特征向量输入个数‘);
m=input(‘隐层神经元个数‘);
n=input(‘输出层神经元个数‘);
k=input(‘粒子数目‘);
N=input(‘迭代次数‘);
Emin=input(‘最小误差‘);

%相关参数计算
a=l*m+m*n+m+n;       %确定粒子维数:隐层和输出层权值和阀值

%初始化
lp=repmat(lpm1);   %平铺输入向量,得到每个隐层神经元的输入
rand(‘state‘sum(100*clock)*rand(1))

p=-1*ones(ak)+2*rand(ak);         %初始化k个粒子的初始位置:隐层和输出层权值和阀值
v=-1*ones(ak)+2*rand(ak);         %初始化k个粒子的初始速度




    
    
%计算第初始适应值
for i=1:k    %k是粒子数目
w1=p(1:(l+1)*mi);  %提取第i个粒子隐层权值和阀值
w1=repmat(w1129);   %36是训练样本数,平铺得到36组权值和阀值,
net1=lp.*w1;       %隐层神经元的输入
y=zeros(m29);    %定义m个隐层神经元的输入值,共36组代表36个训练样本


%计算隐层输出
for j=1:m
    y(j:)=sum(net1(((l+1)*(j-1)+1):((l+1)*j):)); %第j个神经元的输入值
end
Y=tansig(y);  %m个隐层神经元的输出值
A=-ones(129);  %定义阀值所对应的输入

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

     文件       5451  2012-06-13 00:19  psobpdiagnosis.m

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

                 5919                    3


评论

共有 条评论