最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

BP神经网络算法matlab实现

来源:动视网 责编:小OO 时间:2025-09-23 18:26:09
文档

BP神经网络算法matlab实现

BP神经网络算法matlab实现%BP网络的第一阶段学习期(训练加权系数wki,wij)%初始化lr=0.05;err_goal=0.001;%lr为学习速率;err_goal为期望误差最小值max_epoch=10000;a=0.9;%max_epoch为训练的最大次数;a为惯性系数Oi=0;Ok=0;%置隐含层和输出层各神经元输出初值为0%提供两组训练集和目标值(3输入,2输出)X=[11;-1-1;11];T=[11;11];%初始化wki,wij(M为输入节点j的数量;q为隐含层节点i
推荐度:
导读BP神经网络算法matlab实现%BP网络的第一阶段学习期(训练加权系数wki,wij)%初始化lr=0.05;err_goal=0.001;%lr为学习速率;err_goal为期望误差最小值max_epoch=10000;a=0.9;%max_epoch为训练的最大次数;a为惯性系数Oi=0;Ok=0;%置隐含层和输出层各神经元输出初值为0%提供两组训练集和目标值(3输入,2输出)X=[11;-1-1;11];T=[11;11];%初始化wki,wij(M为输入节点j的数量;q为隐含层节点i
BP神经网络算法matlab实现

%BP网络的第一阶段学习期(训练加权系数wki,wij)

%初始化

lr=0.05;err_goal=0.001; %lr为学习速率;err_goal为期望误差最小值

max_epoch=10000;a=0.9; %max_epoch为训练的最大次数;a为惯性系数

Oi=0;Ok=0; %置隐含层和输出层各神经元输出初值为0

%提供两组训练集和目标值(3输入,2输出)

X=[1 1;-1 -1;1 1];T=[1 1;1 1];

%初始化wki,wij(M为输入节点j的数量;q为隐含层节点i的数量;L为输出节点k的数量)

[M,N]=size(X);q=8;[L,N]=size(T); %N为训练集对数量

wij=rand(q,M);wki=rand(L,q);

wij0=zeros(size(wij));wki0=zeros(size(wki));

for epoch=1:max_epoch

%计算隐含层各神经元的输出

NETi=wij*X;

for j=1:N

for i=1:q

Oi(i,j)=2/(1+exp(-NETi(i,j)))-1;

end

end

%计算输出层各神经元输出

NETk=wki*Oi;

for i=1:N

for k=1:L

Ok(k,i)=2/(1+exp(-NETk(k,i)))-1;

end

end

%计算误差函数

E=((T-Ok)'*(T-Ok))/2;

if(E%调整输出层加权系数

deltak=Ok.*(1-Ok).*(T-Ok);

w=wki;

wki=wki+lr*deltak*Oi'+a*(wki-wki0);

wki0=w;

%调整隐含层加权系数

deltai=Oi.*(1-Oi).*(deltak'*wki)';

w=wij;

wij=wij+lr*deltai*X'+a*(wij-wij0);

wij0=w;

end

epoch %显示计算次数

%BP网络的第二阶段工作期(根据训练好的wki,wij和给定的输入计算输出)

X1=X; %给定输入

%计算隐含层各神经元输出

NETi=wij*X1;

for j=1:N

for i=1:q

Oi(i,j)=2/(1+exp(-NETi(i,j)))-1;

end

end

%计算输出层各神经元的输出

NETk=wki*Oi;

for i=1:N

for k=1:L

Ok(k,i)=2/(1+exp(-NETk(k,i)))-1;

end

end

Ok %显示网络输出层的输出

实验结果:

epoch =

2

Ok =

0.9914 0.9914

0.9903 0.9903

文档

BP神经网络算法matlab实现

BP神经网络算法matlab实现%BP网络的第一阶段学习期(训练加权系数wki,wij)%初始化lr=0.05;err_goal=0.001;%lr为学习速率;err_goal为期望误差最小值max_epoch=10000;a=0.9;%max_epoch为训练的最大次数;a为惯性系数Oi=0;Ok=0;%置隐含层和输出层各神经元输出初值为0%提供两组训练集和目标值(3输入,2输出)X=[11;-1-1;11];T=[11;11];%初始化wki,wij(M为输入节点j的数量;q为隐含层节点i
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top