CN103093235B - 一种基于改进距离核主成分分析的手写体数字识别方法 - Google Patents
一种基于改进距离核主成分分析的手写体数字识别方法 Download PDFInfo
- Publication number
- CN103093235B CN103093235B CN201210592487.8A CN201210592487A CN103093235B CN 103093235 B CN103093235 B CN 103093235B CN 201210592487 A CN201210592487 A CN 201210592487A CN 103093235 B CN103093235 B CN 103093235B
- Authority
- CN
- China
- Prior art keywords
- sample
- training
- class
- feature
- kernel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004458 analytical method Methods 0.000 title abstract description 3
- 238000012549 training Methods 0.000 claims abstract description 161
- 239000011159 matrix material Substances 0.000 claims abstract description 80
- 238000012360 testing method Methods 0.000 claims abstract description 55
- 230000009466 transformation Effects 0.000 claims abstract description 28
- 239000013598 vector Substances 0.000 claims abstract description 28
- 238000013507 mapping Methods 0.000 claims abstract description 26
- 238000012706 support-vector machine Methods 0.000 claims abstract description 21
- 238000004364 calculation method Methods 0.000 claims abstract description 14
- 238000013506 data mapping Methods 0.000 claims description 41
- 238000000513 principal component analysis Methods 0.000 claims description 19
- 230000001186 cumulative effect Effects 0.000 claims description 14
- 238000013145 classification model Methods 0.000 claims description 11
- 238000000354 decomposition reaction Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 6
- 238000003064 k means clustering Methods 0.000 claims description 6
- 238000002790 cross-validation Methods 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000012935 Averaging Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 9
- 238000000605 extraction Methods 0.000 abstract description 7
- 238000003909 pattern recognition Methods 0.000 abstract description 3
- 230000003902 lesion Effects 0.000 abstract 2
- 210000004940 nucleus Anatomy 0.000 abstract 2
- 102000008297 Nuclear Matrix-Associated Proteins Human genes 0.000 abstract 1
- 108010035916 Nuclear Matrix-Associated Proteins Proteins 0.000 abstract 1
- 238000013473 artificial intelligence Methods 0.000 abstract 1
- 210000000299 nuclear matrix Anatomy 0.000 abstract 1
- 230000006870 function Effects 0.000 description 43
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000009467 reduction Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000000429 assembly Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012847 principal component analysis method Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Landscapes
- Complex Calculations (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于改进距离核主成分分析的手写体数字识别方法,属于模式识别与人工智能领域。本发明的特征在于,采用MNIST数据库作为实验对象,首先对样本进行二值化预处理,将处理后的样本数据利用距离核映射的核特征空间,在核特征空间利用K均值聚类将训练样本集分为N类子集,然后在核空间中计算核矩阵的特征向量得到变换矩阵,利用变换矩阵进行特征提取,将提取的特征数据集放入支持向量机建立训练模型,最后利用模型预测测试样本的识别率。本发明可以很好的提高手写体数字识别率高,减少运行时间,并且可以解决大样本的计算代价巨大的问题。
Description
技术领域
本发明涉及字符识别技术领域,尤其涉及一种基于改进的距离核主成分分析的手写体数字识别方法,属于模式识别领域。
背景技术
手写体数字识别具有非常广泛的应用,如银行,邮局,税务等。虽然人们在文字识别的研究中已取得很多成就,但距真正意义上的应用还有一定的距离。数字识别的关键在于特征提取,选取的特征要具有可分辨性、可靠性、独立性。
目前,数字特征提取的方法有很多,主要可以分为统计特征方法和结构特征方法。主成分分析(PrincipalComponentAnalysis,PCA)是模式识别领域中一种经典的特征抽取方法,但是在非线性数据分布情况下该方法不够理想,由于真实的数字图像中存在着光照、旋转等非线性变化,主成分分析作为一种线性方法不能很好的描述这些非线性特征。提出将核方法推广到核空间的核主成分分析(KPCA)方法可以很好的解决非线性问题并且KPCA在人脸识别等方面取得了非常好的成果。但对于大样本的手写体数字来说,由于KPCA计算过程中的复杂性而面临巨大的计算代价,这就限制了它的实用性。
基于此,有必要改进KPCA,并可以将其应用在实际的手写体数字识别系统中。为了解决KPCA处理大样本问题时计算代价大的问题,首先将距离核函数作为KPCA的核函数,因为在计算核矩阵的过程中,该函数不需要进行复杂的高维运算,因而不会增加时间的耗费。与此同时,采用基于K均值聚类的方法对映射到核特征空间的训练样本进行子集划分,划分为若干子集,并将每个子集在特征空间中的协方差矩阵用一些特征向量近似表示,基于这种近似表示,使KPCA在求解过程,只需对一个阶数等于这些特征向量数目之和的核矩阵进行特征值分解即可,这种方法简单有效。
发明内容
本发明的手写体数字识别方法是为了提高手写体数字识别率,解决标准核成分分析应用在大样本数据集上计算复杂度高的问题,提出一种基于改进的距离核主成分分析的数字特征提取方法,并且利用支持向量机(SVM)作为分类器,以达到较高的手写体数字识别准确率。
为了解决上述技术问题,本发明在计算机中按以下技术方案予以实现:
(1)将手写体数字样本以特征向量的形式输入计算机。采用MNIST数据库,把数据库中样本进行解压缩,得到单个图像样本的形式,将这些样本进行二值化预处理后以特征向量的形式输入计算机。
(2)选择距离核函数,利用非线性映射Φ将原始空间样本映射到核特征空间F中;
(a)选择一种新的可用于核学习方法的核函数,距离核函数:
K(xi,xj)=<Φ(xi),Φ(xj)>=-c||xi-xj||d(1)
其中参数0<d≤2,c为常数,当d=2时,核KPCA等于PCA。
(b)选择核函数之后要确定核函数的参数c和d的值,由于参数的选择没有严格的理论依据,采用多次实验验证的方法来选择最优参数,将样本值代入核函数计算,这样就将原始空间样本映射到核特征空间F中;
(c)对每一个训练样本的映射样本数据进行标准化处理,得到:
其中样本均值:Φ(xij)表示每个样本的像素集合,第j个样本的标准差:得到标准化后的训练样本的数据映射样本集如下:φ={(φ(x11),...,φ(x1M)),(φ(x21),...φ(x2M)),(φ(xL1),...φ(xLM))},M=784;
(3)采用K均值聚类的方法将(2)得到标准化的训练样本的训练数据映射样本集数据分成N类子集;
本发明从聚类的角度出发,以距离为相似度准则把相似样本聚在一类,把每一类作为一个子集,以此对核特征空间样本集进行划分。又由于KPCA算法实际上是对训练样本经过核函数变换到核特征空间中的特征点进行PCA分析。核聚类算法步骤如下:
(a)确定初始聚类中心,即在核特征空间F中,将标准化后的训练样本的训练数据映射样本集L随机分成N类子集,将每一类训练数据映射样本的均值作为初始聚类中心;
(b)在核特征空间中,将每个样本根据最近邻原则分配到N类子集中;
(c)确定新的聚类中心和总的误差平方和D*的值;
对于步骤(b)中得到的每类子集,分别以每个训练数据映射样本为类中心,计算类内其它各映射样本的样本点到类中心的距离,并算出距离之和,距离之和最小的类中心就是该类的类中心cn *。最小的距离之和就是该类的误差平方和,将各类的误差平方和加起来就得到总的误差平方和的值D*;
(d)重复步骤(b)和(c),直到连续n次迭代D*<0.001为止,这样就将训练样本分成了N类子集,并得到每类子集的聚类中心。
(4)在核特征空间F中对每类子集进行主成分分析,并计算得到变换矩阵;
(a)首先,在核特征空间中计算每类子集的协方差矩阵的特征值及其特征向量,将特征值按降序排列,特征向量作相应的调整;
(b)然后,计算特征值的累积贡献率,根据累积贡献率选择前pn个的特征值对应的特征向量,累积贡献率的值就是所选的前pn个的特征值的和与总的特征值的和的比值,在本发明中,选择的累积贡献率的值为85%;
(c)最后,根据每类子集协方差矩阵Rn与总训练集协方差矩阵R的关系得到变换矩阵;
将对R的特征值分解近似转化每一类子集的协方差矩阵的和就可以求得R的特征向量,也就是所要求的变换矩阵,该变换矩阵可以使高维数据集映射成低维数据集,对训练数据集Ptrain和测试数据集Ptest利用变换矩阵进行特征提取;
(5)对训练数据集Ptrain和测试数据集Ptest利用变换矩阵进行降维,分别得到训练样本的特征数据集Strain和测试样本的特征数据集Stest。
(6)利用训练样本特征数据集Strain训练支持向量机,得到数字识别的分类器;
(a)支持向量机也是基于核方法的思想,选择径向基函数作为核函数:
径向基核函数形式为:
δ为函数的半径参数,控制函数的径向作用范围,xi是核函数中心;
(b)采用LIBSVM2.86软件包来建立支持向量机的训练模型;
训练模型是:model=svmtrain(TrainLabel,Strain,'-c1024-g0.25');
其中,TranLabel表示训练样本表示的数字大小,Strain表示训练样本特征数据集,c表示径向基核函数的惩罚因子,g即δ,表示径向基核函数的半径参数。
(7)将测试样本特征数据集Stest输入到已训练好的支持向量机分类器,得到数字识别结果;
(a)首先利用建立好的分类模型测试训练样本的识别率:
preTrainlabel=svmpredict(TrainLabel,Strain,model);
(b)然后将测试样本特征集放入分类模型中,得到分类结果:
cv=svmpredict(TestLabel,Stest,model);
其中,TestLabel是测试样本集中每个样本的真实数字大小,Stest表示测试样本的特征数据集,model是建立好的训练模型,cv得到的结果就是测试样本利用分类模型得到的识别结果。
本发明的特征在于,具体方法在计算机中是按以下步骤实现的:
步骤(1),将手写体数字样本以特征向量的形式输入计算机,首先将MNIST手写体数字数据库进行解压,分解为单个图像的形式,并进行二值化预处理,其中包括:60000个训练样本和20000个测试样本,
设定:从中选择至少20000个训练样本L组成训练样本数据集合,用{L}表示,每副图像表示为:xl,l=1,2,...,l,...,L,其中,每副图像的大小为28×28个像素点,L个训练样本图像共有L×784个像素点,L个训练样本内样本数据的协方差矩阵R为:
步骤(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),对每一个训练样本的数据映射样本进行标准化处理,得到:
其中样本均值:Φ(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<<L,其中,第n个初始聚类中心为Cn:
其中,φ(xni)是第n类的第i个样本在核特征空间F上的投影;
步骤(3.2),在核特征空间F中分别计算每一个标准化后的训练数据映射样本φ(x)与N个初始聚类中心的距离D:
其中,φ(xnl),φ(xnm)分别表示第n类的第l个样本和第m个样本;
步骤(3.3),根据步骤(3.2)所得到的结果,若给定训练样本x的标准化训练数据映射样本φ(x)与第n个初始聚类中心的距离最小,则给定的训练样本x属于第n个初始聚类中心所在的类别,从而得到N类子集;
步骤(3.4),对于步骤(3.3)中得到的每类子集,分别以每个训练数据映射样本为类中心,计算类内其它各映射样本点到类中心的距离,并算出距离之和,距离之和最小的类中心就是该类的类中心cn *,最小的距离之和就是该类的误差平方和,将各类的误差平方和加起来就得到总的误差平方和的值D*,计算公式如下:
其中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的特征值为:对应的特征向量是:得到:
其中, 为核矩阵Knn的单位特征向量,其对应特征值为
步骤(4.2),根据累积贡献率选择Rn的最大的前pn个特征值对应的特征向量,设Rn的Ln个特征值为则Rn的前t个特征值的累积贡献率γ(t)为:
其中,t为设定值,是任意选择的,Sn为总特征值:Sn(t)为前t个特征值,给定一个累积贡献率ra=85%,逐渐增加t直到某一个ts,有γ(ts)≥ra,则选择Rn的最大的前pn个特征值对应的特征向量,pn的个数为ts个;
步骤(4.3),根据各类子集与总训练集L的协方差矩阵的关系求变换矩阵根据步骤(4.2)的结果,若满足以下条件:
即在标准化后的训练数据映射样本集中,每类子集内第pn+1个特征值以后的所有特征值之和相对于每类子集标准化后的训练数据映射样本集的特征值之和非常小可以忽视的情况,则令Rn的近似矩阵用表示:
用前pn个特征值的特征向量来表示Rn的协方差矩阵,又由于总训练样本集的协方差矩阵和每类子集的协方差矩阵满足以下的关系:
总协方差矩阵的近似矩阵表示为可表示为:
得到这样对R的特征值分解就可以近似的转换为对的特征值分解,设和为的特征值和特征向量,则有:
特征向量即是变换矩阵,变换矩阵可表示为:
系数n=1,2,…,N,j=1,2,…,pn为设定值;
步骤(5),对训练样本数据集和测试样本数据集利用变换矩阵进行投影,分别得到训练样本的特征数据集和测试样本的特征数据集;
步骤(5.1),利用变换矩阵求训练样本的特征数据集,将式(9)、(13)代入式(12),得到:
式中,i=1,…N,j=1,…,N为近似核矩阵,是一个分块矩阵,是pi×pj阶矩阵,pi,pj分别表示选择的前pi,pj个特征值和特征向量,这样利用近似核矩阵就可以计算得到它的特征向量即训练样本特征集:
步骤(5.2),计算测试样本的特征数据集,对于测试样本集合z,它在特征向量上的投影为:
式中,K(xn1,z)表示第n类样本集中第一个样本数据与测试样本数据集的核矩阵;
步骤(6),利用训练样本特征数据集训练支持向量机,得到数字识别的分类器;步骤(6.1),选择径向基函数作为核函数,建立训练模型,其中,径向基核函数形式为:
δ为函数的半径参数,控制函数的径向作用范围;
步骤(6.2),采用LIBSVM2.86软件包来建立支持向量机的训练模型,确定径向基核函数的惩罚因子和参数半径的最优值,利用LIBSVM软件包建立的训练模型是:model=svmtrain(TrainLabel,Strain,’-c1024g0.25’);
其中,TrainLabel表示训练样本的真实标签值,Strain表示训练样本的特征数据集,c表示径向基核函数的惩罚因子值,g表示径向基核函数的半径参数,采用十折交叉验证法来选择最优参数来提高预测精度,将训练集分成十份,轮流将其中九份做训练样本,一份做测试样本,平均十次的结果最终得到一个单一估测值;
步骤(7),将测试样本特征数据集输入到已训练好的支持向量机分类器,得到数字识别结果;
步骤(7.1),利用建立好的分类模型测试训练样本的识别率:
preTrainlabel=svmpredict(TrainLabel,Strain,model);
步骤(7.2),将测试样本特征集放入分类模型中,得到分类结果:
cv=svmpredict(TestLabel,Stest,model);
其中,TestLabel是测试样本集中每个样本的真实标签值,Stest表示测试样本的特征数据集,model是建立好的训练模型,cv得到的结果就是测试样本利用分类模型得到的识别结果,将由支持向量机识别得到的结果和标准的测试样本值做比较,如果相同则识别正确,否则识别错误,以此得到识别率。
与现有技术相比,本发明的优点和积极效果是:一方面,选择距离核函数作为核主成分分析的核函数,在计算核矩阵的过程中,该函数不需要进行复杂的高维运算就可以完成输入空间到核特征空间的映射,因而不会增加时间的耗费;另一方面,对于标准的KPCA算法需要对一个L×L的核矩阵进行特征值分解,它的计算复杂度就是O(L3),当训练大样本集时,该方法的算法复杂度会特别大,因此面临计算代价巨大的问题。经过子集划分后的核矩阵,核矩阵K被分成N×N块,核矩阵K的计算复杂度就变为了改进后的KPCA就大大的降低了计算复杂度。采用改进后的距离核主成分分析算法提取数字特征,得到的特征更具有分类判别性,可以得到较高的识别率。
结合附图阅读本发明的实施方式的详细描述之后,本发明的其他优点也将变得更加清楚。
附图说明
图1具体实施方式中所选的MNIST数据库中样本图像;
图2手写体数字识别方法流程图;
图3利用核聚类算法进行训练集子集划分的的流程图;
图4利用改进距离核主成分分析的方法提取不同主元个数时的识别率;
具体实施方式
本发明的手写体数字识别方法是为了提高数字识别率,解决标准KPCA应用在大样本数据集上计算复杂度高的问题。下面结合附图对本发明的具体实施方式做进一步详细地说明。
实施例一,为验证所提出方法的高效性,以MNIST手写体数据库为例,其中数据库中部分图像如图1。手写体数字识别过程具体实施步骤如图2所示:
第一步:将MNIST手写体数据库进行解压分解成单副图像的形式,并对每个样本进行二值化预处理;
数据库中包括60000个训练样本和20000个测试样本,实验过程中选择L=20000个训练样本图像,每副图像表示为:xl,l=1,2,…,l…,L。其中,每副图像的大小为28×28个像素点,L个训练样本图像共有L×784个像素点,L个训练样本内样本数据的协方差矩阵R为:
第二步:选择距离核函数,利用非线性映射Φ将原始空间样本映射到核特征空间F中,步骤如下:
首先,设非线性映射Φ={Φ(x1),Φ(x2),…Φ(xl),…Φ(xL)};
其次,设距离核函数为K(xi,xj)令K(xi,xj)=<Φ(xi),Φ(xj)>=-c||xi-xj||d,其中,<Φ(xi),Φ(xj)>表示内积的形式,利用距离核函数把原始空间样本数据集映射到核特征空间F中:K(xi,xj)=<Φ(xi),Φ(xj)>=-c||xi-xj||d0≤d≤2,c为常数,采用多次试验验证的方法得到参数的最优值:c=1和d=0.3;
最后,对每一个训练样本的数据映射样本进行标准化处理,得到:
其中样本均值:Φ(xij)表示每个样本的像素集合,第j个样本的标准差:得到标准化后的训练样本的数据映射样本集如下:φ={(φ(x11),...,φ(x1M)),(φ(x21),…φ(x2M)),(φ(xL1),…φ(xLM))},M=784,
采用核方法的思想,并不需要了解具体的非线性映射Φ的形式,只要了解映射后内积的核函数形式即可。在核空间中只需要进行内积运算,这个内积运算可以在原空间中用核函数来实现。
第三步:采用K均值聚类的方法将第二步得到的标准化后的训练样本的训练数据映射样本集分成N类子集,K均值聚类算法步骤如图3所示,步骤如下:
(1)将标准化后的训练样本的训练数据映射样本集L随机分成N=10类,每一类的训练数据映射样本个数相等,每一类的训练数据映射样本个数为Ln=2000,则n=1,2,…,10,将每一类的训练数据映射样本的均值作为初始聚类中心的集合,其中,第n个初始聚类中心为Cn:
其中,φ(xni)是第n类的第i个样本在核特征空间F上的投影;
(2)对于某个给定的样本x,计算它在特征空间中与某类中心Cn的距离为:
其中,φ(xnl),φ(xnm)分别表示第n类的第l个样本和第m个样本;
(3)在核特征空间F中分别计算每一个标准化后的训练数据映射样本φ(x)与N个初始聚类中心的距离D:
其中,φ(xnl),φ(xnm)分别表示第n类的第l个样本和第m个样本,
这样,计算出每一个映射样本φx)与N类样本中心的距离,若φ(x)与第n类的中心距离比较小,那么给定的样本x就属于第n类,这样以此计算出每个样本所属的子集类别。
(4)根据上一步得到的每类子集,分别以每个训练数据映射样本为类中心,计算类内其它各映射样本点到类中心的距离,并算出距离之和,距离之和最小的类中心就是该类的类中心cn *。最小的距离之和就是该类的误差平方和,将各类的误差平方和加起来就得到总的误差平方和的值D*,计算公式如下:
其中D*表示总的误差平方和,cn *表示更新后的聚类中心;
(5)重复(3)和(4),直到N类子集总的误差平方和的变化值小于设定的误差平方和变化值ΔD为止,ΔD<0.001,从而把20000个训练样本集分成10类子集,并得到每类的聚类中心;
第四步:在核特征空间对每类子集进行主成分分析计算,得到变换矩阵
(1)在特征空间中计算每类子集核矩阵的特征值及其特征向量,将特征值按降序排列,特征向量作相应的调整;
经过上述子集划分训练样本集划分的N个子集为n=1,2,…,10,Ln为子集Xn的样本个数。显然,有以及成立。经过非线性变换以及标准化后,子集Xn对应的特征点集为对应地,把核矩阵K分成了N×N块,即K=Kij,i=1,2,…,N,j=1,2,…,N,其中:Kij=φT(Xi)φ(Xj),Xi,Xj表示第i,j类子集的原始训练样本。
记每一类子集的协方差矩阵为:Rn=φ(Xn)φT(Xn)
其中,Rn表示第n类子集的协方差矩阵,Xn表示第n类子集的样本。
计算Rn的特征值为:对应的特征向量是:那么可以得到:
其中, 为核矩阵Knn的单位特征向量,其对应特征值为计算得到特征值之后,将其按降序排列。
(2)计算特征值的累积贡献率,选择累积贡献率为85%,根据累积贡献率的大小选择前pn=70个的特征值对应的特征向量,利用每个子集特征值的累计贡献率来确定pn的值:设Rn的Ln个特征值为记:总特征值大小:前t个特征值的大小:令Rn前t个特征值的累积贡献率为:
给定一个比率ra=85%,逐渐增加t直到某一个ts,有γ(ts)≥ra,则pn=ts,即选择Rn的最大的前70个特征值对应的特征向量。
(3)根据每类子集与总训练集协方差矩阵的关系求变换矩阵
则由KPCA算法原理计算:
从Rn的Ln个特征值中选择最大的前pn个特征值对应的特征向量为:满足则:第n类的协方差矩阵近似表示为:
总的协方差矩阵近似表示为:
显然有这样对R的特征值分解,就可以近似地转换为对的特征值分解。设和为的特征值和特征向量,则有:
特征向量即是变换矩阵,变换矩阵可表示为:
系数n=1,2,...,10,j=1,2,...,70为设定值。
第五步:对训练数据集Ptrain和测试数据集Ptest利用变换矩阵进行降维,分别得到训练样本的特征数据集Strain和测试样本的特征数据集Stest;
(1)利用变换矩阵求训练样本特征集Strain,将式(10)、(13)代入式(12),可得:
式中,i=1,…,10,j=1,…,10为近似核矩阵,是一个分块矩阵,是pi×pj阶矩阵,pi,pj分别表示选择的前pi,pj个特征值和特征向量,这样利用近似核矩阵就可以计算得到它的特征向量即训练样本特征集:
(2)选择4000个测试样本,z表示测试样本点的集合,它在变换矩阵上的投影为:
式中,K(xn1,z)表示第n类样本集中第一个样本数据与测试样本数据集的核矩阵。
第六步:利用训练样本特征数据集Strain训练支持向量机,得到数字识别的分类器;对于支持向量机参数的选择,在众多的核函数中,选择径向基核函数(RBF):建立训练模型,xi是核函数中心,δ为函数的半径参数,控制函数的径向作用范围,利用LIBSVM软件包的训练模型是:
model=svmtrain(TrainLabel,Strain,'-c1024-g0.25');
其中,TrainLabel表示训练样本的真实标签值,Strain表示训练样本的特征数据集,在使用径向基核函数时,需要确定两个参数:惩罚因子c=1024和RBF核函数的半径参数δ=g=0.25,本实施例中采用十折交叉验证来选择最优参数来提高预测精度,将训练集分成十份,轮流将其中九份做训练一份做测试,平均十次的结果,最终得到一个单一估测值。
第七步:将降维后的测试样本特征数据集Stest输入到已训练好的支持向量机分类器,得到数字识别结果。
(a)首先利用建立好的分类模型测试训练样本特征集Strain的识别率:
preTrainlabel=svmpredict(TrainLabel,Strain,model);
(b)然后将测试样本特征集Stest放入分类模型中,得到分类结果:
cv=svmpredict(TestLabel,Stest,model);
其中,TestLabel是测试样本集中每个样本的真实数字大小,cv得到的结果就是测试样本利用分类模型得到的识别结果。将由支持向量机识别得到的结果和标准的测试样本值做比较,如果相同则识别正确,否则识别错误,以此得到识别正确率。
识别率=识别正确的数字个数/样本总个数;
利用本发明提出的识别方法在MNIST数据库上验证,在实验过程中,当选取不同的主元个数时的识别率如图4所示,当主元个数为70时,识别率是最高的。在选取主元个数为70时,实验30次,取30次实验结果的平均值,得到的训练样本的识别率为100%,测试样本的识别率为99.2%。
本发明的手写体数字识别方法,基于核主成分分析,既能保持核主成分分析的优点,在数字特征提取方面可以在对高维数据进行降维后有效的保留数据内部的非线性结构,得到数字特征更具有分类判别性,提高识别率,又针对核主成分分析在解决大样本问题上计算复杂度大、耗费时间大的问题进行改进,选择距离核函数作为核主成分分析的核函数,并且提出了基于核聚类分析的子集划分方法,大大降低了核矩阵的计算复杂度和存储资源,适用于实际的手写体数字识别系统。在保持手写体数字高识别率的同时减少计算复杂度,更重要的是当样本数据非常大时,本发明所提出的方法仍然可以使用。
最后应说明的是:以上实施例仅用以说明本发明而并非限制本发明所描述的技术方案;因此,尽管本说明书参照上述的各个实施例对本发明已进行了详细的说明,但是,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或等同替换,其均应涵盖在本发明的权利要求范围当中。
Claims (1)
1.一种基于改进距离核主成分分析的手写体数字识别方法,其特征在于:具体方法在计算机中是按以下步骤实现的:
步骤(1),将手写体数字样本以特征向量的形式输入计算机,首先将MNIST手写体数字数据库进行解压,分解为单个图像的形式,其中包括:60000个训练样本和20000个测试样本,
设定:从中选择至少20000个训练样本L组成训练样本数据集合,用{L}表示,每副图像表示为:xi,l=1,2,…,l,…L,其中,每副图像的大小为28×28个像素点,L个训练样本图像共有L×784个像素点,L个训练样本内样本数据的协方差矩阵R为:
步骤(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),对每一个训练样本的映射样本数据进行标准化处理,得到:
其中样本均值:Φ(xij)表示每个样本的像素集合,第j个样本的标准差:得到标准化后的训练样本的数据映射样本集如下:
φ={(φ(x11),...,φ(x1M)),(φ(x21),…φ(x2M)),(φ(xL1),…φ(xLM))},M=784;
步骤(3),采用K均值聚类的方法将步骤(2)得到的标准化的训练样本的训练数据映射样本集数据分成N类子集;
步骤(3.1),在核特征空间F中,将标准化后的训练样本的训练数据映射样本集L随机分成N类,每一类的训练数据映射样本个数相等,每一类的训练数据映射样本个数为Ln,则将每一类的训练数据映射样本的均值作为初始聚类中心的集合,N<L,其中,第n个初始聚类中心为Cn:
其中,φ(xni)是第n类的第i个样本在核特征空间F上的投影;
步骤(3.2),在核特征空间F中分别计算每一个标准化后的训练数据映射样本φ(x)与N个初始聚类中心的距离D:
其中,φ(xnl),φ(xnm)分别表示第n类的第l个样本和第m个样本;
步骤(3.3),根据步骤(3.2)所得到的结果,若给定训练样本x的标准化训练数据映射样本φ(x)与第n个初始聚类中心的距离最小,则给定的训练样本x属于第n个初始聚类中心所在的类别,从而得到N类子集;
步骤(3.4),对于步骤(3.3)中得到的每类子集,分别以每个训练数据映射样本为类中心,计算类内其它各映射样本的样本点到类中心的距离,并算出距离之和,距离之和最小的类中心就是该类的类中心cn *,最小的距离之和就是该类的误差平方和,将各类的误差平方和加起来就得到总的误差平方和的值D*,计算公式如下:
其中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类子集为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的特征值为:对应的特征向量是:得到:
其中, 为核矩阵Knn的单位特征向量,其对应特征值为
步骤(4.2),根据累积贡献率选择Rn的最大的前pn个特征值对应的特征向量,设Rn的Ln个特征值为则Rn的前t个特征值的累积贡献率γ(t)为:
其中,t为设定值,是任意选择的,Sn为总特征值:Sn(t)为前t个特征值,给定一个累积贡献率ra=85%,逐渐增加t直到某一个ts,有γ(ts)≥ra,则选择Rn的最大的前pn个特征值对应的特征向量,pn的个数为ts个;
步骤(4.3),根据各类子集与总训练集L的协方差矩阵的关系求变换矩阵根据步骤(4.2)的结果,若满足以下条件:
即在标准化后的训练数据映射样本集中,每类子集内第Pn+1个特征值以后的所有特征值之和相对于每类子集标准化后的训练数据映射样本集的特征值之和非常小可以忽视的情况,则令Rn的近似矩阵用表示:
用前pn个特征值的特征向量来表示Rn的协方差矩阵,又由于总训练样本集的协方差矩阵和每类子集的协方差矩阵满足以下的关系:
总协方差矩阵的近似矩阵表示为可表示为:
得到这样对R的特征值分解就可以近似的转换为对的特征值分解,设和为的特征值和特征向量,则有:
特征向量即是变换矩阵,变换矩阵可表示为:
系数n=1,2,…,L,…,N,j=1,2,…,L,…,Pn为设定值;
步骤(5),对训练样本数据集和测试样本数据集利用变换矩阵进行投影,分别得到训练样本的特征数据集和测试样本的特征数据集;
步骤(5.1),利用变换矩阵求训练样本的特征数据集,将式(9)、(13)代入式(12),得到:
式中,为近似核矩阵,是一个分块矩阵,是pi×pj阶矩阵,pi,pj分别表示选择的前pi,pj个特征值和特征向量,这样利用近似核矩阵就可以计算得到它的特征向量即训练样本特征集:
步骤(5.2),计算测试样本的特征数据集,对于测试样本z,它在特征向量上的投影为:
式中,K(xn1,z)表示第n类样本集中第一个样本数据与测试样本数据集的核矩阵;
步骤(6),利用训练样本特征数据集训练支持向量机,得到数字识别的分类器;步骤(6.1),选择径向基函数作为核函数,建立训练模型,其中,径向基核函数形式为:
其中,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得到的结果就是测试样本利用分类模型得到的识别结果,将由支持向量机识别得到的结果和标准的测试样本值做比较,如果相同则识别正确,否则识别错误,以此得到识别正确率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210592487.8A CN103093235B (zh) | 2012-12-30 | 2012-12-30 | 一种基于改进距离核主成分分析的手写体数字识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210592487.8A CN103093235B (zh) | 2012-12-30 | 2012-12-30 | 一种基于改进距离核主成分分析的手写体数字识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103093235A CN103093235A (zh) | 2013-05-08 |
CN103093235B true CN103093235B (zh) | 2016-01-20 |
Family
ID=48205783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210592487.8A Expired - Fee Related CN103093235B (zh) | 2012-12-30 | 2012-12-30 | 一种基于改进距离核主成分分析的手写体数字识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103093235B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354277A (zh) * | 2016-09-21 | 2017-01-25 | 成都创慧科达科技有限公司 | 一种词组语句快速输入的方法及系统 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103310205B (zh) * | 2013-07-01 | 2017-03-01 | 苏州大学 | 一种手写体数字识别方法及装置 |
CN103559513A (zh) * | 2013-11-18 | 2014-02-05 | 苏州大学 | 手写体数字识别方法及系统 |
CN106155298B (zh) * | 2015-04-21 | 2019-11-08 | 阿里巴巴集团控股有限公司 | 人机识别方法及装置、行为特征数据的采集方法及装置 |
CN104834941A (zh) * | 2015-05-19 | 2015-08-12 | 重庆大学 | 基于计算机输入下的稀疏自编码的脱机手写体识别方法 |
US11164025B2 (en) | 2017-11-24 | 2021-11-02 | Ecole Polytechnique Federale De Lausanne (Epfl) | Method of handwritten character recognition confirmation |
CN108229552B (zh) * | 2017-12-29 | 2021-07-09 | 咪咕文化科技有限公司 | 一种模型处理方法、装置及存储介质 |
CN108710907B (zh) * | 2018-05-15 | 2022-05-17 | 苏州大学 | 手写体数据分类方法、模型训练方法、装置、设备及介质 |
CN108805101A (zh) * | 2018-06-28 | 2018-11-13 | 陈静飞 | 一种基于深度学习的寄生虫虫卵的识别方法 |
CN109002843A (zh) * | 2018-06-28 | 2018-12-14 | Oppo广东移动通信有限公司 | 图像处理方法和装置、电子设备、计算机可读存储介质 |
CN109145111B (zh) * | 2018-07-27 | 2023-05-26 | 深圳市翼海云峰科技有限公司 | 一种基于机器学习的多特征文本数据相似度计算方法 |
CN110427986B (zh) * | 2019-07-16 | 2022-02-01 | 浙江大学 | 一种基于毫米波雷达点云特征的核支持向量机目标分类方法 |
CN110674822A (zh) * | 2019-09-25 | 2020-01-10 | 重庆理工大学 | 一种基于特征降维的手写数字识别方法 |
CN111475541B (zh) * | 2020-03-17 | 2024-08-06 | 中国平安人寿保险股份有限公司 | 数据决策方法、装置、电子设备及存储介质 |
CN112488205B (zh) * | 2020-11-30 | 2023-04-07 | 桂林电子科技大学 | 基于优化kpca算法的神经网络图像分类识别方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7617163B2 (en) * | 1998-05-01 | 2009-11-10 | Health Discovery Corporation | Kernels and kernel methods for spectral data |
US20080201278A1 (en) * | 2003-08-19 | 2008-08-21 | Fraunhofer-Fesellschaft Zur Forderung Der Angewandten Forschund E.V. | Method and Apparatus for Automatic Online Detection and Classification of Anomalous Objects in a Data Stream |
-
2012
- 2012-12-30 CN CN201210592487.8A patent/CN103093235B/zh not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
Handwritten Digits Recognition Approach Research based on Distance & Kernel PCA;于乃功,焦盼娜;《International Conference on Advanced Computational Intelligence》;20121020;全文 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354277A (zh) * | 2016-09-21 | 2017-01-25 | 成都创慧科达科技有限公司 | 一种词组语句快速输入的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103093235A (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103093235B (zh) | 一种基于改进距离核主成分分析的手写体数字识别方法 | |
CN111695467B (zh) | 基于超像素样本扩充的空谱全卷积高光谱图像分类方法 | |
CN112528928B (zh) | 一种基于自注意力深度网络的商品识别方法 | |
CN104573729B (zh) | 一种基于核主成分分析网络的图像分类方法 | |
CN108776812A (zh) | 基于非负矩阵分解和多样-一致性的多视图聚类方法 | |
CN104123560B (zh) | 基于相位编码特征和多度量学习的模糊人脸图像验证方法 | |
CN104899549A (zh) | 基于距离像时频图鉴别字典学习的sar目标识别方法 | |
CN108596154A (zh) | 基于高维特征选择与多级融合的遥感图像分类方法 | |
CN107292225B (zh) | 一种人脸识别方法 | |
CN103164701B (zh) | 手写体数字识别方法及装置 | |
CN105023006B (zh) | 基于增强型非参数最大边缘准则的人脸识别方法 | |
CN107451545A (zh) | 基于软标签下多通道判别非负矩阵分解的人脸识别方法 | |
CN106096517A (zh) | 一种基于低秩矩阵与特征脸的人脸识别方法 | |
Guo et al. | Deep embedded K-means clustering | |
CN105046272A (zh) | 一种基于简洁非监督式卷积网络的图像分类方法 | |
CN112836671A (zh) | 一种基于最大化比率和线性判别分析的数据降维方法 | |
CN111191700B (zh) | 基于自适应协同图判别分析的高光谱图像降维方法及装置 | |
Camastra et al. | Combining neural gas and learning vector quantization for cursive character recognition | |
CN101877065B (zh) | 小样本条件下的人脸图像非线性鉴别特征抽取和识别方法 | |
CN109063750B (zh) | 基于cnn和svm决策融合的sar目标分类方法 | |
Jin et al. | Incremental learning of LDA model for Chinese writer adaptation | |
CN105718858A (zh) | 一种基于正负广义最大池化的行人识别方法 | |
CN102609732A (zh) | 基于泛化视觉词典图的物体识别方法 | |
CN104573727A (zh) | 一种手写体数字图像降维方法 | |
CN114300049A (zh) | 基于相似度顺序保持的基因表达数据分类方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160120 |
|
CF01 | Termination of patent right due to non-payment of annual fee |