一种可扩展的多层集成多标记学习系统转让专利

申请号 : CN201510662088.8

文献号 : CN105260746B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 乔善平吴鹏韩士元

申请人 : 济南大学

摘要 :

本发明公开了一种可扩展的多层集成多标记学习系统,包括数据集、算法集合、集成策略集合和分类器集合,所述算法集合包括二类分类算法、面向标记集的学习算法和集成多标记学习算法,所述分类器集合包括二类分类器、多标记分类器和集成分类器,所述集成策略集合包括若干个集成策略,所述多层集成多标记学习系统分为二分类学习层、多标记学习层和集成学习层,所述二类分类算法和二类分类器构成二分类学习层,所述面向标记集的学习算法和多标记分类器构成多标记学习层,所述集成多标记学习算法、集成策略和集成分类器构成集成学习层。本发明具有良好的灵活性、可扩展性和易用性。

权利要求 :

1.一种可扩展的多层集成多标记学习系统的构建方法,其特征在于,包括以下步骤:步骤(1):构建含有多个示例和多个标记的基准训练数据集;

步骤(2):通过实现或直接利用若干二类分类算法、面向标记集的学习算法和集成学习算法完成算法集合的构建;

所述多层集成多标记学习系统分为二分类学习层B、多标记学习层M和集成学习层E;

所述二类分类算法和二类分类器构成二分类学习层B;所述二分类学习层B针对二类分类学习;二类分类算法用来在给定的训练数据集上产生一个二类分类器;一个二类分类器被构建出来,它便用来进行二类预测;

所述面向标记集的学习算法和多标记分类器构成多标记学习层M;多标记学习层M针对多标记学习;多标记学习层M用来在面向标记集的学习算法基础上生成多标记分类器;

所述面向标记集的学习算法包括多类分类算法、0型基于标记的多标记学习算法、n型基于标记的多标记学习算法和基于标记集的多标记学习算法;

二分类学习层B的二分类算法被多标记学习层M的n型基于标记的多标记学习算法和基于标记集的多标记学习算法利用;通过二分类学习层B的二分类器辅助完成多标记学习层M的多标记学习任务;不同的二类分类算法可以同时被多标记学习层M中的某个算法所雇用;

多类分类算法单独地执行学习任务,不需要任何二类分类算法的支持;

0型基于标记的多标记学习算法独立地执行学习任务而不利用二分类学习层B中的任何二类分类算法;

n型基于标记的多标记学习算法在学习过程中,雇用若干二类分类算法来支持学习任务;

基于标记集的多标记学习算法的目标是从训练数据集中学得一个函数,使用该函数为待测示例预测一个与之相联系的标记集;

所述集成多标记学习算法、集成策略和集成分类器构成集成学习层E;集成学习层E针对集成学习;

步骤(3):设计若干集成策略以构建集成策略集合;

引导所有来自二分类学习层B和多标记学习层M的算法完成训练和测试过程,以便生成所有的候选分类器;当所有的分类器完成学习任务后,就利用一个或多个集成策略来决定集成中包含的内容,以及生成集成分类器;学习过程经过若干次的迭代以后,最终的集成多标记学习分类器将被构建出来;

集成策略用来从候选分类器中选出一个分类器子集,根据每个分类器的性能和类型为它们分别设定一个权值,然后为待测示例产生一个标记集;集成策略决定利用多个分类器中包含的信息来构造标记集的方式;所述集成策略既可以在算法上进行,也可以在分类器上进行;

步骤(4):在步骤(1)-(3)的基础上,基于数据集、算法集合和集成策略集合构建出分类器集合;

用AB、AM和AE分别表示属于二分类学习层B、多标记学习层M和集成学习层E的算法;用CB、CM和CE分别表示来自相应层的分类器;AM集合中的算法被相应地划分为四种子类型,分别记为 和集成多标记学习的任务描述为:对于给定的训练数据集D,通过运行AE中的集成算法,以AB和AM中的算法以及它们所生成的CB和CM中的分类器为基础,在S中的集成策略的指导下,生成一个属于CE的最终的集成分类器;

