基于保持结构稀疏化的半监督字典学习方法与流程

文档序号:13703659阅读:187来源:国知局
技术领域本发明涉及计算机模式识别领域,特别是涉及一种基于保持结构稀疏化(structuralsparsity)的半监督字典学习方法。

背景技术:
字典学习(dictionarylearning),即利用训练样本学习一个过完备的基向量集(称为字典),从而获得输入样本在此字典下的稀疏表示。它是计算机模式识别领域中的研究热点之一,被广泛应用于图像去噪、图像恢复、图像分类以及压缩成像等领域。总的来说,目前的字典学习算法主要解决两个关键性问题:(1)字典的稀疏表达能力;(2)字典的判别能力。一般说来,字典的稀疏表达能力即能够用这个字典中尽可能少的原子(atom)精确重建输入样本的能力。Wright等人提出直接运用整个训练样本集作为字典来实现对输入样本的稀疏表示,并在人脸识别领域得到了不错的效果。然而,由于原始训练样本不可避免地会掺杂有噪音数据,从而影响字典的稀疏表达能力。为了能够得到自适应于输入样本集的字典,Engan等人提出了最优方向算法(methodofoptimaldirections,MOD),它是一种在字典更新和稀疏编码之间交替迭代的优化过程。Aharon等人提出了K-SVD算法,它通过奇异值分解(singularvaluedecomposition,SVD)获得对残差矩阵的秩一逼近,实现对字典原子的依次更新,并且同时得到与之相关的稀疏系数,从而降低了MOD算法的复杂度。Marial等人提出了一种随机的在线字典学习方法(onlinedictionarylearning,ODL),它能够处理具有百万级别的大数据集。以上这些方法都集中在学习字典的稀疏表达能力方面,却没有考虑字典的判别能力,因此它们不适合于分类问题。为了提高字典的判别能力,研究者利用训练样本的类别信息,提出了一些有监督的字典学习算法。Marial等人认为,每一类对应一个子字典,此类别相关的子字典应该能够很好地重建本类样本,但不能重建其它类的样本,他们将此判别性信息加入到字典学习的过程中,提高了字典的判别能力。Zhang等人将数据稀疏编码的分类误差作为判别项加入到K-SVD算法的目标函数中,从而提出了具有判别性的K-SVD算法(discriminativeK-SVD,D-KSVD)。Yang等人在字典的重构模型中加入了对稀疏编码的Fisher判别准则,提出了Fisher判别字典学习算法(Fisherdiscriminationdictionarylearning,FDDL)。Jiang等人引入“判别性稀疏编码误差”的类别一致性约束,并将它与样本的重构误差和分类误差相结合,提出了类别一致性K-SVD算法(labelconsistentK-SVD,LC-KSCD)。此外,还有一些研究者认为如果字典中的一些原子能够用来表示某个样本,则这些原子也能够用来表示此样本所在类别的其它样本,即同类样本应该共享少数字典原子。基于这个想法,Bengio等人提出了组稀疏编码模型。Chi等人运用块和组稀疏编码模型,提出了块内一致性抑制字典学习算法。有监督字典学习方法的性能很大程度上依赖于有标签训练样本的个数。当有标签样本个数很少时,学习出来字典的性能就很不稳定。然而,样本类别的标定是非常耗精力的,获得大量的有标签样本是非常困难的。另一方面,本发明可以从一些公共数据集中获得大量的无标签样本。这就促使研究者利用大量的无标签样本和少数有标签样本来共同训练字典,即半监督字典学习。Shrivastava等人在每一步迭代中根据当前字典对无标签样本的稀疏表达能力估计出无标签样本的类别置信度矩阵,并运用它来重新学习字典,从而将大量的无标签样本融入到字典更新的过程中,提出了半监督判别性字典学习算法(semi-superviseddiscriminativedictionarylearning,S2D2)。Zhang等人将有标签样本和无标签样本的重构误差、判别性稀疏编码误差以及分类误差整合在一个优化目标函数中,提出了一种在线的半监督字典学习算法。Babagholami-Mohamadabadi等人通过引入基于局部Fisher判别分析和局部线性嵌入的判别项,提出了基于概率的半监督字典学习模型。Wang等人运用对有标签样本和无标签样本的组稀疏正则化,提出了半监督的鲁棒字典学习(semi-supervisedrobustdictionarylearning,SSR-D)模型。

