首页 / 专利库 / 人工智能 / 机器学习 / 半监督学习 / 一种基于半监督学习的支持向量机分类器训练方法

一种基于半监督学习支持向量机分类器训练方法

阅读:27发布:2020-10-14

专利汇可以提供一种基于半监督学习支持向量机分类器训练方法专利检索,专利查询,专利分析的服务。并且本 发明 具体公开了一种基于半 监督学习 的 支持向量机 分类器训练方法,包括如下步骤:步骤1用初始已标注样本集训练一个初始SVM分类器;步骤2从未标注样本集U中寻找分类 置信度 高的样本,组成高置信度样本集S;步骤3对高置信度样本集S中的每个样本,按照图3所描述的方法判断其信息量大小,如果信息量小则将其从高置信度样本集S中移除,并重新放回未标注样本集U中;步骤4将S中置信度高且信息量大的样本由机器自动标注后加入SVM分类器的已标注样本集L中;步骤5用更新的已标注样本集L重新训练SVM分类器;步骤6根据停止准则判断是退出循环还是继续 迭代 。,下面是一种基于半监督学习支持向量机分类器训练方法专利的具体信息内容。

1.一种基于半监督学习支持向量机分类器训练方法,其特征在于:包括如下步骤:
步骤1用初始已标注样本集训练一个初始SVM分类器;
步骤2用SVM分类器从未标注样本集U中寻找分类置信度高的样本,组成高置信度样本集S;
步骤3对高置信度样本集S中的每个样本,判断其信息量大小,如果信息量小则将其从高置信度样本集S中移除,并重新放回未标注样本集U中;
步骤4将高置信度样本集S中置信度高且信息量大的样本由机器自动标注后加入SVM分类器的已标注样本集L中;
步骤5用更新的已标注样本集L重新训练SVM分类器;
步骤6根据停止准则判断是退出循环还是继续迭代
2.如权利要求1所述的一种基于半监督学习的支持向量机分类器训练方法,其特征在于:所述的步骤1中,初始已标注样本集的选择方法如下:
首先对所有未标注样本进行聚类,得到若干个簇,然后从每个簇中选择距离质心最近的样本进行人工标注,进而形成初始已标注样本集。
3.如权利要求1所述的一种基于半监督学习的支持向量机分类器训练方法,其特征在于:所述的步骤2中,寻找置信度高的样本,进而组成高置信度样本集S的方法如下:
支持向量机分类器在每轮迭代训练过程中会不断更新,进而得到新的分类面,把当前这轮迭代后生成的新分类面称为当前分类面;设定一个阈值dth,规定那些距离当前分类面距离大于阈值dth的样本是高置信度样本;由这些高置信度样本组成如下高置信度样本集S:
S={xi|xi∈U,d(xi)>dth}
其中,d(xi)表示样本xi距离当前分类面的距离;通常分类间隔 被置为1,则
4.如权利要求1所述的一种基于半监督学习的支持向量机分类器训练方法,其特征在于:所述的步骤3中,判断样本信息量大小的步骤如下:
①从整个样本集中寻找当前分类面的K个最近邻样本x1,x2,...,xK,并求此K个样本到当前分类面距离的平均值,记为Ad1,所述的整个样本集包括已标注样本集L和未标注样本集U,即:
②对高置信度样本xi,为其添加预测类标签后将其放入已标注样本集L中;
③用更新的已标注样本集L重新训练SVM分类器;
④用SVM分类器对已标注样本集L中的人工标注样本进行分类;
⑤观察SVM分类器对人工标注样本的分类是否出现错误,出现分类错误则认为xi的信息量小,将其从S中移除,并重新放回未标注样本集U中;
⑥在⑤中如果没出现分类错误,则从整个样本集中寻找当前分类面的K个最近邻样本,并求此K个样本到当前分类面距离的平均值,记为Ad2;
⑦观察⑥中的K个最近邻样本中是否既包含正类样本也包含负类样本,而且满足Ad2>Ad1;否的话则认为xi是信息量小的样本,将其从S中移除,并重新放回未标注样本集U中;
⑧当在⑤中没有出现分类错误,同时在⑦中,K个最近邻样本中既包含正类样本又包含负类样本,而且满足Ad2>Ad1时,则认为xi是信息量大的样本,将xi保留在S中;
⑨将分类器恢复到重新训练之前的状态。
5.如权利要求4所述的基于半监督学习的支持向量机分类器训练方法,其特征在于:
所述的步骤①和步骤⑥中所述K的具体取值确定方法:要求这K个近邻样本中既要包含正类样本,又要包含负类样本,且正类样本数和负类样本数的比例与根据先验知识已知的正类样本数和负类样本数的比例偏差不能过大;设K个近邻样本中,正类样本的数量为K+,负类样本的数量为K-,根据先验知识已知正类样本数和负类样本数的比例为r,设定阈值α,则上述要求可表述为:
取满足上述要求的K值中的最小正整数值作为K的最终取值。
6.如权利要求4所述的基于半监督学习的支持向量机分类器训练方法,其特征在于:
步骤⑤中是否出现分类错误的判断方法为:人工标注样本的真实标签是已知的,用SVM分类器对人工标注样本进行分类可以得到人工标注样本的预测标签,如果两个标签不一致则表示出现分类错误。
7.如权利要求4所述的基于半监督学习的支持向量机分类器训练方法,其特征在于:
步骤⑨中将分类器恢复到重新训练之前的状态的方法是,将样本xi从已标注样本集L中移除,然后用L重新训练SVM分类器。
8.如权利要求1所述的基于半监督学习的支持向量机分类器训练方法,其特征在于:
所述的步骤6中,停止准则采用的是最大迭代次数法,即设定迭代次数的最大值,当迭代次数达到此最大值时则停止迭代。