步骤(5):将分类器集合进行序列化以备分类时使用;

步骤(6):当需要进行分类学习时将分类器集合进行逆序列化,激活使用。

说明书 :

一种可扩展的多层集成多标记学习系统

技术领域

[0001] 本发明涉及一种学习系统,具体是一种可扩展的多层集成多标记学习系统。

背景技术

[0002] 现实世界中的绝大多数对象都同时具有多个语义,传统的监督学习方法不能直接对这些问题进行处理。为了解决这个问题,一个新的学习范式即多标记学习应运而生且发展迅速。传统的监督学习方法重点关注对单语义对象学习问题的研究,大量的学习算法已成功应用于许多研究领域。然而,现实世界中同时具有多个语义的对象则是普遍存在的。例如:在图像标注问题中,一幅图像可能包含不同的主题,如风景、人物和建筑物等;在文档分类问题中,一篇文章可能会同时涉及政治、经济和军事话题;在分子生物学研究中,一个基因同时具有多种功能、一条蛋白质会被定位于多个亚细胞器中等现象都是非常普遍的;在医疗诊断中,一个病人会同时遭受多种疾病的折磨,等等。这些问题实际上都属于多标记学习的范畴。在传统的监督学习中,每个示例只与一个标记相联系,它可以看成是多标记学习的一个特例。显然,多标记学习的任务比传统的监督学习更为困难。多标记学习的关键挑战是其输出空间太大,换句话说,标记集的数量会随着标记数量的增加而呈指数级增长。
[0003] 目前,不少的研究已经将集成学习技术应用到多标记学习上,例如,EnML通过同时优化一组多标记学习机的准确度和多样度来实现集成多标记学习;李等人提出了一个名字为SECC的基于分类器链的选择集成方法,以降低复杂性;许等人设计了一种称为En-MIMLSVM的方法用于视频注释任务;李等人将AdaBoost与多标记神经网络进行集成以提高泛化能力等等。在这些方法中,鲜有关注基于标记集的集成多标记学习的算法,另外,他们往往只关注特定的问题、特定的算法或技术,而在如何构造一个集成多标记学习系统方面却很少考虑。为了能让集成多标记学习范式有更广泛的应用,有必要开发一个系统,使它不仅能提供一些算法的实现模块,并且具有可扩展性以便让用户进行更进一步的开发。

发明内容

[0004] 本发明的目的在于提供一种可扩展的多层集成多标记学习系统,以解决上述背景技术中提出的问题。
[0005] 为实现上述目的,本发明提供如下技术方案:
[0006] 一种可扩展的多层集成多标记学习系统,包括数据集、算法集合、集成策略集合和分类器集合,所述算法集合包括二类分类算法、面向标记集的学习算法和集成多标记学习算法,所述分类器集合包括二类分类器、多标记分类器和集成分类器,所述集成策略集合包括若干个集成策略,所述多层集成多标记学习系统分为二分类学习层、多标记学习层和集成学习层,所述二类分类算法和二类分类器构成二分类学习层,所述面向标记集的学习算法和多标记分类器构成多标记学习层,所述集成多标记学习算法、集成策略和集成分类器构成集成学习层。
[0007] 作为本发明进一步的方案:所述面向标记集的学习算法包括多类分类算法、O型基于标记的多标记学习算法、n型基于标记的多标记学习算法和基于标记集的多标记学习算法。
[0008] 作为本发明再进一步的方案:所述的可扩展的多层集成多标记学习系统的构建方法,
[0009] 包括以下步骤:
[0010] (1)构建含有多个示例和多个标记的基准训练数据集;
[0011] (2)通过实现或直接利用若干二类分类算法、面向标记集的学习算法和集成学习算法完成算法集合的构建;
[0012] (3)设计若干集成策略以构建集成策略集合;
[0013] (4)在步骤(1)-(3)的基础上,基于数据集、算法集合和集成策略集合构建出分类器集合;
[0014] (5)将分类器集合进行序列化以备分类时使用;
[0015] (6)当需要进行分类学习时将分类器集合进行逆序列化,激活使用。
[0016] 与现有技术相比,本发明的有益效果是:具有良好的灵活性、可扩展性和易用性,不仅实现了一个基本的拥有友好用户界面的集成多标记学习系统,而且提供了一个具有可扩展性的框架,便于一些高级用户更容易地对系统进行功能的扩展和性能的提高。

