BPNN | 基于MATLAB的手写数字识别
本推送分享基于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;