您现在的位置:首页 >> 机器学习 >> 内容

基于BP神经网络的手写数字识别仿真提供手写数字数据库

时间:2023/2/4 23:14:59 点击:

  核心提示:A336,包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/Y56blJ9x

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览



3.算法概述

        手写数字识别应用广泛,如税表系统,银行支票自动处理和邮政编码自动识别等。在以前,这些工作需要大量的手工录入,投入的人力物力都相对较多,而且劳动强度较大。为了适应无纸化办公的需要,大大提高工作效率,研究实现手写数字识别系统是必须要做的。

        由于数字类别只有0-9共10个,比其他字符识别率较高,可将其用于验证新的理论或做深入的分析研究。许多机器学习和模式识别领域的新理论和算法都是先用手写数字识别进行检验,验证其理论的有效性,然后才会将其应用到更为复杂的领域当中。在这方面的典型例子就是人工神经网络和支持向量机。

4.部分源码

......................................................

%% 读取图像

root='./data';

img=read_train(root);

%% 提取特征

img_feature=feature_lattice(img);

%% 构造标签

class=10;

numberpclass=500;

ann_label=zeros(class,numberpclass*class);

ann_data=img_feature;

for i=1:class

 for j=numberpclass*(i-1)+1:numberpclass*i

     ann_label(i,j)=1;

 end

end

 

%% 选定训练集和测试集

k=rand(1,numberpclass*class);  

[m,n]=sort(k);  

ntraindata=4500;

ntestdata=500;

train_data=ann_data(:,n(1:ntraindata));

test_data=ann_data(:,n(ntraindata+1:numberpclass*class));

train_label=ann_label(:,n(1:ntraindata));

test_label=ann_label(:,n(ntraindata+1:numberpclass*class));

%% BP神经网络创建,训练和测试

net=network_train(train_data,train_label);

predict_label=network_test(test_data,net);

%% 正确率计算

[u,v]=find(test_label==1);

label=u';

error=label-predict_label;

accuracy=size(find(error==0),2)/size(label,2)

A336

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168