資源簡介
利用粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值,將訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)用于故障診斷中,進行模式識別,比BP神經(jīng)網(wǎng)絡(luò)收斂快
代碼片段和文件信息
%參數(shù)輸入
load?psostudy;
load?t;
lp=psostudy‘;
t=t‘;
l=input(‘特征向量輸入個數(shù)‘);
m=input(‘隱層神經(jīng)元個數(shù)‘);
n=input(‘輸出層神經(jīng)元個數(shù)‘);
k=input(‘粒子數(shù)目‘);
N=input(‘迭代次數(shù)‘);
Emin=input(‘最小誤差‘);
%相關(guān)參數(shù)計算
a=l*m+m*n+m+n;???????%確定粒子維數(shù):隱層和輸出層權(quán)值和閥值
%初始化
lp=repmat(lpm1);???%平鋪輸入向量,得到每個隱層神經(jīng)元的輸入
rand(‘state‘sum(100*clock)*rand(1))
p=-1*ones(ak)+2*rand(ak);?????????%初始化k個粒子的初始位置:隱層和輸出層權(quán)值和閥值
v=-1*ones(ak)+2*rand(ak);?????????%初始化k個粒子的初始速度
????
????
%計算第初始適應(yīng)值
for?i=1:k????%k是粒子數(shù)目
w1=p(1:(l+1)*mi);??%提取第i個粒子隱層權(quán)值和閥值
w1=repmat(w1129);???%36是訓(xùn)練樣本數(shù),平鋪得到36組權(quán)值和閥值,
net1=lp.*w1;???????%隱層神經(jīng)元的輸入
y=zeros(m29);????%定義m個隱層神經(jīng)元的輸入值,共36組代表36個訓(xùn)練樣本
%計算隱層輸出
for?j=1:m
????y(j:)=sum(net1(((l+1)*(j-1)+1):((l+1)*j):));?%第j個神經(jīng)元的輸入值
end
Y=tansig(y);??%m個隱層神經(jīng)元的輸出值
A=-ones(129);??%定義閥值所對應(yīng)的輸入
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????5451??2012-06-13?00:19??psobpdiagnosis.m
-----------?---------??----------?-----??----
?????????????????5919????????????????????3
評論
共有 條評論