V=double(rand(256,64));
W=double(rand(64,10));
delta_V=double(rand(256,64));
delta_W=double(rand(64,10));
% lf=0;用来看错误在哪一步的参考数据
yita=0.2;%缩放系数,有的文章称学习率
yita1=0.05;%我自己加的参数,缩放激活函数的自变量防止输入过大进入函数的饱和区,可以去掉体会一下变化
train_number=9;%训练样本中,有多少个数字,一共9个,没有0
train_num=30;%训练样本中,每种数字多少张图,一共100张
x=double(zeros(1,256));%输入层
y=double(zeros(1,64));%中间层,也是隐藏层
output=double(zeros(1,10));%输出层
tar_output=double(zeros(1,10));%目标输出,即理想输出
delta=double(zeros(1,10));%一个中间变量,可以不管
%记录总的均方差便于画图
s_record=1:1000;
tic %计时
for train_control_num=1:1000 %训练次数控制,在调参的最后发现1000次其实有多了,大概400次完全够了
s=0;
%读图,输入网络
for number=1:train_number %train_number=9
ReadDir=['E:\BP\test_picture\'];%读取样本的路径
for num=1:train_num %控制多少张 train_num=30
photo_name=['img00',num2str(number) ,'-',num2str(num,'%05d'),'.png'];%图片名
photo_index=[ReadDir,photo_name];%路径加图片名得到总的图片索引
photo_matrix=imread(photo_index);%使用imread得到图像矩阵
photo_matrix=imresize(photo_matrix,[16,16]);
photo_matrix=uint8(photo_matrix<=230);%二值化,黑色是1
tmp=photo_matrix';
tmp=tmp(:);%以上两步完成了图像二维矩阵转变为列向量,256维,作为输入
%计算输入层输入
x=double(tmp');%转化为行向量因为输入层X是行向量,并且化为浮点数
%得到隐层输入
y0=x*V;
%激活
y=1./(1+exp(-y0*yita1));
%得到输出层输入
output0=y*W;
% lf=lf+1;之前用来看错误在哪一步的参考数据
output=1./(1+exp(-output0*yita1));
%计算预期输出
tar_output=double(zeros(1,10));
tar_output(number)=1.0;
%计算误差
%按照公式计算W和V的调整,为了避免使用for循环比较耗费时间,下面采用了直接矩阵乘法,更高效
delta=(tar_output-output).*output.*(1-output);
delta_W=yita*repmat(y',1,10).*repmat(delta,64,1);
tmp=sum((W.*repmat(delta,64,1))');
tmp=tmp.*y.*(1-y);
delta_V=yita*repmat(x',1,64).*repmat(tmp,256,1);
%计算均方差
s=s+sum((tar_output-output).*(tar_output-output))/10;
%更新权值
W=W+delta_W;
V=V+delta_V;
end
end
s=s/train_number/train_num %不加分号,随时输出误差观看收敛情况
train_control_num %不加分号,随时输出迭代次数观看运行状态
s_record(train_control_num)=s;%记录
end
toc %计时结束
plot(1:1000,s_record);
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
BP神经网络识别手写数字项目代码,matlab版本,附带图片识别包,直接使用。原理及代码分析:https://blog.csdn.net/huang_miao_xin/article/details/51364152 因为原程序和博主发的解析有点问题,花了点时间处理了,傻瓜式操作,直接下载解压放E盘。打开matlab即可运行。
资源推荐
资源详情
资源评论
收起资源包目录
BP神经网络识别 手写体数字识别 代码和训练图片, (301个子文件)
train.m 2KB
img007-00011.png 2KB
img007-00009.png 2KB
img004-00011.png 2KB
img001-00011.png 2KB
img009-00011.png 2KB
img004-00009.png 2KB
img009-00009.png 2KB
img001-00009.png 2KB
img010-00009.png 2KB
img010-00011.png 2KB
img003-00009.png 1KB
img003-00011.png 1KB
img006-00011.png 1KB
img006-00009.png 1KB
img007-00010.png 1KB
img007-00015.png 1KB
img001-00015.png 1KB
img005-00009.png 1KB
img007-00012.png 1KB
img010-00015.png 1KB
img005-00011.png 1KB
img009-00027.png 1KB
img004-00010.png 1KB
img007-00016.png 1KB
img009-00015.png 1KB
img001-00027.png 1KB
img001-00012.png 1KB
img007-00013.png 1KB
img010-00016.png 1KB
img001-00016.png 1KB
img001-00024.png 1KB
img001-00020.png 1KB
img010-00029.png 1KB
img004-00012.png 1KB
img001-00013.png 1KB
img001-00023.png 1KB
img001-00019.png 1KB
img007-00029.png 1KB
img008-00011.png 1KB
img008-00009.png 1KB
img009-00013.png 1KB
img009-00016.png 1KB
img009-00018.png 1KB
img010-00013.png 1KB
img009-00022.png 1KB
img009-00024.png 1KB
img009-00020.png 1KB
img009-00025.png 1KB
img009-00021.png 1KB
img009-00017.png 1KB
img001-00014.png 1KB
img007-00014.png 1KB
img009-00028.png 1KB
img009-00019.png 1KB
img009-00023.png 1KB
img007-00030.png 1KB
img006-00015.png 1KB
img001-00028.png 1KB
img009-00014.png 1KB
img006-00016.png 1KB
img010-00014.png 1KB
img009-00012.png 1KB
img001-00025.png 1KB
img010-00030.png 1KB
img010-00025.png 1KB
img001-00010.png 1KB
img010-00017.png 1KB
img010-00021.png 1KB
img009-00008.png 1KB
img009-00007.png 1KB
img001-00007.png 1KB
img001-00008.png 1KB
img003-00010.png 1KB
img010-00010.png 1KB
img007-00017.png 1KB
img007-00021.png 1KB
img004-00015.png 1KB
img004-00016.png 1KB
img007-00025.png 1KB
img006-00012.png 1KB
img009-00026.png 1KB
img003-00012.png 1KB
img010-00018.png 1KB
img010-00022.png 1KB
img007-00024.png 1KB
img007-00020.png 1KB
img004-00029.png 1KB
img001-00017.png 1KB
img010-00012.png 1KB
img001-00021.png 1KB
img008-00010.png 1KB
img010-00024.png 1KB
img010-00020.png 1KB
img009-00010.png 1KB
img009-00030.png 1KB
img009-00029.png 1KB
img010-00027.png 1KB
img005-00020.png 1KB
img005-00024.png 1KB
共 301 条
- 1
- 2
- 3
- 4
资源评论
weixin_42168194
- 粉丝: 22
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功