一种基于多重流形的手写数据分类方法及系统与流程

文档序号:15131371发布日期:2018-08-10 07:53阅读:149来源:国知局
本发明涉及模式识别领域,特别涉及一种基于多重流形的手写数据分类方法及系统。
背景技术
:手写体数字识别一直是模式识别领域的一个重要研究课题,有着极为广泛的应用前景。随着计算机技术和数字图像处理技术的飞速发展,数字识别技术在大规模数据统计、邮件分拣、财务、税务和金融领域中得到了广泛的应用。然而,手写体数字是高维数据,如果直接对其识别,不仅时间长,而且计算复杂度大。现有技术中,通常将手写体数字进行降维后再识别,目前大多应用神经网络提取特征或降维后再识别等方法。然而上述方法都会破坏数据的原始结构,造成特征流失。因此,如何能够在兼顾时间复杂度小的情况下,尽可能多地保留高维数据的原始结构,提高手写体数据的识别精度,是现今急需解决的问题。技术实现要素:本发明的目的是提供一种基于多重流形的手写数据分类方法及系统,以辨识高维数据中的多重流形结构,兼顾时间复杂度小的情况下,尽可能多地保留高维数据的原始结构,提高手写体数据的识别精度。为解决上述技术问题,本发明提供一种基于多重流形的手写数据分类方法,包括:获取高维数据集;分别计算所述高维数据集中任意两个数据点之间的相似度,获取所述高维数据集对应的相似矩阵;其中,所述相似矩阵包括所述高维数据集中每个数据点对应的底层低维流形结构信息;根据所述相似矩阵,构建所述高维数据集对应的目标拉普拉斯矩阵;将所述目标拉普拉斯矩阵的前第一预设数量的特征向量聚入到第二预设数量的类别内,获取所述高维数据集的分类结果。可选的,所述根据所述相似矩阵,构建所述高维数据集对应的目标拉普拉斯矩阵,包括:根据所述相似矩阵,计算所述高维数据集对应的度矩阵;其中,所述度矩阵e中的元素eii=σjwij,wij为相似矩阵w中的元素;利用l=e-w,构建所述高维数据集对应的拉普拉斯矩阵;利用构建所述高维数据集对应的标准化拉普拉斯矩阵;利用构建所述高维数据集对应的目标拉普拉斯矩阵;其中,正则化项lg=hn–xt(xxt+γgid)-1x,为中心矩阵,μ和γg为预设的正则化参数。可选的,所述分别计算所述高维数据集中任意两个数据点之间的相似度,获取所述高维数据集对应的相似矩阵,包括:利用分别计算所述高维数据集中任意两个数据点之间的相似度;其中,所述高维数据集为x={xk|xk∈rd,k=1,…,n},d和n分别为数据点xk的特征维度和样本个数,xi和xj分别为所述高维数据集中任意两个数据点,o∈n+为预设的可调参数,knn(xj)为xj的k个近邻集合,k为预设参数,且λ1,…,λd为xi和xj的局部切空间矩阵乘积vi*vj的奇异值,d为预设的xi和xj映射到的低维空间维度,数据点xk的局部切空间矩阵为vk∈rd×d,xk的局部切空间矩阵包括xk的底层低维流形结构信息;获取所述高维数据集对应的相似矩阵;其中,所述相似矩阵为w∈rn×n。可选的,所述利用分别计算所述高维数据集中任意两个数据点之间的相似度,包括:利用概率主成分分析器计算得到所述高维数据集中每个数据点的局部切空间矩阵。可选的,所述将所述目标拉普拉斯矩阵的前第一预设数量的特征向量聚入到第二预设数量的类别内,获取所述高维数据集的分类结果,包括:利用k-means方法将所述目标拉普拉斯矩阵的前第一预设数量的特征向量聚入到第二预设数量的类别内,获取所述高维数据集的分类结果。此外,本发明还提供了一种基于多重流形的手写数据分类系统,包括:获取模块,用于获取高维数据集;计算模块,用于分别计算所述高维数据集中任意两个数据点之间的相似度,获取所述高维数据集对应的相似矩阵;其中,所述相似矩阵包括所述高维数据集中每个数据点对应的底层低维流形结构信息;构建模块,用于根据所述相似矩阵,构建所述高维数据集对应的目标拉普拉斯矩阵;分类模块,用于将所述目标拉普拉斯矩阵的前第一预设数量的特征向量聚入到第二预设数量的类别内,获取所述高维数据集的分类结果。可选的,所述构建模块,包括:第一计算子模块,用于根据所述相似矩阵及所述高维数据集中每个数据点投射得到的底层低维流形结构,计算所述高维数据集对应的度矩阵;其中,所述度矩阵e中的元素eii=σjwij,wij为相似矩阵w中的元素;第一构建子模块,用于利用l=e-w,构建所述高维数据集对应的拉普拉斯矩阵;第二构建子模块,用于利用构建所述高维数据集对应的标准化拉普拉斯矩阵;第三构建子模块,用于利用构建所述高维数据集对应的目标拉普拉斯矩阵;其中,正则化项lg=hn–xt(xxt+γgid)-1x,为中心矩阵,μ和γg为预设的正则化参数。可选的,所述计算模块,包括:第二计算子模块,用于利用分别计算所述高维数据集中任意两个数据点之间的相似度;其中,所述高维数据集为x={xk|xk∈rd,k=1,…,n},d和n分别为数据点xk的特征维度和样本个数,xi和xj分别为所述高维数据集中任意两个数据点,o∈n+为预设的可调参数,knn(xj)为xj的k个近邻集合,k为预设参数,且λ1,…,λd为xi和xj的局部切空间矩阵乘积vi*vj的奇异值,d为预设的xi和xj映射到的低维空间维度,数据点xk的局部切空间矩阵为vk∈rd×d,xk的局部切空间矩阵包括xk的底层低维流形结构信息;获取子模块,用于获取所述高维数据集对应的相似矩阵;其中,所述相似矩阵为w∈rn×n。可选的,所述第二计算子模块,包括:分析器计算单元,用于利用概率主成分分析器计算得到所述高维数据集中每个数据点的局部切空间矩阵。可选的,所述分类模块,包括:分类子模块,用于利用k-means方法将所述目标拉普拉斯矩阵的前第一预设数量的特征向量聚入到第二预设数量的类别内,获取所述高维数据集的分类结果。本发明所提供的一种基于多重流形的手写数据分类方法,包括:获取高维数据集;分别计算高维数据集中任意两个数据点之间的相似度,获取高维数据集对应的相似矩阵;其中,相似矩阵包括高维数据集中每个数据点对应的底层低维流形结构信息;根据相似矩阵,构建高维数据集对应的目标拉普拉斯矩阵;将目标拉普拉斯矩阵的前第一预设数量的特征向量聚入到第二预设数量的类别内,获取高维数据集的分类结果;可见,本发明通过分别计算高维数据集中任意两个数据点之间的相似度,获取高维数据集对应的相似矩阵,获得高维数据的底层低维映射流形结构,可以构建同时考虑高维数据的高维结构和底层低维映射结构的拉普拉斯矩阵,利用目标拉普拉斯矩阵对拉普拉斯矩阵进行特征值分解,从而对得到的特征值进行聚类,得到高维数据集的聚类结果,在兼顾时间复杂度小的情况下,尽可能多地保留了高维数据的原始结构,提高了手写体数据的识别精度。此外,本发明还提供了一种基于多重流形的手写数据分类系统,同样具有上述有益效果。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本发明实施例所提供的一种基于多重流形的手写数据分类方法的流程图;图2为本发明实施例所提供的一种基于多重流形的手写数据分类系统的结构图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请参考图1,图1为本发明实施例所提供的一种基于多重流形的手写数据分类方法的流程图。该方法可以包括:步骤101:获取高维数据集。其中,本步骤中的高维数据集可以为手写数字数据集,如手写数字的光学识别数据集(optdigits),optdigits是将手写体数字的16*16像素图片以灰度值标识后以矩阵形式进行存储的一个数据集,数据集中共含有5620个不同的样本,以0~9十个不同的数字对其进行分类,并提供每个样本的真实类别标签。可以理解的是,本步骤中获取高维数据集的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如可以直接接收用户发送的高维数据集,也可以根据手写数字的图片自行生成对应的高维数据集。只要可以获取高维数据集,本实施例对此不做任何限制。具体的,本步骤中的高维数据集可以为x={xk|xk∈rd,k=1,…,n},其中,d和n分别为数据点xk的特征维度和样本个数。d和n的具体数值根据获取的高维数据集的具体内容对应进行变化,如获取的高维数据集为optdigits时,d=64,n=5620。步骤102:分别计算高维数据集中任意两个数据点之间的相似度,获取高维数据集对应的相似矩阵;其中,相似矩阵包括高维数据集中每个数据点对应的底层低维流形结构信息。其中,本步骤的目的可以为通过计算高维数据集x中任意两个数据点xi和xj之间的相似度wij,从而获得高维数据集x对应的一个相似矩阵w∈rn×n,获得高维数据的底层低维映射流形结构,其中,i=1,…,n,j=1,…,n。可以理解的是,本步骤中的相似矩阵中的元素分别为高维数据集中任意两个数据点之间的相似度。对于高维数据集中任意两个数据点之间的相似度的具体计算方法,可以利用公式计算得到,其中,o∈n+为预设的可调参数,knn(xj)为xj的k个近邻集合,k为预设参数,且λ1,…,λd为xi和xj的局部切空间矩阵乘积vi*vj的奇异值,d为预设的xi和xj映射到的低维空间维度,xi和xj的局部切空间矩阵vi和vj可以分别包括xi和xj的底层低维流形结构信息。需要说明的是,xi和xj的局部切空间矩阵vi∈rd×d和vj∈rd×d均可以由概率主成分分析器计算得到。也就是说,可以计算高维数据集中任意两个数据点之间的相似度的过程中,可以利用概率主成分分析器计算得到每个数据点的底层低维流形结构信息,即局部切空间矩阵;其中,数据点xk的局部切空间矩阵vk∈rd×d。然后可以在接下来的步骤中将每个数据点的底层低维流形结构信息作为正则化项进一步规范高维数据的标准化拉普拉斯矩阵,得到高维数据的目标拉普拉斯矩阵。具体的,本实施例所提供的方法在对optdigits进行识别时,可以将预设的可调参数o设置为8;将预设参数k设置为18,也就是k=2∨(log(n))=18;将预设的xi和xj映射到的低维空间维度d设置为3。本实施例对此不做任何限制。步骤103:根据相似矩阵,构建高维数据集对应的目标拉普拉斯矩阵。其中,本步骤的目的可以为利用高维数据集对应的相似矩阵,构建同时考虑数据高维结构和低维映射结构的拉普拉斯矩阵,并构建目标拉普拉斯矩阵对该拉普拉斯矩阵进行特征值分解。可以理解的是,对于根据相似矩阵,构建高维数据集对应的目标拉普拉斯矩阵的具体方式,可以根据相似矩阵,计算高维数据集对应的度矩阵;其中,度矩阵e中的元素eii=σjwij,wij为相似矩阵w中的元素;利用l=e-w,构建高维数据集对应的拉普拉斯矩阵;利用构建高维数据集对应的标准化拉普拉斯矩阵;利用构建高维数据集对应的目标拉普拉斯矩阵;其中,正则化项lg=hn–xt(xxt+γgid)-1x,为中心矩阵,μ和γg为预设的正则化参数。具体的,本实施例所提供的方法在对optdigits进行识别时,可以预设的正则化参数μ和γg分别设置为10-6和1,也就是μ=10-6,γg=1。本实施例对此不做任何限制。步骤104:将目标拉普拉斯矩阵的前第一预设数量的特征向量聚入到第二预设数量的类别内,获取高维数据集的分类结果。可以理解的是,对于本步骤中将目标拉普拉斯矩阵的前第一预设数量的特征向量聚入到第二预设数量的类别内的具体方式,可以采用与现有技术相似的方式,如利用k-means方法将目标拉普拉斯矩阵的前第一预设数量的特征向量聚入到第二预设数量的类别内,本实施例对此不做任何限制。其中,对于本步骤中第一预设数量和第二预设数量的具体数值设置,可以由设计人员或用户根据实用场景或用户需求自行设置,如本实施例所提供的方法在对optdigits进行识别时,可以将第一预设数量和第二预设数量均设置为10。本实施例对此不做任何限制。具体的,分别利用本实施例所提供的方法(semmc)与k均值聚类(简写为k-means)、谱聚类(简写为sc)、谱嵌入聚类(简写为sec)、谱曲率聚类(简写为scc)和谱多重流形聚类(简写为smmc)对optdigits进行识别,表1列出了上述算法应用在optdigits数据集上的100次独立运行的平均精确度和相应的标准差。表1方法精确度±标准差semmc87.36±2.40k-means79.19±3.46sc78.77±0.01scc79.31±2.81sec74.41±3.99smmc15.57±1.00可以看出,本发明所提供的方法对手写体数据的识别是明显优于其他算法的。本实施例中,本发明实施例通过分别计算高维数据集中任意两个数据点之间的相似度,获取高维数据集对应的相似矩阵,获得高维数据的底层低维映射流形结构,可以构建同时考虑高维数据的高维结构和底层低维映射结构的拉普拉斯矩阵,利用目标拉普拉斯矩阵对拉普拉斯矩阵进行特征值分解,从而对得到的特征值进行聚类,得到高维数据集的聚类结果,在兼顾时间复杂度小的情况下,尽可能多地保留了高维数据的原始结构,提高了手写体数据的识别精度。请参考图2,图2为本发明实施例所提供的一种基于多重流形的手写数据分类系统的结构图。该系统可以包括:获取模块100,用于获取高维数据集;计算模块200,用于分别计算高维数据集中任意两个数据点之间的相似度,获取高维数据集对应的相似矩阵;构建模块300,用于根据相似矩阵,构建高维数据集对应的目标拉普拉斯矩阵;分类模块400,用于将目标拉普拉斯矩阵的前第一预设数量的特征向量聚入到第二预设数量的类别内,获取高维数据集的分类结果。可选的,构建模块300,可以包括:第一计算子模块,用于根据相似矩阵,计算高维数据集对应的度矩阵;其中,度矩阵e中的元素eii=σjwij,wij为相似矩阵w中的元素;第一构建子模块,用于利用l=e-w,构建高维数据集对应的拉普拉斯矩阵;第二构建子模块,用于利用构建高维数据集对应的标准化拉普拉斯矩阵;第三构建子模块,用于利用构建高维数据集对应的目标拉普拉斯矩阵;其中,正则化项lg=hn–xt(xxt+γgid)-1x,为中心矩阵,μ和γg为预设的正则化参数。可选的,计算模块200,可以包括:第二计算子模块,用于利用分别计算高维数据集中任意两个数据点之间的相似度;其中,高维数据集为x={xk|xk∈rd,k=1,…,n},d和n分别为数据点xk的特征维度和样本个数,xi和xj分别为高维数据集中任意两个数据点,o∈n+为预设的可调参数,knn(xj)为xj的k个近邻集合,k为预设参数,且λ1,…,λd为xi和xj的局部切空间矩阵乘积vi*vj的奇异值,d为预设的xi和xj映射到的低维空间维度;获取子模块,用于获取高维数据集对应的相似矩阵;其中,相似矩阵为w∈rn×n。可选的,第二计算子模块,可以包括:分析器计算单元,用于利用概率主成分分析器计算得到每个数据点的局部切空间矩阵;其中,数据点xk的局部切空间矩阵vk∈rd×d。可选的,分类模块400,可以包括:分类子模块,用于利用k-means方法将目标拉普拉斯矩阵的前第一预设数量的特征向量聚入到第二预设数量的类别内,获取高维数据集的分类结果。本实施例中,本发明实施例通过计算模块200分别计算高维数据集中任意两个数据点之间的相似度,获取高维数据集对应的相似矩阵,获得高维数据的底层低维映射流形结构,可以构建同时考虑高维数据的高维结构和底层低维映射结构的拉普拉斯矩阵,利用目标拉普拉斯矩阵对拉普拉斯矩阵进行特征值分解,从而对得到的特征值进行聚类,得到高维数据集的聚类结果,在兼顾时间复杂度小的情况下,尽可能多地保留了高维数据的原始结构,提高了手写体数据的识别精度。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或
技术领域
内所公知的任意其它形式的存储介质中。以上对本发明所提供的基于多重流形的手写数据分类方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1