实验一、BP算法的MATLAB实现
一、实验目的
1、了解MATLAB集成开发环境
2、了解MATLAB编程基本方法
3、加深对BP算法的理解和掌握
二、实验内容
1、MATLAB基本指令和语法。
2、BP算法的MATLAB实现
三、实验步骤
1、熟悉MATLAB开发环境
2、输入参考程序
3、设置断点,运行程序,观察运行结果
四、参考程序
%lr为学习步长,err_goal期望误差最小值,max_epoch训练的最大次数,隐层和输出层初值为零lr=0.05;
err_goal=0.0001;
max_epoch=10000;
a=0.9;
Oi=0;
Ok=0;
%两组训练集和目标值
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);
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;