[发明专利]一种基于改进距离核主成分分析的手写体数字识别方法有效
申请号: | 201210592487.8 | 申请日: | 2012-12-30 |
公开(公告)号: | CN103093235A | 公开(公告)日: | 2013-05-08 |
发明(设计)人: | 于乃功;焦盼娜;林佳;阮晓钢;李勇;许锋;王琳;陈焕朝;徐丽 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06K9/62 | 分类号: | G06K9/62 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 楼艮基 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于改进距离核主成分分析的手写体数字识别方法,属于模式识别与人工智能领域。本发明的特征在于,采用MNIST数据库作为实验对象,首先对样本进行二值化预处理,将处理后的样本数据利用距离核映射的核特征空间,在核特征空间利用K均值聚类将训练样本集分为N类子集,然后在核空间中计算核矩阵的特征向量得到变换矩阵,利用变换矩阵进行特征提取,将提取的特征数据集放入支持向量机建立训练模型,最后利用模型预测测试样本的识别率。本发明可以很好的提高手写体数字识别率高,减少运行时间,并且可以解决大样本的计算代价巨大的问题。 | ||
搜索关键词: | 一种 基于 改进 距离 成分 分析 手写体 数字 识别 方法 | ||
【主权项】:
1.一种基于改进距离核主成分分析的手写体数字识别方法,其特征在于:具体方法在计算机中是按以下步骤实现的:步骤(1),将手写体数字样本以特征向量的形式输入计算机,首先将MNIST手写体数字数据库进行解压,分解为单个图像的形式,其中包括:60000个训练样本和20000个测试样本,设定:从中选择至少20000个训练样本L组成训练样本数据集合,用{L}表示,每副图像表示为:xl,l=1,2,…,l…,L,其中,每副图像的大小为28×28个像素点,L个训练样本图像共有L×784个像素点,L个训练样本内样本数据的协方差矩阵R为:R = 1 L Σ l = 1 L x l x l T - - - ( 1 ) ]]> 步骤(2),选择距离核函数K(xi,xj),利用非线性映射集合Φ把原始空间的训练数据集L映射到核特征空间F中;步骤(2.1),设定Φ为每个所述训练样本xl的非线性映射关系Φ(xl)的集合,Φ={Φ(x1),Φ(x2),…Φ(xl),…Φ(xL)},则距离核函数K(xi,xj)定义为训练样本数据集L中任意两个样本xi,xj的非线性映射关系Φ(xi),Φ(xj)的内积:K(xi,xj)=<Φ(xi),Φ(xj)>,i∈L,j∈L,当把原始空间的训练样本数据集L用距离核函数K(xi,xj)映射到核特征空间F中时:K(xi,xj)=<Φ(xi),Φ(xj)>=-c||xi-xj||d,0≤d≤2,当取c=1时,d=0.3,得到训练样本的数据映射样本集;步骤(2.2),对每一个训练样本的映射样本数据进行标准化处理,得到:φ ( x ij ) = Φ ( x ij ) - A ‾ j S j - - - ( 2 ) ]]> 其中样本均值:Φ(xij)表示每个样本的像素集合,第j个样本的标准差:得到标准化后的训练样本的数据映射样本集如下:φ={(φ(x11),...,φ(x1M)),(φ(x21),…φ(x2M)),(φ(xL1),…φ(xLM))},M=784;步骤(3),采用K均值聚类的方法将步骤(2)得到的标准化的训练样本的训练数据映射样本集数据分成N类子集;步骤(3.1),在核特征空间F中,将标准化后的训练样本的训练数据映射样本集L随机分成N类,每一类的训练数据映射样本个数相等,每一类的训练数据映射样本个数为Ln,则n=1,2,…,n,…,N,将每一类的训练数据映射样本的均值作为初始聚类中心的集合,N<L,其中,第n个初始聚类中心为Cn:C n = 1 L n Σ n = 1 L n φ ( x ni ) , ]]> n=1,2,…,n,…N,i=1,2,…,Ln (3)其中,φ(xni)是第n类的第i个样本在核特征空间F上的投影;步骤(3.2),在核特征空间F中分别计算每一个标准化后的训练数据映射样本φ(x)与N个初始聚类中心的距离D:D = | | φ ( x ) - C n | | 2 = | | φ ( x ) - 1 L n Σ n = 1 L n φ ( x ni ) | | 2 ]]> (4)= < φ ( x ) , φ ( x ) > - 2 L n < φ ( x ) , Σ i = 1 L n φ ( x ni ) > + ]]>1 L n 2 Σ l = 1 L n Σ m = 1 L n < φ ( x nl ) , ]]> φ(xnm)>,l∈Ln,m∈Ln,l≠m其中,φ(xnl),φ(xnm)分别表示第n类的第l个样本和第m个样本;步骤(3.3),根据步骤(3.2)所得到的结果,若给定训练样本x的标准化训练数据映射样本φ(x)与第n个初始聚类中心的距离最小,则给定的训练样本x属于第n个初始聚类中心所在的类别,从而得到N类子集;步骤(3.4),对于步骤(3.3)中得到的每类子集,分别以每个训练数据映射样本为类中心,计算类内其它各映射样本的样本点到类中心的距离,并算出距离之和,距离之和最小的类中心就是该类的类中心cn*。最小的距离之和就是该类的误差平方和,将各类的误差平方和加起来就得到总的误差平方和的值D*,计算公式如下:D * = Σ n = 1 N Σ i = 1 L n | | φ ( x i ) - c n * | | - - - ( 5 ) ]]> 其中D*表示总的误差平方和,cn*表示更新后的聚类中心;步骤(3.5),重复步骤(3.3)和步骤(3.4),直到N类子集总的误差平方和的变化值小于设定的误差平方和变化值ΔD为止,ΔD<0.001,从而把训练样本集L分成N类子集,并得到每类的聚类中心;步骤(4),按以下步骤在核特征空间F中对步骤(3.5)中的每类子集进行主成分分析计算得到变换矩阵步骤(4.1),计算第n类训练数据映射样本子集的核矩阵中的特征值和特征向量,步骤如下:步骤(4.1.1),设定经过子集划分后的第n类子集为n=1,2,…,N,Ln为子集Xn的样本个数,显然,有以及成立,经过非线性变换之后,子集Xn对应的特征点集为核矩阵K分为N×N块,即K=Kij,i=1,2,…,N,j=1,2,…,N,其中:Kij=φT(Xi)φ(Xj),Xi,Xj表示第i,j类子集的原始训练样本;步骤(4.1.2),按下式计算每类映射子集的协方差矩阵Rn,Rn=φ(Xn)φT(Xn)其中:φ(Xn)表示第n类子集在特征空间中的样本训练集,Xn表示第n类子集的样本,计算得到Rn的特征值为:对应的特征向量是:得到:R n = Σ j = 1 L n λ j n v j n ( v j n ) T = Σ j = 1 L n v · j n ( v · j n ) T , j = 1,2 , . . . , L n - - - ( 6 ) ]]> 其中,为核矩阵Knn的单位特征向量,其对应特征值为步骤(4.2),根据累积贡献率选择Rn的最大的前pn个特征值对应的特征向量,设Rn的Ln个特征值为则Rn的前t个特征值的累积贡献率γ(t)为:γ ( t ) = S n ( t ) S n - - - ( 7 ) ]]> 其中,t为设定值,是任意选择的,Sn为总特征值:Sn(t)为前t个特征值,给定一个累积贡献率ra=85%,逐渐增加t直到某一个ts,有γ(ts)≥ra,则选择Rn的最大的前pn个特征值对应的特征向量,pn的个数为ts个;步骤(4.3),根据各类子集与总训练集L的协方差矩阵的关系求变换矩阵根据步骤(4.2)的结果,若满足以下条件:Σ n = 1 N Σ j = p n + 1 L n λ j n < < Σ n = 1 N Σ j = 1 L n λ j n - - - ( 8 ) ]]> 即在标准化后的训练数据映射样本集中,每类子集内第pn+1个特征值以后的所有特征值之和相对于每类子集标准化后的训练数据映射样本集的特征值之和非常小可以忽视的情况,则令Rn的近似矩阵用表示:R · n = Σ i = 1 p n v · i n ( v · i n ) T - - - ( 9 ) ]]> 用前pn个特征值的特征向量来表示Rn的协方差矩阵,又由于总训练样本集的协方差矩阵和每类子集的协方差矩阵满足以下的关系:R = 1 L Σ i = 1 L φ ( x i ) φ T ( x i ) = ]]>1 L Σ n = 1 N Σ i = 1 L n φ ( x ni ) φ T ( x ni ) = = 1 L Σ n = 1 N R n - - - ( 10 ) ]]> 总协方差矩阵的近似矩阵表示为可表示为:R · = 1 L Σ n = 1 N R · n = 1 L Σ n = 1 N Σ j = 1 p n v · j n ( v · j n ) T - - - ( 11 ) ]]> 得到这样对R的特征值分解就可以近似的转换为对的特征值分解,设和为的特征值和特征向量,则有:R · μ · = λ · μ · - - - ( 12 ) ]]> 特征向量即是变换矩阵,变换矩阵可表示为:μ · = Σ n = 1 N Σ j = 1 p n v · j k β · nj = Σ k = 1 N Σ j = 1 p n φ ( X n ) α j n β · nj - - - ( 13 ) ]]> 系数n=1,2,…,N,j=1,2,…,pn为设定值;步骤(5),对训练样本数据集和测试样本数据集利用变换矩阵进行投影,分别得到训练样本的特征数据集和测试样本的特征数据集;步骤(5.1),利用变换矩阵求训练样本的特征数据集,将式(9)、(13)代入式(12),得到:K · a · = λ · a · - - - ( 14 ) ]]> 式中,i=1,…N,j=1,…,N为近似核矩阵,是一个分块矩阵,是pi×pj阶矩阵,pi,pj分别表示选择的前pi,pj个特征值和特征向量,这样利用近似核矩阵就可以计算得到它的特征向量即训练样本特征集:a · = [ γ · 11 , . . . , γ · 1 p 1 , γ · 21 , . . . γ · 2 p 2 , γ · N 1 , . . . γ · Np N ] T - - - ( 15 ) ]]> 步骤(5.2),计算测试样本的特征数据集,对于测试样本z,它在特征向量上的投影为:μ · T φ ( z ) = Σ n = 1 N Σ j = 1 p n β · nj ( α j n ) T φ T ( X n ) φ ( z ) = Σ n = 1 N Σ j = 1 p n β · nj ( α j n ) ι n - - - ( 16 ) ]]> 式中,K(xn1,z)表示第n类样本集中第一个样本数据与测试样本数据集的核矩阵;步骤(6),利用训练样本特征数据集训练支持向量机,得到数字识别的分类器;步骤(6.1),选择径向基函数作为核函数,建立训练模型,其中,径向基核函数形式为:K ( x , x i ) = exp ( - | | x - x i | | 2 δ 2 ) - - - ( 17 ) ]]> 其中,xi是核函数中心,δ为函数的半径参数;步骤(6.2),采用LIBSVM2.86软件包来建立支持向量机的训练模型,确定径向基核函数的惩罚因子和参数半径的最优值,利用LIBSVM软件包建立的训练模型是:model=svmtrain(TrainLabel,Strain,’-c1024–g0.25’);其中,TrainLabel表示训练样本的真实标签值,Strain表示训练样本的特征数据集,c表示惩罚因子,g即δ,表示径向基核函数的半径参数,采用十折交叉验证法来选择最优参数来提高预测精度,将训练集分成十份,轮流将其中九份做训练样本,一份做测试样本,平均十次的结果最终得到一个单一估测值;步骤(7),将测试样本特征数据集输入到已训练好的支持向量机分类器,得到数字识别结果,步骤(7.1),利用建立好的分类模型测试训练样本的识别率:preTrainlabel=svmpredict(TrainLabel,Strain,model);步骤(7.2),将测试样本特征集放入分类模型中,得到分类结果:cv=svmpredict(TestLabel,Stest,model);其中,TestLabel是测试样本集中每个样本的真实标签值,Stest表示测试样本的特征数据集,model是建立好的训练模型,cv得到的结果就是测试样本利用分类模型得到的识别结果,将由支持向量机识别得到的结果和标准的测试样本值做比较,如果相同则识别正确,否则识别错误,以此得到识别正确率。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210592487.8/,转载请声明来源钻瓜专利网。