本课题要研究或解决的问题和拟采用的研究手段(途径):

本课题研究应用机器学习构建能够识别手写数字的预测模型,并搭建基于SVM的手写数字预测系统,正确识别手写图像数据集中的数字。使用计算机视觉领域的“hello world”数据集MNIST,本系统的一般原理为:首先把数字图像经过预处理,然后得到的数据进行特征提取或不用进行特征提取就可以直接输入系统进行识别得到结果。
手写数字识别一共有10类样本,是属于一个多分类问题。那么对于像手写数字识别这样的多类分别问题,支持向量机又怎样处理呢﹖实验中可以将多个支持向量机的二类分类器组合起来构成一个多类分类器。构造一个多类分类器的原理是这样的:对于一个N类分类问题,我们需要构造N个基于支持向量机的二类分类器,每一个二类分类器将N类中的每一类与其它N-1类区分开来,识别的时候,只要把输入样本依次输入到N个分类器,比较N个分类器的识别结果,就会得到最终的识别结果。在本系统中有10类,那就要设计10个二类分类器,比如分类器0将0与1、2、3、4、5、6、7、8、9数字分开。实验时将输入向量输入到10个分类器中进行分类,比较10个分类器的分类参数性能判断输入样本是属于哪个数字。

1)前期准备:首先准备好样本图像本课题以MNIST为数据集,将数据集分为训练集和测试机两部分。
2)模型的构建与训练:首先实现了一个简单的SVM,使用SMO进行优化;进而优化版Platt SMO算法,进一步提高执行速度;最后构建训练模型libSVM实现了一个SVM多分类器。
3)模型测试:通过采用不同参数(核函数)的SVM 模型进行的比较,得出最优的模型。
4)使用上述最优的模型对未知的数字图像进行评估。首先将未知测试样本图像特征组送入SVM进行测试,从而使用最优的模型对测试的数字图像进行预测,将测试的结果输出,并且准确率达到90%以上。
5)进行人机交互系统的开发,将模型成果以清晰简洁的方式展现,通过在系统中直观地显示识别手写数字结果,增加对于相关研究的经验。

学习准备阶段

第一阶段:
巩固Python的使用,学习机器学习相关方面的知识。搜集与SVM相关的资料,熟悉SVM算法和SMO算法优化,基于MINIST数据集完成模型训练。在多方面阅读参考文献下优化模型,提高其精确率。

第二阶段:
根据手写数字识别预测系统的需求,进行需求归纳、方案与算法设计、编码、调试、成系统、测试。

实现方案:

1.用Python开发语言,通过SVM进行SVM模型训练。
2.搭建基于Python的手写数字识别平台,并实现窗口GUI界面进行模型效果展示交互等。
3.运行环境:PC,Intel® Core™ i5-7200U CPU @2.50GHz 2.70 GHz,512M的内存;
4.操作系统和版本:Windows10;Python3.0以上。

系统运行环境要求:

开发工具:Pycharm
基础类库:PyQt5,numpy
系统开发语言:Python
运行环境:Windows10 x64

第三阶段:系统测试与文档书写
1.单一功能检测,观察各模块之间的配合。
2.总体功能检测,在多次测试后,发现问题并进行系统优化,提高系统操作性。
3.认真总结,查找漏洞完成系统,撰写论文并完成毕业答辩。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