欢迎光临散文网 会员登陆 & 注册

BPNN | 基于MATLAB的手写数字识别

2022-02-28 08:38 作者:图通道  | 我要投稿

本推送分享基于matlab的反向传播神经网络(BPNN)案例:手写数字识别(数据来自MINIST集)。BPNN的原理不再介绍,仅介绍算法实现的过程。

注:本案例中所有内容从底层写起,不借助工具箱。

数据集

训练集已经整理成MATLAB标准数据格式,每一列代表一个训练样本(数字)。测试集具有同样的格式。

通过下方代码即可将数字图像显示出来:

clear all;
load num_train.mat
figure
axes('Position',[0.1 0.1 0.8 0.8]);
for i  = 1:size(x_train,2)    
    imshow(reshape(x_train(:,i:i+2),[28 84]));
    %imshow(reshape(x_train(:,i),[28 28]));
    pause(0.1)
end

含GUI

BP.m直接启动,并点击开始。

•如果不勾选左上角的是否重新训练数据,GUI界面上会利用图图已经训练好的模型进行测试,并绘制出测试结果。

预训练的模型参数在WEIGHT.mat中。

•如果勾选左上角的是否重新训练数据后点开始,会提示用户输入训练参数:

不含GUI

直接从noGUI_BP.m启动运行,会提示用户输入训练参数,并给出训练结果。此时可视化过程需要自行完成。

部分代码

激活函数

反向传播算法

•关注微信公众号“图通道”回复数字识别下载完整代码与数据集;

•打包图图的所有作品: https://mbd.pub/o/bread/mbd-YZaYm55t ;

•交流群:549621236;

BPNN | 基于MATLAB的手写数字识别的评论 (共 条)

分享到微博请遵守国家法律