说明书全文

一种基于半监督学习支持向量机分类器训练方法

技术领域

[0001] 本发明涉及机器学习领域,特别是一种基于半监督学习的支持向量机分类器训练方法。

背景技术

[0002] 在机器学习领域,为了训练一个具有良好分类性能的分类器,需要用大量已标注样本来参与训练。但是样本的标注工作枯燥无味,且需要耗费人们大量的时间与精,这使得通过人工标注来获得标注样本的代价昂贵。为了克服这一难题,专家们提出了半监督学习技术。半监督学习是一个循环迭代的过程,具体可分为以下几类:自训练半监督学习、以生成式模型为分类器的半监督学习、直推式支持向量机半监督学习、基于图的半监督学习和协同训练半监督学习。本发明实施例所采用的半监督学习属于自训练半监督学习。
[0003] 自训练半监督学习的一般流程为:
[0004] ①用少量初始已标注样本训练一个初始分类器;
[0005] ②用分类器对未标注样本进行分类;
[0006] ③从未标注样本集中寻找分类置信度高的样本;
[0007] ④由机器为这些高置信度的未标注样本自动标注;
[0008] ⑤将标注后的高置信度样本加入分类器的训练集中,并用更新后的训练集重新训练分类器;
[0009] ⑥检查是否满足停止准则,不满足则返回②,进入下一轮循环;满足则停止迭代,输出训练好的分类器。
[0010] 在半监督学习中,采样分类置信度高的样本能确保在机器自动标注时不至于引入太多的标注错误,但是高置信度的样本未必是有用的样本,尤其是对于像支持向量机(Support Vector Machines,SVM)这种判别式分类器来说。对SVM分类器来说,那些远离当前分类面的样本的分类置信度较高。然而,仅仅是分类置信度高还不够,我们希望样本在保证高置信度的同时,其信息含量也要大。所谓信息含量大是指样本对分类训练来说是有用的样本,其对分类器训练的贡献度大。基于此,本发明实施例在高置信度的基础上进一步挖掘样本的信息量,进而提出了一种新的基于半监督学习的支持向量机分类器训练方法。

发明内容

