• 大小: 14.03MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-13
  • 语言: Matlab
  • 标签:

资源简介

matlab代码,里面含有一个BP网络完整代码,以及mnist.mat数据集

资源截图

代码片段和文件信息

clear
clc
%基于BP的手写数字识别程序

load mnist_uint8;
%对mnist数据集进行归一化处理,并对数据进行转化为可用的double型
train_x = double(train_x(1:20000:)‘) / 255;
test_x  = double(test_x(1:10000:)‘)  / 255;
train_y = double(train_y(1:20000:)‘);
test_y  = double(test_y(1:10000:)‘);
 
net=newff(minmax(test_x)[13 10]{‘tansig‘‘purelin‘}‘traingdx‘);%创建一个BP神经网络
net = init(net);%对网络进行初始化
net.trainparam.show=50;%显示训练迭代过程
net.trainparam.epochs=300;%定义训练步数
net.trainparam.goal=0.008;%设置性能参数
net.trainparam.lr=0.008;
net=train(nettrain_xtrain_y);%训练网络
y=sim(nettest_x);
[~ h] = max(y);
[~ a] = max(test_y);
bad = find(h ~= a);
s2=size(test_y 2);
hitnum=s2-numel(bad);
er = numel(bad) / size(test_y 2);
sprintf(‘错误率是 %3.3f%%\n‘100 * er )
sprintf(‘识别正确的个数是 %d%\n‘ hitnum )
sprintf(‘输入的总个数是 %d%\n‘ s2 )

%经过调参,反复试验,最后的到最小的误识率是8.040%
%各参数为,[13 10]{‘tansig‘‘purelin‘}epoch=2000goal=0.008
%lr=0.008train[1:20000:]t=29:16er=8.040

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1056  2016-12-23 10:57  BP\Bbpwsl1.m

     文件   14735220  2016-08-14 11:27  BP\mnist_uint8.mat

     目录          0  2016-12-23 10:59  BP

----------- ---------  ---------- -----  ----

             14736276                    3


评论

共有 条评论