手写数字识别实践指导手册

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

手写数字系统实践指导手册

1 问题描述

设计一个简单的手写数字识别系统,能够识别手写输入的数字1-9并且能够识别选中的文本文件中的数字,应具有简单方便的操作界面,输入输出等。

1.1功能需求分析

通过分析,以及从用户的角度考虑,系统应该具有以下功能:

(1)数字的手写输入。作为一个手写数字识别系统,首先应该能够让用户过绘制窗口进行数字绘制,系统得到用户的手写输入进行处理。

(2)直接选择文件。用户还可以选择系统中的文本文件进行处理。

(3)数据预处理。包括计算数据大小、二值化、格式化处理等。

(4)数字提取。将经过二值化后的图像中的个数字区域进行提取,只有能够将数字进行准确的提取,才能将其一一识别。

(5)基准库的选择与建立。选择一个可供系统训练和测试的样本库非常重要,本系统的训练集和测试集选择的是《机器学习实战》中所给的数据。

(6)识别数字。经过训练集进行训练后,使用knn算法对需要识别的数字识别。

2 数据集获取

●任务要求:

从网上爬取或者下载适合进行手写数字识别系统的训练集和测试集

●实践指导:

方式一:自己从网上找适合的数据下载

方式二:推荐数据集:“手写数字数据集的光学识别”一文中的数据集合,该文登载与2010年10月3日的UCI机器学习资料库中/ml

3 功能设计与实现

3.1手写数字识别系统结构图:

图一:系统结构图

3.2识别用户选择手选文件功能设计与实现

●任务要求:

用户可以自己从电脑中选择文本文件进行识别。

●实践指导:

KNN分类器的构造思路及原理如下:

1)选择训练集和测试集。系统所采用的数据集选用的是“手写数字数据集的光学识别”一文中的数据集合。0-9每个数字大约有200个训练数据20个测试数据。数字的文本格式如图所示。

文本格式存储的数字的文件命名也很有特点,格式为:数字的值_该数字的样本序号,如图所示。

2)格式化处理数据。将训练集中32*32的二进制图像矩阵转换为1*1024的向量。用于knn距离的计算

3)将训练集中所有的文件内容存在列表中,创建一个m*1024的训练矩阵,矩阵的每行存储一个图像。

4)将需要进行预测的测试集的图像矩阵转换为1*1024的向量。

5)编写KNN算法对训练集进行训练,然后对测试集进行预测。如果使用python的话,可以调用sklearn.neighbors中的KNeighborsClassifier函数对

测试集进行预测。

5)真实值与预测值进行比较。数据中的文件按照规则命名,我们可以从文件名中解析出分类数字,如文件9_1.txt分类时9,他是数字9的第一个实例。

3.3识别用户手写输入功能设计与实现

●任务要求:

用户可以在手写识别系统的界面上用鼠标进行手写输入,然后系统自动识别出用户的输入。

●实践指导:

识别用户手写输入的思路和原理如下:

(1)简单说就是把数字划分成很多很多的小块,如图二所示:每个数字被划分成了4*5=20个小块。分好了小块以后,其实我们要知道每个小块是由很多个像点素构成的。比如数字8,是由5行4列共计:5*4=20个小块构成。

(2)数一下每个小块内,有多少个黑色的点。比如第一行:

第2个小块中,共有28个点,记为28.

第3个小块中,共有10个点,记为10.

第4个小B中,共有0个点,记为0.

以此类推,可以计算出每一行的每一个小块数字是多少。

(3)为了方便,我们把得到的特征,排成一排(数组)就好了。

(4)照着葫芦画瓢,每个数字的特征其实都是一堆数字构成的。这个数字类似于我们的身份证号码,一般来说,是独一无二的。

(5)识别原理:就是比较要识别的数字特征和步骤4中的哪个数字的特征最接近。这里为了方便,假设要识别数字“8”,然后看看怎么从一堆数字里面选出来他

到底应该是几。具体方法时计算其欧式距离,距离越小代表其相似性越大。

4 系统评估

(1) 比较测试集中各个样本的分类结果和真实类别,统计下表中a,b,c,d

(2) 根据下列公式计算查准率、查全率、F1值、正确率

查准率:

查全率:

F1值:

正确率:

如不能完全实现查准率、查全率、F1值、正确率,至少计算下准确率。

5 简单的系统界面

设计良好的图形用户界面来展示系统功能。 输入:用户选择的文本文件或者鼠标的手写输入 输出:识别后的数字结果

%100⨯+=

B A A

precision %100⨯+=

C A A

recall %10021⨯+=

R P PR

F %

100⨯++++=

D C B A D

A Accurarcy

相关文档
最新文档