一种基于K近邻的支持向量机主动学习的方法与流程

文档序号:12005303阅读:508来源:国知局
一种基于K近邻的支持向量机主动学习的方法与流程
本发明涉及一种支持向量机主动学习的方法,尤其涉及一种基于K近邻的支持向量机主动学习的方法。

背景技术:
在模式识别与机器学习领域,训练一个分类性能良好的分类器需要大量的已标注样本。然而标注样本并不是越多越好。过多的样本对分类器性能的提高上帮助有限,但却会引起冗余,增加计算量。此外,在大量的训练样本中,并不是每个样本都是对训练有益的。只有那些信息含量大,对提高分类器性能贡献大的样本才是有用的样本,这样的样本才是值得我们标注的样本。因此,当标注训练样本时,除了数量之外,还应当保证标注样本的质量。这样不但能提高分类器的分类性能,而且能减少手工标注的工作量。主动学习(ActiveLearning,AL)技术正是针对这一问题提出的。主动学习技术的核心思想是:选择最有用的样本参与训练,尽可能地减少手工标注的工作量。目前已经有大量主动学习的相关研究,但是针对支持向量机(SupportVectorMachines,SVM)的主动学习研究还很少。SVM是一种非常有效的分类模型,现已广泛应用于众多分类领域。在许多分类问题中,由于手工标注非常耗费时间和精力,因此已标注训练样本的获取代价通常都很昂贵。这直接导致了已标注训练样本集通常都比较小。而SVM是解决小样本问题的最有效的分类模型之一。因此,针对SVM分类模型的主动学习研究是非常必要,非常有价值的。本申请结合K近邻和SVM分类模型来研究主动学习方法。现有文献中已经有将K近邻和SVM分类模型相结合的研究,但是这些文献中的结合方案和本申请的完全不同,而且结合方案的具体应用领域也完全不同。比如,海信集团的刘薇申请的专利“基于有监督的近邻保持嵌入和支持向量机的人脸识别方法”(专利申请号:200710114882.4),其方法中用样本的K近邻来拟合样本,然后通过拟合系数组成的矩阵来进一步对样本进行降维。其用K近邻的目的是对样本降维,得到低维空间中的样本表达。然后再用SVM对低维空间的样本进行分类。再比如,胡正平提出的“基于模糊K近邻决策的柔性SVM分类算法”中(仪器仪表学报,26卷第8期),该算法是利用模糊k近邻混迭度来判断样本和异类样本的混迭程度,进而达到修剪训练数据的目的。而本申请中是利用K近邻来服务于主动学习,通过K近邻来判断样本的信息含量,进而便于主动学习算法挑选信息含量最大的样本进行手工标注。因此,本申请对K近邻和SVM分类模型的结合研究和现有文献中的相关研究是完全不同的。最经典的支持向量机主动学习算法是由SimonTong于2001年提出的,这里简记为SVMAL。Xu指出SVMAL算法没有考虑样本的分布,因此提出一种代表性采样主动学习算法,这里简记为SVMRep。SVMRep在采样的过程中除了考虑样本与分类面的距离,同时还兼顾样本的代表性。此外,其它文献中提出的支持向量机主动学习算法也具有和SVMRep类似的算法思想,即在采样的过程中考虑样本的代表性。但是Xu通过实验发现,与SVMAL相比,代表性采样只在前几轮迭代中对分类器性能有明显的提高,却难以从整体上提高分类器的性能。