技术实现要素:
半监督字典学习由于运用了大量的无标签样本,因此能够很大程度上提高字典的判别能力和稀疏表达能力。容易看出,半监督字典学习的关键在于有效地利用类别标签信息以及有标签样本与无标签样本的内在结构关系。鉴于这种思想,本发明提出了一种基于保持结构稀疏化的半监督字典学习方法。具体来说,通过保持训练样本的结构稀疏性,迫使无标签样本在字典学习的过程中能够自动加入到其所在的样本类别中,并与其同类的有标签样本共享少数字典原子,从而提高字典的稀疏表达能力和判别能力,实现较好的分类效果。为了实现上述目的,本发明采用了以下的技术方案:基于保持结构稀疏化的半监督字典学习方法,主要包括以下三个步骤:(1)根据训练样本构建基于保持结构稀疏化的半监督字典学习模型。把某训练样本在其它训练样本下的稀疏表示称为训练集的自表示,把某训练样本在字典下的稀疏表示系数称为样本的稀疏编码。通过保持样本稀疏编码之间的自表示关系,迫使无标签样本在训练过程中能够与其同类的有标签样本共享少数字典原子,从而提高字典的稀疏表达能力和判别能力。(2)采用块坐标下降法(blockcoordinatedescent,BCD)对半监督字典学习模型中的各类变量进行迭代优化,直到收敛。其中,对于稀疏编码变量,本发明提出用优化最小化算法(majorization-minimization,MM)来获得解析解,对于字典变量,本发明提出用交替方向乘子算法(AlternatingDirectionMethodofMultipliers,ADMM)获得解析解。(3)提出一种构建类别相关的子字典的方法,即对于每一类,找出能够准确稀疏表示该类样本的字典原子,这些字典原子就构成了该类别相关的子字典。进一步,通过样本在各类子字典下的重构误差来对样本进行分类。进一步说,所述的步骤(1)具体包括以下子步骤:首先,运用交替方向乘子算法计算每个训练样本在其它训练样本下的稀疏表示系数,即自表示系数;其次,通过保持训练样本的稀疏编码之间的自表示关系,构建结构稀疏化约束;最后,将结构稀疏化约束、有标签样本的组稀疏编码约束以及训练样本的重构误差结合在一起,构建基于保持结构稀疏化的半监督字典学习模型。更进一步说,所述的步骤(2)具体包括以下子步骤:首先,运用块坐标下降法对半监督字典学习模型中的各类变量进行迭代优化,即根据变量间的独立性,将优化问题分解成一系列不同变量的子优化问题;其次,运用优化最小化算法实现对稀疏编码变量的解析求解;最后,运用交替方向乘子算法实现对字典变量的解析求解。更进一步说,所述的步骤(3)具体包括以下子步骤:首先,根据求得的训练样本的稀疏编码,对于每一类别,找出能够准确稀疏表示该类样本的字典原子,这些字典原子分别构成了各类别相关的子字典;其次,求解样本在各个类别子字典下的稀疏表示系数以及重构误差;最后,选取重构误差最小的子字典,其所在的类别作为样本的分类标签。本发明的有益效果是:1、本发明提出了一种全新的并且通用的半监督字典学习方法,对任意分类数据类型都适用。2、本发明探究了无标签样本与有标签样本之间的内在结构关系,提出一种结构稀疏化约束方法,迫使得大量的无标签样本能够自动加入到其所在类别中,并与其同类的有标签样本一起参与字典的学习,从而提高了字典的稀疏表达能力和判别能力。3、本发明采用了块坐标下降法算法来实现对所建半监督字典学习模型的分解迭代优化。对于稀疏编码变量,本发明提出用优化最小化算法获得解析解,对于,对于字典变量,本发明提出用交替方向乘子算法获得解析解,从而实现快速有效的字典学习。本发明也理论上证明了求解算法的收敛性。附图说明图1是基于保持结构稀疏化的半监督字典学习方法的整体流程图;图2是数据集COIL-20上的自表示系数矩阵的可视化图(白色表示非零值,黑色表示零值);图3是本发明的结构稀疏化示意图(白色表示该位置为零值,非白色表示该位置为非零值);其中(a)为未加稀疏化约束时,(b)为增加稀疏化约束时;图4是本发明的动机示意图。具体实施方式下面结合附图和实施例对本发明专利进一步说明。实施例只用于对本发明进行进一步说明,不能理解为对本发明保护范围的限定,该领域的技术人员可根据上述发明的内容对本发明做出一些非本质的改进和调整。图1为本发明整体流程图。本发明为一种基于保持结构稀疏化的半监督字典学习方法,本发明的方法具体运行的硬件和编程语言并不限制,用任何语言编写都可以完成,为此其它工作模式不再赘述。本发明的实施例采用一台具有IntelXeon-E5中央处理器和16G字节内存的计算机,并用Matlab语言编制了基于保持结构稀疏化的半监督字典学习的工作程序,实现了本发明的方法。本发明的基于保持结构稀疏化的半监督字典学习方法主要包括以下三个步骤:结构稀疏化的提出以及半监督字典学习模型的设计、块坐标下降优化算法、样本的分类策略。在介绍具体步骤之前,本发明介绍下面所要用到的符号的意义。大写字母表示矩阵,加粗的小写字母表示向量。给定一个m×n矩阵A=(aij)m×n,αi∈Rn(i=1,…,m)表示矩阵A的第i行所形成的向量,αj∈Rm(j=1,…,n)表示矩阵A的第j列所形成的向量。||A||F表示矩阵A的F-范数,即||A||p,p表示矩阵A的范数,即||A||p,p=(∑∑|αij|p)1/p,||A||2,p表示矩阵A的范数,即其中0<p<1。对于K类的分类问题,记训练样本矩阵为X=[X0,X1,…,XK]∈Rd×(u+l),其中是第c(c=1,…,K)类的样本矩阵,X0∈Rd×l是无标签样本矩阵,d是样本维数,u和l分别是无标签样本和有标签样本的个数,nc是第c(c=1,…,K)类有标签样本的个数,即记A=[A0,A1,…,AK]为X在字典D∈Rd×m下的稀疏编码矩阵,其中m表示字典D中原子的个数。针对K类的分类问题,具体步骤如下:(1)提出一种结构稀疏化约束方法,并基于此设计出一种新的半监督字典学习模型。其主要包含:a)运用交替方向乘子算法求解以下稀疏自表示问题minG||G||p,pp,s.t.X=XG,gii=0,i=1,...,u+l]]>①其中G是稀疏自表示矩阵。记问题①的最优解为其中是数据xi在其它样本下的稀疏表示系数。图2是在数据集COIL-20上计算出来的的子矩阵的可视化图像,可以看出,非常接近于块对角形,这说明如果一个无标签样本xi可以由其它样本稀疏表示,即则样本xi和很有可能来自于同一类。因此,中包含了重要的类别判别性信息。b)假设是样本在字典D∈Rd×m下的稀疏编码,即xjk=Dαjk,]]>则xi=Σk=1κg^jkixjk=Σk=1κD(g^jkiαjk)=D(Σk=1κg^jkiαjk)]]>令则αi为数据xi在字典D下的表示系数。如图3(a)所示,尽管是稀疏的,但αi不能保证一定是稀疏的。如果把αi加上稀疏化约束,则等式就会迫使中非零元素的位置是相同的,如图3(b)所示。换句话说,可能属于同一类的有标签样本和无标签样本应该共享少数字典原子。本发明将以上的这种有标签和无标签样本之间的关系称为结构稀疏化。通过将结构稀疏化约束引入到字典学习过程中,能够迫使无标签样本自动加入到它所在的类别中,与同类样本共享少数字典元素。这样会有两个好处:1)字典是由可能在同一类的无标签样本和有标签样本共同学习出来的,因此具有很好的表达能力和判别能力,2)由于共享机制的作用,使得学习出来的字典是紧致的。c)将结构稀疏化约束、有标签样本的组稀疏编码约束以及训练样本的重构误差结合在一起,构建基于保持结构稀疏化的半监督字典学习模型(D^,A^)=argminD∈Ξ,A12||X-DA||F2+λ1Σc=1K||Ac||2,pp+λ2||A0||p,pp+λ32||A-AG^||F2]]>②其中,Ξ=
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1