毕业论文(设计)-基于SVM 的手写体阿拉伯数字识别
-
专业好文档
文章编号:
1009-8119
(
2005
)<
/p>
09-0041-03
基于
SVM
p>
的手写体阿拉伯数字识别
张
鸽
陈书开
(长沙理工大学计算机与通讯
工程学院
,
长沙
410076
)
摘
要
<
/p>
支持向量机
(SVM)
是近年来在统计学
习理论的基础上发展起来的一种新的模式识别方法
,
在解
决小样本、非线性及高维模式识别问题中表现出许多特有的优势。介绍了在提取穿越次数特征、
粗网格特
征以及密度特征提取的基础上应用
SVM
进行手写体阿拉伯数字识别的方法。
关键词
SVM
,核函数,穿越次数特征,粗网格特征,密度特征
Handwriting Numerals Recognition based
on SVM
Zhang Ge
Chen Shukai
(Department of Computer and
Communication
,
Changsha
Univesity of Science and
Technology
,
Changsha
410076)
Abstract
Supprot
Vector Machine(SVM) is a new pattern recognition
method developed in recent years on
the
goundation
of
statistical
learning
wins
populatity
due
to
many
attractive
features
and
emphatical
performance
in
the
fields
of
nonlinear
and
high
dimensional
pattern
recognition .The
paper
introduces
a
script
arabic
numerals
recognition
method
applied
SVM
based
on
drawing
out
Traversing-times
character
and
Wide-gridding character.
Keywords
SVM,
Kenerl
Function, Traversing-times character,Wide-gridding
character, density character
1
引
言
手写体阿拉伯数字识别是图象处理
和模式识别领域中的研究课题之一。字符识别系统一般由图象采
集、信号预处理、特征提
取、分类识别等几个部分组成。识别系统的识别方式可分为联机手写体字符识别、
脱机印
刷体字符识别和脱机手写体字符识别等
,
其中脱机手写体字符由
于书写者的因素
,
使其字符图像的随
意
性很大
,
例如
,
笔画的粗细、字体的大小、手写体的倾斜度、字符笔画的局部扭曲变形、字体灰度的差异
等都直接影响到字符的正确识别。所以手写体数字字符的识别是数字字符识别领域内最具挑战性的课题。
近年来,支持向量机(
Support
Vector
Machines,SVM
)的研究在广泛开展。支持向量机是
等根据统计学习理论(
Statistical
Learning Theory
简称
SLT
)提出的一种新的机器学习方法,在解决
小样本、非线性及高维模式识别问题中
表现出许多特有的优势,已经在模式识别、函数逼近和概率密度估
计等方面取得了良好的
效果
。支持向量机从本质上讲是一种前向神经网络,根据结构风险最小化准则,
在使训练样本分类误差极小化的前提下,尽量提高分类器的泛化推广能力。从实施的角度,训练支
持向量
机的核心思想等价于求解一个线性约束的二次规划问题,从而构造一个超平面作为
决策平面,使得特征空
间中两类模式之间的距离最大,
而且它能
保证得到的解为全局最优解。
本文即是采用
SVM
进行
0
~
9
的手写
体阿拉伯数字的识别。
2 SVM
基本原理
2.1
线性可分情况
SVM
方法是从线性可分情况下的最优分类面
(Op
timal Hyperplane)
提出的。所谓最优分类面就是要求
分类线不但能将两类样本无错误的分开
,
而且要使两类
之间的距离最大。
设线性可分样本集为
(x
i
,
y
i
),
i=1,2,
„
,n,
x
∈
R
, y
∈
{+1,-1}
是类别标号。
d
p>
维空间中线性判别函数
的一般形式为
:g(
x)=w
·
x+b,
分类面方程为
p>
:
w
·
x+b=0
(1)
将判别函数进行归一化
,
使两
类所有样本都满足
|g(x)|
≥
1
,
即
,
使离分类面最近的样本的
|g(x)|=1,
这
样分类间隔就等于
p>
2/
‖
w
‖
,
因此间隔最大等价于使‖
w
‖
(
或‖
w
< br>‖
)
最小
;
而要求分类线对所有样本正确分
2
d
[1]
专业好文档
类
,
就是要求其满足
: <
/p>
y
i
[(w
·<
/p>
x
i
)+b]
—
1
≥
0,(i=1,2,
„
,n) (2)
p>
因此
,
满足上述条件且使‖
w
‖
最小的分类面就是最优分类面。
< br>这两类样本中离分类面最近的点且平行
于最优分类面的超平面上的训练样本就是使
式
(2)
中等号成立的那些样本
,
p>
他们叫做支持向量
(Support
Ve
ctors)
。
根据上面的讨论
,
p>
最优分类面问题可以表示成如下的约束优化问题
,
< br>即在式
(2)
的约束下
,
求函数
:
φ
(w)=
2
1
2
‖
w
‖
=
2
1
2<
/p>
n
(w
·
w)
(3)
的最小值。这是一个二次规划问题
,
< br>可定义以下的拉格朗日函数
:
1
L(w,b,a)=
2
(w
·
w
)
—
i
<
/p>
1
a
i
{y
p>
i
[(w
·
x
p>
i
)+b]-1} (4)
其中
:a
i
>0
为
Lagrange
系数。
< br>求式
(3)
的极小值就是对
w<
/p>
和
b
求拉氏函数的极小值。
求
L
对
w
< br>和
b
的偏微分,
并令其等于
p>
0,
可转化为对偶问题
:
n
在约束条件
i
1
a
i
y
i
=0,a
i
≥
0,i=1,2,
„
,n
之下对
a
i
求
式
(5)
的最大值
:
W(a)=
i
1
n
1
a
-
2
i
i
,
j
n
p>
a
i
a
j
y
i
y
j
(x
i
.x
j
) (5)
由
< br>K
ü
hnTucker
定理可知
,
最优解满足
:
[y
i
(w
·
x+b)-1]=0
i
(6)
显然
,
只有支持向量的系数<
/p>
a
i
不为
0,<
/p>
即只有支持向量影响最终的划分结果。于是
w
可表示为
:
w=
Surppor
tVe
ctors
a
i
y
i
x
i
(7)
*
即最优分类面的权系数向量是训练样本向量的线性组合。若<
/p>
a
i
为最优解
,
求解上述问题后得到的最优
分类函数是
:
n
f(x)=sgn{(w
·
p>
x)+b
}=sgn{
*
< br>*
i
1
a
i
y
i
(x
i
·
x)
+b
} (8)
*
*
其中
:sgn()
为符
号函数
,b
是分类的阈值
,
可以由任意一个支持向量用式
(7)
求得
,
或通过两类中任意一
对支持向量取中值求得。
对于给定的未知样本
x,
只需计算
sg
n(w
•
x+b),
即可判定
x
所属的分类。
2.2
线性不可分情况
对于线性不可分的样本
,
希望使误分类的点数最小
,
为此在式
(2)
中引入松弛变量
ξ
i
≥
0,
即:
y
i
[(w
·
x
i
)+b]-1+
ξ
i<
/p>
≥
0,(i=1,2,
„
,n) (9)
在式
(9)
中
,
对于给定的
常数
C,
求出使
*
φ
(w,
ξ
)=
1
2
(w
·
w)+C{
ξ
i } (10)
i
1
n
专业好文档
取极小值的
w,b,
这一优化问题同样需要变换为用拉格朗日乘子表示的对偶问题
,
变换的过程与前面线
性可分样本的对偶问题
类似
,
结果也几乎完全相同
,
只是约束条件略有变化
:
< br>i
1
n
a
i
y
i
=
0,(0
≤
a
i
≤
C,i=1,2,
„
,n)
(11)
其中
:C
反映了在复杂性和
不可分样本所占比例之间的折中。
2.3
支持向量机
如果用内积
K(x,x
′
)
代替最优分
类面中的点积
,
就相当于把原特征空间变换到了某一新的特征空
间
,
此
时优化函数变为
:
n
W(a)=
i
1
a
i
-
1
2
i
,
j
< br>a
i
a
j
y
i
y
j
(
x
i
·
x
j<
/p>
) (12)
相应的判别函数也应变为
:
f(x
)=sgn{
i
< br>1
n
a
i
y
i
k(x
i
·
x)+b
}
(13)
*
*
算法的其他条件均不变
,
这就是支持向量机。
支持向量机的基本思想可以概括为
:
首先通过非线性
变换将输入空间变换到一个高维空间
,
然后在这个
新空间中求取最优线性分类面
,
而这种非线性变换是
通过定义适当的内积函数实现的。
常用的核函数有以下
几种
p>
:
(1)
线性
内积函数
K(x,y)=x
·
y
(14)
(2)
多项式内积函数<
/p>
K(x,y)=[(x
•
y)+1]
p>
(15)
(3)
径向基内积函数<
/p>
K(x,y)=exp{-|x-y|
/
σ
}
(16)
(4)
二层神经网络内积
函数
K(x,y)=tanh(k(x
·
y)+c) (17)
3
预处理
本文是对已经扫描后的手写体数字图像进行识别,在识别前由于得到的图像和图像中的数字的各种属
性有很大差别
,
这给识别增加了难度
,
因而对待识别图像要进行预处理。
3.1
归一化
归一化处理包括两个部分
:<
/p>
一是裁剪——裁剪出图像中只有文字信息的部分作为我们研究处理的对象
< br>;
二是图像的缩放。本文首先求得图像中的数字上、下、左、右四个边界点,剪裁
掉图像四个方向的边界空
白区域,并求出待识别数字的高度和宽度,然后按比例将图像统
一缩放为
64*40
像素。
3.2
二值化
由于手写体数字识别只需要处理图像中的字符信息
,
对颜色
等信息不作处理
,
所以可对扫描得到的图像
进行二值化处理。本文直接利用
matlab
中的
im2bw
函数将待识别图像转化为二进制图像。
3.3
细化
一个图像的“骨架”
,
是指图像中央的骨架部分。它是描述图像几何及拓扑性质的重要特征之一。求一
< br>个图像骨架的过程通常称为对图像的
“细化”
过程。本文
直接利用
matlab
中的
bwper
im
函数得到待识别数
字的骨架。
4
基于
SVM
< br>的手写数字的识别
2
2
d