[0011] 本发明具体公开了一种基于半监督学习的支持向量机分类器训练方法。该方法对于那些远离当前分类面的高置信度样本,进一步挖掘其信息量;然后挑选那些置信度高且信息量大的样本,由机器自动标注后放入已标注样本集中重新训练分类器,以达到加快SVM分类器的收敛,提高SVM分类器的分类性能的目的。
[0012] 本发明采用的技术方案如下:
[0013] 一种基于半监督学习的支持向量机分类器训练方法,包括如下步骤:
[0014] 步骤1用初始已标注样本集训练一个初始SVM分类器;
[0015] 步骤2用SVM分类器从未标注样本集U中寻找分类置信度高的样本,组成高置信度样本集S;
[0016] 步骤3对高置信度样本集S中的每个样本,判断其信息量大小,如果信息量小则将其从高置信度样本集S中移除,并重新放回未标注样本集U中;
[0017] 步骤4将高置信度样本集S中置信度高且信息量大的样本由机器自动标注后加入SVM分类器的已标注样本集L中;
[0018] 步骤5用更新的已标注样本集L重新训练SVM分类器;
[0019] 步骤6根据停止准则判断是退出循环还是继续迭代。
[0020] 所述的步骤1中,初始已标注样本集的选择方法如下:首先对所有未标注样本进行聚类,得到若干个簇,然后从每个簇中选择距离质心最近的样本进行人工标注,进而形成初始已标注样本集。
[0021] 所述的步骤2中,寻找置信度高的样本,进而组成高置信度样本集S的方法如下:
[0022] 支持向量机分类器在每轮迭代训练过程中会不断更新,进而得到新的分类面,把当前这轮迭代后生成的新分类面称为当前分类面;设定一个阈值dth,规定那些距离当前分类面距离大于阈值dth的样本是高置信度样本;由这些高置信度样本组成如下高置信度样本集S:
[0023] S={xi|xi∈U,d(xi)>dth}
[0024] 其中,d(xi)表示样本xi距离当前分类面的距离;通常分类间隔 被置为1,则[0025]
[0026]
[0027] 所述的步骤3中,判断样本信息量大小的步骤如下:
[0028] ①从整个样本集中寻找当前分类面的K个最近邻样本x1,x2,...,xK,并求此K个样本到当前分类面距离的平均值,记为Ad1,所述的整个样本集包括已标注样本集L和未标注样本集U,即:
[0029]
[0030] ②对高置信度样本xi,为其添加预测类标签后将其放入已标注样本集L中;
[0031] ③用更新的已标注样本集L重新训练SVM分类器;
[0032] ④用SVM分类器对已标注样本集L中的人工标注样本进行分类;
[0033] ⑤观察SVM分类器对人工标注样本的分类是否出现错误,出现分类错误则认为xi的信息量小,将其从S中移除,并重新放回未标注样本集U中;
[0034] ⑥在⑤中如果没出现分类错误,则从整个样本集中寻找当前分类面的K个最近邻样本,并求此K个样本到当前分类面距离的平均值,记为Ad2;
[0035] ⑦观察⑥中的K个最近邻样本中是否既包含正类样本也包含负类样本,而且满足Ad2>Ad1,否的话则认为xi是信息量小的样本,将其从S中移除,并重新放回未标注样本集U中;
[0036] ⑧当在⑤中没有出现分类错误,同时在⑦中,K个最近邻样本中既包含正类样本又包含负类样本,而且满足Ad2>Ad1时,则认为xi是信息量大的样本,将xi保留在S中;
[0037] ⑨将分类器恢复到重新训练之前的状态。
[0038] 所述的步骤①和步骤⑥中所述K的具体取值确定方法:要求这K个近邻样本中既要包含正类样本,又要包含负类样本,且正类样本数和负类样本数的比例与根据先验知识已知的正类样本数和负类样本数的比例偏差不能过大;设K个近邻样本中,正类样本的数量为K+,负类样本的数量为K-,根据先验知识已知正类样本数和负类样本数的比例为r,设定阈值α,则上述要求可表述为:
[0039]
[0040] 取满足上述要求的K值中的最小正整数值作为K的最终取值。
[0041] 步骤⑤中是否出现分类错误的判断方法为:人工标注样本的真实标签是已知的,用SVM分类器对人工标注样本进行分类可以得到人工标注样本的预测标签,如果两个标签不一致则表示出现分类错误。
[0042] 步骤⑨中将分类器恢复到重新训练之前的状态的方法是,将样本xi从已标注样本集L中移除,然后用L重新训练SVM分类器。
[0043] 所述的步骤6中,停止准则采用的是最大迭代次数法,即设定迭代次数的最大值,当迭代次数达到此最大值时则停止迭代。
[0044] 本发明的有益效果:
[0045] 1)基于半监督学习来训练SVM分类器能够大幅度减少人工标注的工作量;
[0046] 2)在半监督学习的采样过程中,选择置信度高且信息量大的样本能加快SVM分类器的收敛,提高SVM分类器的分类性能。附图说明
[0047] 图1是本发明实施例提出的基于半监督学习的支持向量机分类器训练方法的流程图
[0048] 图2是从未标注样本集U中寻找分类置信度高的样本,进而生成高置信度样本集S的流程图。
[0049] 图3是对高置信度样本集S中的样本判断其信息量大小,并将信息量小的样本从高置信度样本集S中移除的结构框图