附图说明

[0017] 图1为可扩展的多层集成多标记学习系统的结构示意图。
[0018] 图2为可扩展的多层集成多标记学习系统的流程图。

具体实施方式

[0019] 下面结合具体实施方式对本专利的技术方案作进一步详细地说明。
[0020] 请参阅图1-2,一种可扩展的多层集成多标记学习系统,分为二分类学习层B、多标记学习层M和集成学习层E,所述二分类学习层B针对二类分类学习,多标记学习层M针对多标记学习,集成学习层E针对集成学习,所述二分类学习层B设有二类分类算法和二类分类器,所述多标记学习层M设有面向标记集的学习算法和多标记分类器,所述集成学习层E设有集成多标记学习算法、集成策略和集成分类器。
[0021] 二分类学习层B是三层中最为简单的一层,任何能够解决二类分类问题的算法,如KNN和SVM(支持向量机)等,都可以归到这一层中,一个二类分类算法用来在给定的训练数据集上产生一个二类分类器。一旦一个二类分类器被成功构建出来,它便可以用来进行二类预测。对于给定的待测示例,一个二类分类器通常返回两个可能标记中的一个。为了具有更一般的表达形式,假设一个二类分类器总是可以为一个示例计算一个位于区间[-1,+1]的实数。由此,在后期的处理中可以通过设定一个阈值,再将这个值转换为一个类标记。此层中的二类分类算法通常会由其上层多标记学习层M的某些算法所利用,通过这些二类分类器辅助完成多标记学习的任务。不同的二类分类算法可以同时被多标记学习层M中的某个算法所雇用,即可以是异构的。在这种情况下,一个必须考虑的重要问题就是如何利用不同算法返回的度量值来建立一种统一的度量标准,因为一般说来,不同的分类器所返回的度量值有着不同的含义,它们所采用的计算准则可能并不一样。
[0022] 多标记学习层M用来在面向标记集的学习算法基础上生成多标记分类器,所述面向标记集的学习算法划分为四种不同的子类型:多类分类算法、O型基于标记的多标记学习算法、n型基于标记的多标记学习算法和基于标记集的多标记学习算法。之所以把这些都算法归到这一层,是因为它们可以直接或经过某些修改后来解决多标记学习问题,它们的共同点在于都可以为某个待测示例预测出一个标记集,因此,称之为“面向标记集的学习算法”。
[0023] 所述多类分类算法是指用来对含有两个以上类标记的问题进行学习的一种监督学习算法。一些众所周知的算法,如KNN、ANN(人工神经网络)、决策树等都可以归为这一层。此外,一个二类分类算法,如SVM等,它们经过适当的修改也可以用来解决多类分类问题。经过一定的变换,一个多标记问题可以转换为一个多类分类问题,由此就可以使用这样的多类分类算法来解决多标记学习问题。
[0024] 所述基于标记的多标记学习算法通过分别考虑单个标记来执行它们的学习任务,这种学习算法的学习任务可以通过两个实值函数来辅助完成,第一个函数是f(x,lj),用来表示示例x拥有标记ll的可信度,其中lj(1□j□q)是标记集L中的第j个标记;第二个函数是t(x),它是一个阈值函数,用来度量第一个函数的返回值,由此来确定与示例x相联系的标记集;示例x的标记集可以表示为 的形式。根据算法是否需要利用二分类学习层B中的二类分类算法来辅助完成学习任务,进一步把这种算法分为两个子类型,即O型和n型。O型算法可以独立地执行学习任务而不需用利用二分类学习层B中的任何二类分类算法,如ML-KNN,ML-RBF,Rank-SVM和CML算法等。相反地,n型算法在学习过程中则需要雇用若干二类分类算法来支持学习任务,最后按照某种策略将每个二类分类器的分类结果进行综合来产生一个标记集作为最终的分类结果。至于需要多少二类分类器的支持,这取决于所设计的组合策略。例如,在最为简单的一对其余策略中,如果数据集中含有q个标记,则需要q个二类分类器。而在一对一策略中,需要的分类器数量则是 个。
[0025] 所述基于标记集的多标记学习算法的目标是从训练数据集中学得一个函数,使用该函数可以为待测示例预测一个与之相联系的标记集。由于标记集的数目会随着标记数目的增长而呈指数级增长,所以问题的复杂度也会快速增长。一般情况下,在所构建的训练数据集中,标记集的数量往往并不是很多,通常只包括所有可能标记集的一部分,实际上这可以在一定程度上降低问题的复杂性。然而,在这样的训练数据集上进行学习,一个很明显的缺点就是对于那些未出现在训练集中的标记集一般很难正确地预测出来。
[0026] 多类分类算法和O型基于标记的多标记学习算法都可以单独地执行学习任务,不需要任何二类分类算法的支持。二者的区别在于前者可以直接产生一个标记集作为预测结果,而后者则需要先在每个标记上进行预测,最后再组合成一个标记集。相反地,对于n型基于标记的多标记学习算法和基于标记集的多标记学习算法,它们必须要利用若干二类分类算法来辅助它们完成学习任务。二者的区别在于它们是在单个标记上学习,还是在标记集上学习。
[0027] 位于集成学习层E的集成多标记学习算法通过解决两个紧密相关的问题来产生一个最终的集成分类器。这两个问题是:一是如何产生和组合来自多标记学习层M的各个个体分类器,二是如何确定在集成结果中所包含的内容。为了处理这两个问题,需要引入两个相关的概念:集成算法和集成策略。
[0028] 一个集成算法的主要任务是引导所有来自二分类学习层B和多标记学习层M的算法完成训练和测试过程,以便生成所有的候选分类器。当所有的分类器完成学习任务后,就需要利用一个或多个集成策略来决定集成中需包含的内容,以及如何生成集成分类器。学习过程经过若干次的迭代以后,一个性能良好的最终的集成多标记学习分类器将会被构建出来。
[0029] 一个集成策略被用来从使用的候选分类器中选出一个具有多样性的分类器子集,根据每个分类器的性能和类型为它们分别设定一个合适的权值,然后为待测示例产生一个高准确率的标记集。集成策略决定如何利用多个分类器中包含的信息来构造标记集,如投票、求交集、计算概率等方式。所述的集成策略既可以在算法上进行,也可以在分类器上进行。另外,所有算法都可以使用来自数据集的所有特征,对于多义性对象而言,提取不同的特征向量并把它们与不同的算法相联系,以反映不同的语义表示,这样得到的分类结果往往比一个算法使用所有的特征所产生的分类结果要好。然而,自动特征选择,特别是在多标记学习中依然具有很大的挑战性。
[0030] 在图1所示的关于算法和分类器的体系结构基础上,可以形式化地对集成多标记学习系统进行如下描述。
[0031] 在给定一个训练数据集的前提下,一个集成多标记学习系统 含有四个组成部分:数据集D,算法集合A,集成策略集合S和分类器集合C。根据图1中的体系结构,算法集合A中的算法和分类器集合C中的分类器都可以来自不同的层。用AB、AM和AE分别表示属于二分类学习层B、多标记学习层M和集成学习层E的算法;用CB、CM和CE分别表示来自相应层的分类器。根据图1中对面向标记集算法的分类,AM集合中的算法被相应地划分为四种子类型,分别记为 和 这样一来,集成多标记学习的任务就可以描述为:对于给定的训练数据集D,通过运行AE中的集成算法,以AB和AM中的算法以及它们所生成的CB和CM中的分类器为基础,在S中的集成策略的指导下,生成一个属于CE的最终的集成分类器。在形式上,学习系统 可以定义为如下所示的函数:
[0032]
[0033] 在系统 和,从分类器的角度看,还有下列一些子系统:
[0034] (1)二类分类器
[0035] 一个属于CB的二类分类器cb可以表示为:
[0036] cb:(Db,ab)◆G              (2)
[0037] 其中,Db表示从数据集D构造出来的二分类训练数据集,ab是来自AB的某个算法,用于基于数据集Db来构建分类器cb, 是分类器cb为数据集Db中所有示例所生成的度量值。
[0038] (2)多标记分类器
[0039] 一个属于CM的多标记分类器cm可以表示为:
[0040] cm:(D,B,am)◆P                 (3)
[0041] 其中D是初始的训练数据集, 是NB个可被多标记学习层M中的某个多标记算法使用的二类分类器的集合,am是一个属于AM的算法,它用来基于数据集D和二类分类器集合B对分类器cm进行构建, 是为数据集D中的所有示例产生的预测结果。
[0042] (3)集成分类器
[0043] 位于集成学习层E层分类器是最终的集成分类器,它定义为:
[0044] ce:(D,M,s,ae)◆Y                    (4)
[0045] 其中D是初始的训练数据集, 是Nm个在多标记学习层M构建的多标记分类器的集合,s是从S中选择出来的某个集成策略,ae是来自AE的一个集成算法,用于在D、M和s的基础上构建集成分类器ce,Y是为数据集D中的所有示例产生的标记集。
[0046] 本质上,可以把构建一个集成多标记分类器的问题看成一个多目标优化问题,它可以是最大化的,也可以是最小化的,这取决于目标函数的定义形式。形式上的系统定义如下所示:
[0047]
[0048] 其中,v是待优化的目标函数,优化过程则描述为:基于训练数据集D,对A中的算法和S中的集成策略进行搜索,使目标函数值达到最优。
[0049] 以上述的系统体系结构及其形式化定义和描述为基础,可以按照以下六个步骤构建一个基于数据集的集成多标记学习系统。
[0050] 第一步:构建含有m个示例和q个标记的基准训练数据集D;
[0051] 第二步:通过实现或直接利用若干二类分类算法、面向标记集的学习算法和集成学习算法完成算法集合A的构建;
[0052] 第三步:设计若干集成策略以构建集成策略集合S;
[0053] 第四步:在前三步的基础上,基于数据集D、算法集合A和集成策略集合S构建出分类器集合C;
[0054] 第五步:将分类器集合C进行序列化以备分类时使用;
[0055] 第六步:当需要进行分类学习时将C进行逆序列化,激活使用。
[0056] 一个集成多标记学习系统被成功构建以后,对于一个未见示例x,就可以使用该系统对其进行预测分类,从而将一个标记集y赋予它。
[0057] 基于上述系统的集成分类器的详细生成流程如图2所示,其中包括两个主要的组成部分:提交和集成。整个生成过程的起始点是选择一个训练数据集、若干特征、一组算法和其它一些参数,如度量标准等。为了生成训练阶段的各分类器,每个算法都要通过K次交叉验证进行测试,以便能够搜索到更好的参数值。所有的分类器都要经过最为严格的“留一法”验证方式进行最后的测试过程,以便得到各个分类器的性能度量值。
[0058] 提交阶段执行完毕的结果是生成一个集成模型,该模型是生成最终的集成分类器的数据基础。一个集成策略将会被应用到集成模型上而进入集成阶段。整个学习过程可能会出现若干次迭代,以便得到具有更好性能和泛化能力的集成分类器。集成分类器生成以后,可以被序列化到一个文件中,并且能够从那个文件中重新装入并激活使用,以便对新的示例进行预测,可以避免再次进行冗长的训练、测试和集成过程。
[0059] 上面对本专利的较佳实施方式作了详细说明,但是本专利并不限于上述实施方式,在本领域的普通技术人员所具备的知识范围内,还可以在不脱离本专利宗旨的前提下做出各种变化。