当前位置:首页 > 手写数字体识别的支持向量机方法
第四章 数字识别的支持向量机的方法
4.1识别过程
第一步:训练样本的采集和处理。
对训练样本进行采集,先准备0到9的几个字数字字符,格式为“*.bmp”,每个字符有10张,这样就得到了100张训练样本,然后进行图像处理,将样本图像读入之后,进行灰度化,得到灰度图像,再对得到的灰度图像进行二值化,为此,我们令灰度值大于200的为1,小于200的记为0,得到样本的二值图像,再把数字所在的区域提取出来,最后对提取出来的区域进行归一化,将其变为5*7的矩阵形式,得到训练样本的特征矢量。
第二步:数字识别的训练:
得到训练样本的特征矢量后,再构造训练样本对应的标号,构造10*10矩阵,向量每一列表为1,则表示判别为相应类,其他为-1,例如2字符,则这行向量表示为(-1 -1 1 -1 -1 -1 -1 -1 -1 -1),再选择核函数类型,训练SVM,。 第三步:待识别数字进行识别:
由Mousedraw程序从手写板读入手写数字作为待测样本,首先同样对其进行图像处理,将其化为5*7的待测特征矢量,再应用svcoutputi对其进行判别,实验结果如下图所示:
手写体输入窗2001801601401201008060402020406080100120140160180200
- 8 -
待识别数字3
数字识别结果
手写体输入窗2001801601401201008060402020406080100120140160180200
待识别数字6
- 9 -
数字识别结果
手写体输入窗2001801601401201008060402020406080100120140160180200
待识别数字4
- 10 -
数字识别结果
4.2识别结果分析
从上述结果可以看出,当手写字体比较正式的情况下,其识别效果较好,但当手写字比较随意时,识别效果比较差,这存在两方面因素,一种是由于训练样本的数目太少,不能得到比较好的效果,另一种是当SVM识别多类模式时,其判别比较复杂,而在此只考虑了比较简单的一种情况。
4.3支持向量机与BP网络结果比较
(1)支持向量机是专门针对有限样本情况的,其目标是得到现有信息下的最优解而不仅仅是样本数趋于无穷大时的最优解,而多层前向网络针对的是大量的样本,其目标是样本趋于无穷大时的最优解。
(2)支持向量机最终将转化为一个二次型寻优问题,从理论上说,得到的将是全局最优点,解决了在神经网络方法无法避免的局部极值问题;而多层前向网络BP有时会导致极值问题。
(3)支持向量机能够自动识别出训练集中的一个子集,此子集基本上可以代表训练集中的全部信息,也就是说只有这个子集对分类及回归问题的求解起作用,而多层前向
- 11 -
共分享92篇相关文档