资源简介
自己编写的BP神经网络的算法matlab代码,成功实现BP神经网络分类功能,有实验报告和matlab代码 , 直接运行即可。
代码片段和文件信息
%初始化两层BP算法的学习期(训练加权系数WkiWij)
lr=0.05; %lr为学习速率
err_goal=0.001; %err_goal为期望误差最小值
max_epoch=1000; %训练的最大次数
Pn=[3 6 6.142 3 2.5 4.5 1.8 5.5 2.5 2.7 2 2.9 5 0.7 2 3 0.5 4 1 1.9 160 260 62.328 200 700 1500 1500 2000 1200 2200 10 4 5 14 3 3 4 5 2 1 1 1 8 2 1 1 3 1 2 5 60 57 65 72 70 80 75 75 40 51 62 58 40 45 65 68 71 63 69 60]; %给定输入
Tn=[1 4 2 6 1 4 0 0 0 1 19 45 24 57 9 50 1 14 0 12 17 53 32 102 15 63 13 16 11 32 4 20 3 14 13 35 8 6 9 5]; %给定输出
%归一化处理
Pm=0.8*(Pn - min(Pn))/(max(Pn) - min(Pn))+0.1;
Tm=0.8*(Tn - min(Tn))/(max(Tn) - min(Tn))+0.1;
P=[Pm(1:10);Pm(11:20);Pm(21:30);Pm(31:40);Pm(41:50);Pm(51:60);Pm(61:70)];
T=[Tm(1:10);Tm(11:20);Tm(21:30);Tm(31:40)];
%提供10组7个神经元输入和4个神经元输出的训练集和目标值
%初始化WkiWij(M为输入节点j的数量,q为隐含层节点i的数量(最终确定隐层神经元个数为15),L为输出节点的数量,N为样本点的组数)
[MN]=size(P);q=15;[LN]=size(T);
Wij=rand(qM); %随机给定输入层与隐含层间的权值
Wki=rand(Lq); %随机给定隐含层与输出层间的权值
b1=zeros(q1);b2=zeros(L1); %随机给定隐含层、输出层的阈值
for epoch=1:max_epoch
Oi=tansig(Wij*Pb1); %计算网络隐含层的各神经元输出
Ok=logsig(Wki*Oib2); %计算网络输出层的各神经元输出
E=T-Ok; %计算网络误差
deltak=deltalin(OkE); %计算网络输出层的delta
deltai=deltatan(OideltakWki); %计算网络隐含层的delta
[dWkidb2]=learnbp(Oideltaklr); %调整输出层加权系数
Wki=Wki+dWki;b2=b2+db2;
[dWijdb1]=learnbp(Pdeltailr); %调整隐含层加权系数
Wij=Wij+dWij;b1=b1+db1;
%计算网络权值修正后的误差平方和
SSE=sumsqr(T-logsig(Wki*tansig(Wij*Pb1)b2));
if(SSE end
%BP算法的测试工作期(根据训练好的WkiWij和给定的输入计算输出)
P1n=[2.1 0.9 2200 11 8 60 73]; %给定测试输入
Pn1=0.8*(P1n - min(P1n))/(max(P1n) - min(P1n))+0.1; %归一化
P1=[Pn1(1);Pn1(2);Pn1(3);Pn1(4);Pn1(5);Pn1(6);Pn1(7)];
Oi=tansig(Wij*P1b1); %计算网络隐含层的各神经元输出
Ok=logsig(Wki*Oib2); %计算网络输出层的各神经元输出
Ok %显示网络输出层的实际输出
Y=[0.2901 0.8726 0.1400 0.4061] %测试样本值的实际输出
plot(1:4Ok‘r‘1:4Y‘b‘)
title(‘测试样本的实际输出和期望输出对照图‘)
xlabel(‘测试样本点‘)
ylabel(‘对应输出值(红色为实际输出,蓝色为预测输出)‘)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 133632 2011-10-25 14:13 林雨辰-BP神经网络实验报告.doc
文件 2323 2011-10-25 13:45 BP.m
文件 1030144 2011-10-11 14:27 第二章 BP网络设计与应用-例子.doc
----------- --------- ---------- ----- ----
1166099 3
- 上一篇:轴承故障频率获取
- 下一篇:基于统计算法的红外图像非均匀性矫正算法
评论
共有 条评论