技术实现要素:
本发明的目的就是为了解决上述问题,提供一种基于K近邻的支持向量机主动学习的方法,与SVMAL和SVMRep相比,它具有能进一步提高分类器性能,进而进一步减少手工标注工作量的优点。为了实现上述目的,本发明采用如下技术方案:一种基于K近邻的支持向量机主动学习的方法,具体步骤为:步骤一:用初始已标注样本集L训练一个初始SVM分类器;步骤二:用SVM分类器对未标注样本集U中的样本进行分类,取分类间隔内的未标注样本组成潜在的高信息含量样本集Sp;步骤三:对高信息含量样本集Sp内的每个样本,确定每个样本与其K近邻样本所组成的样本集中任意两个样本之间距离的平均值,取平均值最大的样本作为信息含量最大的样本;步骤四:将此高信息含量的样本从未标注样本集U中移除,并交由专家手工标注后放入已标注样本集L中;步骤五:用更新的已标注样本集L重新训练SVM分类器;步骤六:判断是否满足停止准则,满足则停止迭代,输出训练好的SVM分类器,不满足则重复步骤二至步骤五。所述步骤二的具体步骤为:(2-1)用SVM分类器对未标注样本集U中的样本进行分类;(2-2)取处于分类间隔内的未标注样本组成潜在的高信息含量样本集Sp;Sp={xi|xi∈U,且|f(xi)|<1}所述步骤三的具体步骤为:(3-1)对高信息含量样本集Sp内每个样本xi(i=1,2,…,|Sp|),首先寻找与其距离最近的K个近邻样本,|Sp|表示高信息含量样本集Sp中的样本数量;(3-2)假设样本xi和其K近邻组成样本集Xi,然后计算Xi中任意两个样本xj、xl之间距离的平均值,将此平均距离表达为关于xi的函数:其中,D(xj,xl)表示样本xj、xl之间的欧式距离;(3-3)将具有最大平均距离值的样本选作信息含量最大的样本,记此样本为xinf,则:所述步骤(3-1)中确定K的取值的具体步骤为:(31-1)对于高信息含量样本集Sp中的任一个样本xi,首先计算其与已标注样本集L中所有样本的距离,并记作|L|表示已标注样本集L中样本的数量;令其中,D(xi,xj)表示样本xi、xj之间的欧式距离,sgn(f(xi))是SVM分类器对样本xi的分类标签,y(xj)代表已标注样本集L中样本xj的真实类标签;(31-2)将中的各个距离值按照其绝对值由小到大的顺序进行排序;(31-3)排序后,根据各个距离值的正负号,找到第一个具有和其前一距离值异号的那个距离值的位置,记这一位置为mi,mi是在{2,3,…,|L|}中取值的整数;(31-4)将高信息含量样本集Sp中所有样本的mi值记为其中,|Sp|表示高信息含量样本集Sp中样本的数量,则K近邻中K的取值应满足下列不等式:在满足上述不等式的基础上,通过重复试验最终得到了一个比较合适的K值。所述步骤六中停止准则的设定方法为:采用最大迭代次数作为停止准则;即设定迭代次数的最大值,当迭代次数达到此最大值时则停止迭代。本发明的有益效果:1.本发明基于样本的K近邻来判断样本的信息含量,其对样本信息含量的描述更加准确,因而能找到真正的信息含量大的样本,进而能更好地提高分类器的分类性能;2.本发明提出的算法能大幅度地减少手工标注的工作量,且加速分类器的收敛;3.目前,针对支持向量机的主动学习算法研究还很少,本发明提出的方法是对这方面研究的一个有益补充。附图说明图1为本发明提出的基于K近邻的支持向量机主动学习算法的流程图;图2为支持向量机分类模型的分类超平面以及分类间隔的示意图;图3为寻找mi的一个示例图;图4为三种算法在不同手工标注样本数量下的F1值对比图。具体实施方式下面结合附图与实施例对本发明作进一步说明。如图1所示,基于K近邻的支持向量机主动学习算法的流程图,其具体步骤为:(1)用初始已标注样本集L训练一个初始SVM分类器;(2)用SVM分类器对未标注样本集U中的样本进行分类。取分类间隔内的未标注样本组成潜在的高信息含量样本集Sp;(3)对Sp内每个样本,求样本与其K近邻样本所组成的样本集中任意两个样本之间距离的平均值。取平均值最大的样本作为信息含量最大的样本;(4)将此高信息含量的样本从未标注样本集U中移除,并交由专家手工标注后放入已标注样本集L中;(5)用更新的已标注样本集L重新训练SVM分类器;(6)判断是否满足停止准则,满足则停止迭代,输出训练好的SVM分类器。不满足则重复步骤(2)~步骤(5)。下面首先介绍一下“主动学习”和“支持向量机”的概念,然后再对本发明中的步骤做进一步说明。主动学习(AL):主动学习技术主要可以分为两大类:不确定性采样和基于委员会的采样。本发明提出的主动学习算法属于不确定性采样。令L代表已标注样本集,令U代表未标注样本集,则不确定性采样主动学习的算法流程可以表述为:①用初始已标注样本集L训练一个初始分类器②设计一种采样准则,从未标注样本集U中选择信息含量大的样本③将选择的样本交由专家手工标注,并将标注后的样本放入已标注样本集L中④用更新的已标注训练集L重新训练分类器⑤步骤②~④重复迭代,直至满足停止准则主动学习的关键技术在于如何定义样本的信息量,以及如何寻找信息含量大的样本。支持向量机(SVM):SVM是一种二值分类模型,可以表述为如下形式:f(x)=wTφ(x)+b(1)其中w和b分别代表权值向量和偏差,T表示矩阵的转置,φ(·)是非线性映射函数,用于将低维下线性不可分的训练数据映射到高维空间,使得样本在高维空间中线性可分。假设d维空间的训练样本为xi(i=1,2,…,N),N代表训练样本的总个数,样本的类别标签为yi∈{+1,-1}。SVM的优化目标是寻找一个分类超平面,使得该超平面不但能正确分类训练样本中的两类样本,而且能最大化两类之间的分类间隔,即:且满足yi(wTφ(xi))≥1-ξi,ξi≥0,i=1,…,N(3)其中ξi表示松弛变量,C表示惩罚因子,i是自然数。SVM分类模型的分类超平面和分类间隔的示意图如图2所示。图中H0代表分类超平面,即由f(x)=0所确定的超平面。H1,H-1分别对应超平面f(x)=+1和超平面f(x)=-1。超平面H1、H-1之间的间隔称为分类间隔。通常将此两个超平面与分类超平面之间的距离量化为1,即所以,任一样本xi到分类超平面的距离为:通过拉格朗日函数,上述优化问题可以转换为以下对偶优化问题:且满足其中αi代表拉格朗日乘子。那些拉格朗日乘子不为0的训练样本称为支持向量。通常,φ(xi)·φ(xj)的值是通过一个kernel函数K(xi,xj)求得的,因而不需要知道函数φ(·)的具体形式。对于任一待分类样本x,其类别标签是通过下式得到的:下面对本发明中的步骤做进一步说明。所述步骤(2)中,用SVM分类器对未标注样本集U中的样本进行分类,取分类间隔内的未标注样本组成潜在的高信息含量样本集Sp;用SVM分类器对未标注样本集U中的样本进行分类;根据前面对SVM分类模型的介绍,处于分类间隔内的未标注样本应当是那些到分类超平面距离小于1的样本,这些样本满足下列不等式:d(x)=|f(x)|<1(8)其中,d(x)如公式(4)所示,表示样本x到分类超平面的距离;则高信息含量样本集Sp可以表述为:Sp={xi|xi∈U,且|f(xi)|<1}(9)其中,xi表示未标注样本集中的第i个样本,|f(xi)|如公式(4)所示,反映了样本xi到分类超平面的距离。所述步骤(3):对高信息含量样本集Sp内每个样本,求样本与其K近邻样本所组成的样本集中任意两个样本之间距离的平均值,取平均值最大的样本作为信息含量最大的样本;对高信息含量样本集Sp内每个样本xi(i=1,2,…,|Sp|)(|Sp|表示Sp中样本的个数),首先从整个训练样本集(包括已标注样本集L和未标注样本集U)中寻找与其距离最近的K个近邻样本;设样本xi和其K近邻组成样本集Xi;计算Xi中任意两个样本xj、xl之间距离的平均值,将此平均距离表达为关于xi的函数:其中,D(xj,xl)表示样本xj、xl之间的欧式距离;最后,将具有最大平均距离值的样本选作信息含量最大的样本,记此样本为xinf,则:正如半监督学习的聚类假设所述,分类超平面应当穿过稀疏区域;因为相对于不同类的样本来说,同类样本更倾向于聚集在一起,因此两类之间的分类边界处样本通常会比较稀疏。具有较大Adis值的样本,说明其处在一个比较稀疏的区域,因而其处在两类边界的可能性较大;如果选择具有较大Adis值的样本训练SVM分类器,则必将有利于SVM快速找到真正的类边界。但是上述假设成立的前提条件是K近邻中K值的选取应该适当,K的取值既不能太大也不能太小;如果K取值太小,则样本的K近邻中将只包含正类样本或者只包含负类样本,此时,样本的较大Adis值只能说明其处在正类或负类的类内稀疏区域,而不代表其处在两类的边界区域。如果K取值太大,则样本的K近邻中会包含相当多正类和负类的类内部样本,这些样本都会参与Adis值的求算,因此会使Adis值受到正类和负类的类内样本分布的影响,导致Adis值不能正确反映类边界的稀疏性。本发明采用如下方法确定K的取值。由于未标注样本集U中样本的类别标签未知,因此这里只用已标注样本集L来估计K的取值。对于Sp中的任一个样本xi,首先计算其与L中所有样本的距离,并记作|L|表示L中样本的数量,此距离的求算方法为:其中,代表Sp中的第i个样本与L中的第j个样本之间的距离;D(xi,xj)表示样本xi、xj之间的欧式距离;sgn(f(xi))如公式(7)所述,代表SVM分类器对样本xi的分类标签;y(xj)代表已标注样本集L中样本xj的真实类标签;可见,对于已标注样本集L中的样本xj,如果其类标签与样本xi的分类标签一致,则为两者之间的距离D(xi,xj)添加一个正号,即+D(xi,xj);否则添加一个负号,即-D(xi,xj);将中的各个距离值按照其绝对值由小到大的顺序进行排序;排序后,只考虑各个距离值的正负号,则很容易找到第一个具有和其前一距离值异号的那个距离值的位置,记这一位置为mi,mi是在{2,3,…,|L|}中取值的整数;如图3所示,给出了寻找mi的一个示例。将Sp中所有样本的mi值记为其中,|Sp|表示Sp中样本的数量,则K近邻中K的取值应满足下列不等式:在满足上述不等式的基础上,本发明通过重复试验最终得到了一个比较合适的K值。步骤(6):判断是否满足停止准则,满足则停止迭代,输出训练好的SVM分类器。不满足则重复步骤(2)~(5)。本发明采用最大迭代次数作为停止准则。即设定迭代次数的最大值,当迭代次数达到此最大值时则停止迭代。为了验证本发明的有效性,将基于K近邻的支持向量机主动学习算法和背景技术部分介绍的SVMAL、SVMRep算法进行了比较,为便于在实验结果图中表示本发明的算法,这里将其简记为SVMKNN;将这三种算法用于音频分类领域,用于区分音频文档中的语音和非语音片段。我们创建了一个“Friends”数据库,将其中的音频片段标记为语音或非语音。帧长和帧移分别采用30毫秒和10毫秒。对每个帧提取短时能量、过零率等一系列常用的音频特征。这里以1秒长的音频片段为分类单位。对音频片段内包含的所有帧的特征取均值和标准差,将其作为音频片段的特征。而且,对每个音频片段还提取了高过零率、低能量率等音频特征。从整个音频库中随机选取约70%的样本组成训练样本集,剩下的作为测试集。将训练样本集进一步拆分成两部分:取训练样本集中20%的样本组成初始已标注样本集L,剩下的80%组成未标注训练样本集U。每项实验都独立重复5次,取5次的平均值作为最后的实验结果。实验采用F1测度作为评价准则。如图4所示,给出了三种算法在不同手工标注样本数量下的F1值对比。从图中可以看出本发明提出的基于K近邻的支持向量机主动学习算法明显地好于SVMAL、SVMRep算法。这说明本发明基于样本的K近邻来判断样本的信息含量,其对样本信息含量的描述更加准确,因而能找到真正的信息含量大的样本,进而能更好地提高分类器的分类性能。表1给出了三种算法在分类器收敛时所达到的F1值以及所需的手工标注工作量。这里对分类器的收敛定义为:如果相邻两次迭代中F1的绝对差值和前一次迭代中F1值的比率小于0.5%,且这种情况连续出现了5次,则认为分类器已经收敛。从表1可见,本发明提出的算法能以较少的手工标注工作量使分类器快速收敛,且分类器收敛后的分类性能较高。所以本发明提出的算法能大幅度地减少手工标注的工作量,且加速分类器的收敛。表1三种算法在使分类器收敛时所达到的分类性能及所需的手工标注工作量上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1