具体实施方式

[0050] 为了更清楚地说明本发明实施例的技术方案,下面将结合附图详细阐述。显而易见,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0051] 附图1是本发明实施例提出的基于半监督学习的支持向量机分类器训练方法的流程图,具体包括以下六个步骤:(1)用初始已标注样本集训练一个初始SVM分类器;(2)从未标注样本集U中寻找分类置信度高的样本,组成高置信度样本集S;(3)对高置信度样本集S中的每个样本,按照图3所描述的方法判断其信息量大小,如果信息量小则将其从高置信度样本集S中移除,并重新放回未标注样本集U中;(4)将S中置信度高且信息量大的样本由机器自动标注后加入SVM分类器的已标注样本集L中;(5)用更新的已标注样本集L重新训练SVM分类器;(6)根据停止准则判断是退出循环还是继续迭代。
[0052] 下面详细阐述以上六部分内容:
[0053] (1)用初始已标注样本集训练一个初始SVM分类器
[0054] 半监督学习是一个循环迭代的过程,在迭代开始之前首先需要用初始的已标注样本集训练一个初始分类器,以启动整个循环迭代过程。在分类器开始训练之前,所有的样本都是没有标注的。初始已标注样本集是指从所有未标注样本中选择少量样本,由专家人工标注后形成的一个已标注样本集。本实施例采用基于聚类的采样法来选择样本,以生成初始已标注样本集。基于聚类的采样法是指首先对所有未标注样本进行聚类,得到若干个簇,然后从每个簇中选择距离质心最近的样本进行人工标注。基于聚类的采样法所选择的初始已标注样本具有代表性,能为半监督学习提供一个良好的起点,初始已标注样本集的大小可以根据整个样本集的大小和标注专家对标注工作量的接受程度来确定。
[0055] 已标注样本集用L表示,初始已标注样本集相当于是已标注样本集L的初始值。整个样本集在去除已标注样本后,剩下的样本组成了未标注样本集,用U表示。
[0056] 下面通过介绍SVM的原理来阐述如何用初始已标注样本集训练初始分类器。
[0057] 支持向量机(Support Vector Machines,SVM)原理:
[0058] SVM是一个两类分类器,其决策函数可以表达为:
[0059] f(x)=wTφ(x)+b (1)
[0060] w和b分别表示权值向量和偏斜量。f(x)=wTφ(x)+b=0所表示的超平面即为SVM的分类面。如果训练样本是线性可分的,则φ(x)=x;否则,φ(·)表示一个非线性映射函数,该函数能将训练样本映射到一个高维空间,在此高维空间中,训练样本是线性可分的。
[0061] 对于两类分类问题,设在d维空间中有一组训练样本xi∈Rdi=1,...,N,样本的类别标签为y∈{+1,-1}。SVM就是要寻找一个最优分类面,使得该分类面既能对训练样本dxi∈Ri=1,...,N正确分类,同时又能最大化分类间隔 具体可以表述为:
[0062]
[0063] subject to yi(ωTφ(xi)+b)≥1-ξi,ξi≥0,i=1,...,N
[0064] 其中,ξi代表松弛变量。含有松弛变量的分类是一种软分类。C是惩罚因子,用来控制对松弛变量ξi的惩罚程度。通过拉格朗日乘子法求解公式(2)中的优化问题可得:
[0065]
[0066] 其中,αi是拉格朗日乘子。公式(3)中有相当多的αi值会等于0,而那些αi值不等于0的样本被称之为支持向量。将(3)式代入(1)式后可将SVM的决策函数重写为:
[0067]
[0068] 其中,M表示支持向量的个数。φ(xi)Tφ(x)的值可以通过核函数k(xi,x)=Tφ(xi)φ(x)求得,而不需知道映射函数φ(·)的显式表达式。本实施例中我们选用的是径向基核函数,即
[0069] k(xi,x)=exp(-γ||xi-x||2) (5)
[0070] 公式(2)中的惩罚因子C和公式(5)中的参数γ是通过大家所熟知的交叉验证得到的。
[0071] 对于任一测试样本x,将其代入SVM分类器,根据公式(4)求得输出值f(x)。f(x)>0,则样本x属于+1类,f(x)<0,则样本x属于-1类。这里的+1类、-1类标签称作用SVM分类器分类得到的预测类标签。
[0072] (2)用SVM分类器从未标注样本集U中寻找分类置信度高的样本,组成高置信度样本集S,从未标注样本集U中寻找高置信度样本的流程框图如图2所示。支持向量机分类器在每轮迭代训练过程中会不断更新,进而得到新的分类面,把当前这轮迭代后生成的新分类面称为当前分类面。对SVM分类器来说,那些远离当前分类面的样本的分类置信度较高。为此,我们可以设定一个阈值dth,规定那些距离当前分类面距离大于阈值dth的样本是高置信度样本。由这些高置信度样本组成如下高置信度样本集S:
[0073] S={xi|xi∈U,d(xi)>dth} (6)
[0074] 其中,d(xi)表示样本xi距离当前分类面的距离。通常分类间隔 被置为1,则[0075]
[0076]
[0077] (3)对高置信度样本集S中的每个样本,按照图3所描述的方法判断其信息量大小,如果信息量小则将其从高置信度样本集S中移除,并重新放回未标注样本集U中[0078] 判断样本信息量大小的方法如图3所示,其具体的执行过程如下:
[0079] ①从整个样本集(包括已标注样本集L和未标注样本集U)中寻找当前分类面的K个最近邻样本x1,x2,...,xK,并求此K个样本到当前分类面距离的平均值,记为Ad1,即:
[0080]
[0081] K近邻中K的具体取值我们是这样来确定的:要求这K个近邻样本中既要包含正类样本,又要包含负类样本,且正类样本数和负类样本数的比例与根据先验知识已知的正类样本数和负类样本数的比例偏差不能过大。设K个近邻样本中,正类样本的数量为K+,负类样本的数量为K-,根据先验知识已知正类样本数和负类样本数的比例为r,设定阈值α,则上述要求可表述为:
[0082]
[0083] 取满足上述要求的K值中的最小正整数值作为K的最终取值。
[0084] ②对高置信度样本xi,为其添加预测类标签后将其放入已标注样本集L中;
[0085] ③用更新的已标注样本集L重新训练SVM分类器;
[0086] ④用SVM分类器对已标注样本集L中的人工标注样本进行分类;
[0087] 已标注样本集L中既包含人工标注样本,也包含半监督学习过程中由机器自动标注的样本。注意,这里只是对已标注样本集L中的人工标注样本进行分类。这些人工标注样本也即(1)中所述的初始已标注样本。
[0088] ⑤观察SVM分类器对人工标注样本的分类是否出现错误,出现分类错误则认为xi的信息量小,将其从S中移除,并重新放回未标注样本集U中;
[0089] 人工标注样本的真实标签是已知的,用SVM分类器对人工标注样本进行分类可以得到人工标注样本的预测标签,如果两个标签不一致则表示出现分类错误。出现分类错误意味着样本xi在参与SVM分类器的训练以后致使分类器对人工标注样本不能完全正确分类。然而,分类器对人工标注样本能完全正确分类这一点是很重要的,也是必须保证的,因为在(1)中我们已指出这些人工标注样本是通过基于聚类的采样法选择得到的,它们非常有代表性。所以,如果出现分类错误,我们认为样本xi对分类器的训练是无益的,因而将其看作是信息量小的样本。
[0090] ⑥在⑤中如果没出现分类错误,则从整个样本集(包括已标注样本集L和未标注样本集U)中寻找当前分类面的K个最近邻样本,并求此K个样本到当前分类面距离的平均值,记为Ad2;
[0091] ⑦观察⑥中的K个最近邻样本中是否既包含正类样本也包含负类样本,而且满足Ad2>Ad1。否的话则认为xi是信息量小的样本,将其从S中移除,并重新放回未标注样本集U中;
[0092] ⑧当在⑤中没有出现分类错误,同时在⑦中,K个最近邻样本中既包含正类样本又包含负类样本,而且满足Ad2>Ad1时,则认为xi是信息量大的样本,将xi保留在S中;
[0093] 在⑤中没有出现分类错误意味着将样本xi参与到SVM分类器的训练不会影响到对人工标注样本的正确分类。当⑦中的K个最近邻样本既包含正类样本又包含负类样本,而且满足Ad2>Ad1时,这意味着将样本xi参与到SVM分类器的训练以后,分类面朝向两类之间更加稀疏的区域调节。根据半监督学习的聚类假设“决策边界应当穿过数据分布较为稀疏的区域”可知,样本xi是信息量大的样本。要求K个最近邻样本中既包含正类样本又包含负类样本是因为,如果不同时包含正类样本和负类样本,则很有可能当前的分类面是处于正类或负类的类内部的稀疏区域,而不是处在两类分类边界上的稀疏区域。而要求满足Ad2>Ad1是因为Ad2>Ad1意味着将xi参与到SVM分类器的训练以后,新的分类面与重新训练前的分类面相比,处在了更加稀疏的区域。
[0094] ⑨将分类器恢复到重新训练之前的状态。
[0095] 将分类器恢复到重新训练之前的状态是指,将样本xi从已标注样本集L中移除,然后用L重新训练SVM分类器,将其恢复到样本xi参与训练之前的状态。这里之所以要求将分类器恢复到重新训练之前的状态是因为在②、③中,我们将xi添加了预测标签后加入到已标注样本集L中,并且用更新的L重新训练了分类器,而在这一部分,重新训练分类器不是目的,我们只是想通过这种手段来判断样本xi的信息量大小。当判断了xi的信息量大小之后,要求将分类器及时恢复到重新训练之前的状态。
[0096] (4)将S中置信度高且信息量大的样本由机器自动标注后加入SVM分类器的已标注样本集L中
[0097] 经过第(3)步后,S中的剩余样本不但置信度高,而且信息量大。将S中的样本交由机器自动标注后,将其放入已标注样本集L中。
[0098] (5)用更新的已标注样本集L重新训练SVM分类器
[0099] (6)根据停止准则判断是退出循环还是继续迭代
[0100] 判断是否满足停止准则,满足则退出循环,输出训练好的SVM分类器;不满足则转入(2),进入下一轮迭代。
[0101] 停止准则有多种设置方法。本实施例采用的是最大迭代次数法,即设定迭代次数的最大值,当迭代次数达到此最大值时则停止迭代。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