摘 要:科技的不断发展进步使得数字识别在越来越多的技术领域得以采用:大到办公自动化、车牌识别、文献检索,小到表格录入、邮政编码、银行或超市票据、个人名片信息等,都与数字识别技术密不可分。 作为最热门的智能算法,机器学习极大地促进了数字识别技术的发展。 本文介绍了机器学习中的一种支持向量机算法,将其应用到数字识别技术中并利用该算法成功地进行了样本训练和测试,取得了较好的效果。
关键词:支持向量机;数字识别;机器学习;
一、数字识别技术
字符信息处理一般来说分为两大类:文字信息处理和数字信息处理,前者主要是处理各种文本信息,目前这方面的技术已经比较成熟并推出了不少产品, 例如具有文字识别功能的知网阅读器等各种软件; 后者主要是阿拉伯数字等。距离商业应用还有很大的差距。
(一)数字识别技术常用方法
数字识别技术在学科上属于模式识别和人工智能的范畴,人们主要是通过获取数字的关键特征来进行识别。提取数字特征的手段主要分为两大类:全局分析和结构分析,二者的主要区别在于所采用的数字特征不同。
(二)数字识别技术研究现状
2004年,王永乾等利用BP神經网络技术进行手写字体识别,首先对数字字符进行分割、细化等预处理来生成数字样本,随后再利用大量的样本进行样本训练,最后利用训练好的模型进行识别,取得95%的正确率 [2]。2005年,周开利等人采用MATLAB提供的神经网络工具箱,详细阐述了各种模型的结构、原理、有关算法,以实例说明了各种神经网络模型的MATLAB仿真程序设计方法[3]。
二、支持向量机
支持向量机方法是建立在统计学习理论的VC维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折中,以求获得最好的推广能力。
假设有非线性映射 将输入空间的样本映射到高维的特征空间H中。无需知道变换Φ的具体形式。这些特殊的函数 称为核函数。此时,目标函数可以写为
判别函数为
支持向量机实现步骤分为训练和分类两部进行,具体步骤如下:
(1)支持向量机训练
1.输入两类训练样品向量
2.指定核函数类型
3.利用二次规划的方法求解目标函数式(1)的最优解(拉格朗日乘子)
4.利用样本库中的一个支持向量代入式(2),左值为其类别值,得到偏差值
(2)支持向量机分类
1.输入待测样品
2.利用训练好的模型(拉格朗日乘子,偏差值以及核函数)求解判别函数的值
3.根据判别函数的值,输出类别
三、支持向量机数字识别实例
由于支持向量机是针适用于小样本训练,同时为了简单叙述,本实例只针对数字1和9进行识别。本实例采用该算法对402张原始图像(其中1的图像198张,9的图像204张)数据进行训练。模型训练结束之后,利用另外随机的186张数字图像(其中1的图像97张,9的图像89张)作为测试样本测试模型的准确性。将图像1的判别函数值定义为1,图像9的判别函数值定义为-1。
首先进行样本训练,采用支持向量机对402张原始图像数据进行训练得到训练模型,最优解拉格朗日乘子向量,然后利用另外随机的186张数字图像作为测试样本对训练模型进行测试,训练样本如图2所示:
测试结果图像1 和图像9分别出现一个错误数字,即总共出现2个错误,模型正确率高达98.9%,很好地实现了数字识别的目的。
四、结论
基于数字识别的发展需求,本文介绍了机器学习中的一种支持向量机算法,通过利用输入空间的核函数取代高维特征空间的内积运算,解决了算法可能导致的“维数灾难”问题;并利用该算法成功地进行数字识别的样本训练和样本测试,取得了正确率98.4%的良好效果。
参考文献:
[1]邬建瓴 .数字识别及其应用 [D]. 华中科技大学, 2006. DOI:10.7666/d.d047270.
[2]王永乾 .基于BP网络的手写体数字识别方法 [J]. 山东电子,2004,3:24-26.
[3]周开利 .神经网络模型及其MATLAB仿真程序设计 [M]. 北京:清华大学出版社,2005.
作者简介:
刘晓红,女,山东烟台人,山东女子学院信息技术学院本科在读。endprint