使用MATLAB实现基于BP神经网络训练的手写字母识别程序

前言

大三的时候利用MATLAB搭建了一个基于BP神经网络框架的手写字母识别程序,其中使用了EMNIST数据集进行训练和测试,可实时对手写输入样本进行识别,并返回两个最可能的结果,过程中可继续添加样本训练,以提高训练的精度。今天简单展示一下程序的功能,后续有时间会详细讲解编程的思路以及上传资源,供有需要的朋友借鉴。


首先运行主程序文件,展示手写输入窗口如下:

使用MATLAB实现基于BP神经网络训练的手写字母识别程序_第1张图片
这个手写输入窗口主要由手写输入面板识别结果正确率训练精度学习速率字号字体颜色当前鼠标坐标训练数据集添加样本识别清除组成。
其中训练精度、学习速率、字号、颜色都是可选的,也就是支持直接在窗口更改。
使用鼠标在面板处输入手写字母,然后点击识别按钮,左侧会给出两个最有可能的识别结果(如下图)

使用MATLAB实现基于BP神经网络训练的手写字母识别程序_第2张图片
使用MATLAB实现基于BP神经网络训练的手写字母识别程序_第3张图片
右下角清除按钮可清空当前面板的手写输入,在左下角点击控件可选择更改成想要的字号和颜色:

使用MATLAB实现基于BP神经网络训练的手写字母识别程序_第4张图片
如果要看手写识别结果的正确率,可点击面板下方的训练数据集按钮,自动运行神经网络训练样本的程序,然后返回训练正确率并显示在手写字母识别窗口左侧:

使用MATLAB实现基于BP神经网络训练的手写字母识别程序_第5张图片
在这里插入图片描述
当出现识别结果失误的情况时,说明样本训练的精度还有待提高,此时可点击输入面板下方的添加该样本按钮,将当前识别失误的样本添加到训练集中进行训练以提高识别准确率

使用MATLAB实现基于BP神经网络训练的手写字母识别程序_第6张图片
点击添加该样本按钮后将会弹出一个窗口,此时将该样本属于的字母类别正确地输入就好了。
接下来MATLAB的命令行窗口就会显示再次对数据集进行训练:

在这里插入图片描述
训练完毕后将再次返回数据集训练的正确率

在这里插入图片描述
跟前面对比,发现正确率有所提升(虽然只是一点点),这说明添加训练样本后确实可以提高训练精度,随着样本训练的数据越来越大,相信识别的准确度会有更大的提升。

使用MATLAB实现基于BP神经网络训练的手写字母识别程序_第7张图片
(这是程序的所有文件)

结束语

好了,今天暂时先展示程序的运行效果,之后有时间再来更新。对了,我的截图貌似有点糊,拜托各位看官就凑合看看吧~(嘿嘿)


呜呜,发布的时候发现等级不够不能自定义标签哇

你可能感兴趣的:(matlab)