BP神经网络matlab示例程序
clc
clear
x=[0.8 0.5 0;0.9 0.7 0.3;1.0 0.8 0.5;0 0.2 0.3;0.2 0.1 1.3;0.2 0.7 0.8];
y=[0 1;0 1;0 1;1 0;1 0;1 0];
OUT_COUT =2; %输出向量维数
IN_COUT =3; %输入向量维数
COUT =6; %样本数量
%BP神经网络初始化
h=8;%隐层数量
v=rand(IN_COUT,h);%隐含层权矩阵
w=rand(h,OUT_COUT);%输出层权矩阵
a=0.06;%学习率
b=0.001;%%精度控制
LoopCout=10000;%最大循环次数
e=b+1;
n=1;
yh=zeros(1,h);
out=zeros(1,OUT_COUT);
while e>b && n<LoopCout
e=0;
Chg0=zeros(1,OUT_COUT);
ChgH=zeros(1,h);
Ch_w=zeros(h,OUT_COUT);
Ch_v=zeros(IN_COUT,h);
for i=1:COUT
for k=1:h%计算隐含层输出
temp=0;
for j=1:IN_COUT
temp=temp+x(i,j)*v(j,k);
end
yh(k)=sig(temp);
end
for k=1:OUT_COUT%计算输出层输出
temp=0;
for j=1:h
temp=temp+yh(j)*w(j,k);
end
out(k)=sig(temp);
end
for j=1:OUT_COUT%计算输出误差
e=e+(y(i,j)-out(j))^2;
end
if e<b
break;
end
for j=1:OUT_COUT%计算输出层一般化误差
Chg0(j)=out(j)*(1-out(j))*(y(i,j)-out(j));
end
%累加所有样本训练后的该变量
for j=1:h
for k=1:OUT_COUT
Ch_w(j,k)=Ch_w(j,k)+a*yh(j)*Chg0(k);
end
end
%计算隐含层一般化误差
for j=1:h
temp=0;
for k=1:OUT_COUT
temp=temp+w(j,k)*Chg0(k);
end
ChgH(j)=temp*yh(j)*(1-yh(j));
end
%累加所有样本训练后的改变量,消除样本顺序影响
for j=1:IN_COUT
for k=1:h
Ch_v(j,k)=Ch_v(j,k)+a*x(i,j)*ChgH(k);
end
end
%修改权值矩阵
w=w+Ch_w;
v=v+Ch_v;
%%%%%%%%%
n=n+1;
if n>LoopCout
break;
end
if mod(n,10)==0
disp(sprintf('timenum :%5d ErrAll :%12.6f%',n,e));
end
end
end
disp('总循环次数为:')
disp(n)
disp('调整后v矩阵为')
disp(v)
disp('调整后w矩阵为')
disp(w)
%测试部分
for k=1:COUT
for i=1:h
temp=0;
for j=1:IN_COUT
temp=temp+x(k,j)*v(j,i);
end
yh(i)=
sig(temp);
end
for i=1:OUT_COUT
temp=0;
for j=1:h
temp=temp+yh(j)*w(j,i);
end
out(k,i)=sig(temp);
end
end
disp('测试结果:');
disp(out);
你可能喜欢
- BP神经网络原理
- 神经网络matlab
- BP神经网络算法
- MATLAB网络
- 动态BP神经网络
- BP神经网络控制器
- BP神经网络预测
- matlab建立BP神经网络12页
- 关于神经网络(matlab)归一化的整理2页
- BP神经网络matlab实例(简单而经典)7页
- 神经网络pid控制matlab程序2页
- matlab辅助神经网络设计46页
- rbf核神经网络程序matlab程序17页
- 基于遗传算法的BP神经网络短时交通流预测_王成宝4页
- 基于在线学习方法的BP神经网络训练算法研究50页
- 基于遗传算法和BP神经网络的短期电力负荷预测4页
- 用遗传算法优化BP神经网络的Matlab编程实例 [引用 2007-08-29 ...2页
- 2.4-BP神经网络模型与学习算法29页
- 遗传算法优化的BP神经网络城市不透水层百分比估算3页
- 基于MATLAB 的神经网络的仿真6页
- MATLAB神经网络工具箱中的网络对象及属性11页
- MATLAB神经网络及其应用24页
- MATLAB神经网络51页
- MATLAB在神经网络设计中的应用3页
- MATLAB神经网络工具箱中的神经网络模型53页
- 基于蚁群BP神经网络的动态测量误差预测3页
- 基于BP神经网络预报的动态矩阵预测控制4页
- 基于BP神经网络的飞行动态实时预测方法5页
- 基于时间序列BP神经网络的集装箱吞吐量动态预测6页
- BP神经网络模型用于单芯电缆导体温度的动态计算6页
- 动态构建和存储BP神经网络模型的方法3页


