使用MATLAB实现基于BP神经网络训练的手写字母识别程序
前言
大三的时候利用MATLAB搭建了一个基于BP神经网络框架的手写字母识别程序,其中使用了EMNIST数据集进行训练和测试,可实时对手写输入样本进行识别,并返回两个最可能的结果,过程中可继续添加样本训练,以提高训练的精度。今天简单展示一下程序的功能,后续有时间会详细讲解编程的思路以及上传资源,供有需要的朋友借鉴。
首先运行主程序文件,展示手写输入窗口如下:
这个手写输入窗口主要由手写输入面板、识别结果、正确率、训练精度、学习速率、字号、字体颜色、当前鼠标坐标、训练数据集、添加样本、识别、清除组成。
其中训练精度、学习速率、字号、颜色都是可选的,也就是支持直接在窗口更改。
使用鼠标在面板处输入手写字母,然后点击识别按钮,左侧会给出两个最有可能的识别结果(如下图)
右下角清除按钮可清空当前面板的手写输入,在左下角点击控件可选择更改成想要的字号和颜色:
如果要看手写识别结果的正确率,可点击面板下方的训练数据集按钮,自动运行神经网络训练样本的程序,然后返回训练正确率并显示在手写字母识别窗口左侧:
当出现识别结果失误的情况时,说明样本训练的精度还有待提高,此时可点击输入面板下方的添加该样本按钮,将当前识别失误的样本添加到训练集中进行训练以提高识别准确率
点击添加该样本按钮后将会弹出一个窗口,此时将该样本属于的字母类别正确地输入就好了。
接下来MATLAB的命令行窗口就会显示再次对数据集进行训练:
训练完毕后将再次返回数据集训练的正确率
跟前面对比,发现正确率有所提升(虽然只是一点点),这说明添加训练样本后确实可以提高训练精度,随着样本训练的数据越来越大,相信识别的准确度会有更大的提升。
(这是程序的所有文件)
结束语
好了,今天暂时先展示程序的运行效果,之后有时间再来更新。对了,我的截图貌似有点糊,拜托各位看官就凑合看看吧~(嘿嘿)
呜呜,发布的时候发现等级不够不能自定义标签哇
使用MATLAB实现基于BP神经网络训练的手写字母识别程序相关推荐
- 深蓝学院第三章:基于卷积神经网络(CNN)的手写数字识别实践
参看之前篇章的用全连接神经网络去做手写识别:https://blog.csdn.net/m0_37957160/article/details/114105389?spm=1001.2014.3001 ...
- MATLAB实现基于BP神经网络的手写数字识别+GUI界面+mnist数据集测试
文章目录 MATLAB实现基于BP神经网络的手写数字识别+GUI界面+mnist数据集测试 一.题目要求 二.完整的目录结构说明 三.Mnist数据集及数据格式转换 四.BP神经网络相关知识 4.1 ...
- 基于随机梯度下降法的手写数字识别、epoch是什么、python实现
基于随机梯度下降法的手写数字识别.epoch是什么.python实现 一.普通的随机梯度下降法的手写数字识别 1.1 学习流程 1.2 二层神经网络类 1.3 使用MNIST数据集进行学习 注:关于什 ...
- 基于朴素贝叶斯的手写数字识别
基于朴素贝叶斯的手写数字识别 关于数据集 关于SIMD 关于python 数据预处理 总结 关于数据集 MNIST数据库(http://www.cs.nyu.edu/~roweis/data.html ...
- DL之CNN:利用自定义DeepConvNet【7+1】算法对mnist数据集训练实现手写数字识别、模型评估(99.4%)
DL之CNN:利用自定义DeepConvNet[7+1]算法对mnist数据集训练实现手写数字识别.模型评估(99.4%) 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 netwo ...
- DL之CNN:利用自定义DeepConvNet【7+1】算法对mnist数据集训练实现手写数字识别并预测(超过99%)
DL之CNN:利用自定义DeepConvNet[7+1]算法对mnist数据集训练实现手写数字识别并预测(超过99%) 目录 输出结果 设计思路 核心代码 输出结果 准确度都在99%以上 1.出错记录 ...
- 在MNIST数据集上训练一个手写数字识别模型
使用Pytorch在MNIST数据集上训练一个手写数字识别模型, 代码和参数文件 可下载 1.1 数据下载 import torchvision as tvtraining_sets = tv.dat ...
- 【图像识别】基于BP神经网络和RGB颜色空间实现人民币识别系统matlab代码
1 简介 随着信息化时代的到来,智能识别成为研究的热点,本文以人民币识别为研究对象,运用 Matlab 软件系统中所提供的神经网络工具箱,结合图像处理技术,实现对各种不同面值纸质版人民币的识别.本文主 ...
- MATLAB实现基于BP神经网络的图像压缩
神经网络建模 BP神经网络用于压缩的原理如下: BP网络至少包含一个隐含层,这里只采用一个隐含层,因此整体构成了一个三层的网络.把一组输入模式通过少量的隐含层单元映射到一组输出模式,并使输出模式尽可能 ...
最新文章
- 记一次性能优化,单台 4 核 8G 机器支撑 5 万 QPS
- SDNE: 阿里应用深度学习进行图嵌入,构造凑单算法模型
- Python 高级网络操作 - Python Advanced Network Operations
- 【JEECG 官方】技术支持联系方式
- github上传_上传本地代码到github
- 简单创建两个线程,交替输出内容
- golang语言os.Stat()用法及功能
- python3怎么安装opencv_Python:即使安装了opencv,也无法导入cv2(如何为python3安装opencv3)...
- VC里一些容易混淆的地方(转)
- XMind软件简易使用教程
- 几何画板椭圆九种画法_几何画板怎么制作椭圆定义演示动画?
- 装双系统出现winload.efi,也就是安装win10,提示0xc0000359
- 51单片机模块化编程
- 以后不该吃的不能吃了。。。
- SLAM领域的优秀作者与实验室汇总
- 361度与国棉联盟达成战略合作;开利宣布收购空调企业广东积微集团;大陆集团与地平线成立智能驾驶合资公司 | 美通企业周刊...
- swift纯代码UITabBarController的使用
- C语言如何打开txt文件
- android消息发送字符串,android - 从Android客户端通过HTTP在HL7消息中发送base64字符串时遇到错误 - 堆栈内存溢出...
- linux io栈(读写流程)
热门文章
- 解决win7 无线网络红叉问题
- OrientedRCNN论文解读
- 网络连接变成小地球,提示无法访问internet
- 用java实现表白二维码(附源码)
- ireport4.5在JVM中添加新字体解决方案(Font ‘標楷體‘ is not available to the JVM. See the Javadoc for more details.)
- 穷人和富人的思维方式探析
- k1658停运_2016年10月20日火车停运信息
- 数字中国建设意义和面临的挑战
- 有苦有乐的算法 --- 使用队列结构实现栈结构
- HC32L系列MCU在KEIL新建工程后在JLINK 下 SW Device下找不到设备的解决方法