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

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

【发明内容】

[0004] 本发明的目的在于提供一种可扩展的多层集成多标记学习系统,以解决上述背景 技术中提出的问题。
[0005] 为实现上述目的,本发明提供如下技术方案:
[0006] -种可扩展的多层集成多标记学习系统,包括数据集、算法集合、集成策略集合和 分类器集合,所述算法集合包括二类分类算法、面向标记集的学习算法和集成多标记学习 算法,所述分类器集合包括二类分类器、多标记分类器和集成分类器,所述集成策略集合包 括若干个集成策略,所述多层集成多标记学习系统分为二分类学习层、多标记学习层和集 成学习层,所述二类分类算法和二类分类器构成二分类学习层,所述面向标记集的学习算 法和多标记分类器构成多标记学习层,所述集成多标记学习算法、集成策略和集成分类器 构成集成学习层。
[0007] 作为本发明进一步的方案:所述面向标记集的学习算法包括多类分类算法、0型 基于标记的多标记学习算法、η型基于标记的多标记学习算法和基于标记集的多标记学习 算法。
[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用来在面向标记集的学习算法基础上生成多标记分类器,所述面 向标记集的学习算法划分为四种不同的子类型:多类分类算法、0型基于标记的多标记学 习算法、η型基于标记的多标记学习算法和基于标记集的多标记学习算法。之所以把这些 都算法归到这一层,是因为它们可以直接或经过某些修改后来解决多标记学习问题,它们 的共同点在于都可以为某个待测示例预测出一个标记集,因此,称之为"面向标记集的学习 算法"。
[0023] 所述多类分类算法是指用来对含有两个以上类标记的问题进行学习的一种监督 学习算法。一些众所周知的算法,如ΚΝΝ、ΑΝΝ(人工神经网络)、决策树等都可以归为这一 层。此外,一个二类分类算法,如SVM等,它们经过适当的修改也可以用来解决多类分类问 题。经过一定的变换,一个多标记问题可以转换为一个多类分类问题,由此就可以使用这样 的多类分类算法来解决多标记学习问题。
[0024] 所述基于标记的多标记学习算法通过分别考虑单个标记来执行它们的学习任务, 这种学习算法的学习任务可以通过两个实值函数来辅助完成,第一个函数是f( x,g,用来 表示示例X拥有标记1:的可信度,其中I i (1 □ j □ q)是标记集L中的第j个标记;第二个 函数是t (X),它是一个阈值函数,用来度量第一个函数的返回值,由此来确定与示例X相联 系的标记集;示例X的标记集可以表示为的0 丨/(#) XX,/, XZ,1 Q/ 口^}的形 式。根据算法是否需要利用二分类学习层B中的二类分类算法来辅助完成学习任务,进一 步把这种算法分为两个子类型,即〇型和η型。0型算法可以独立地执行学习任务而不需用 利用二分类学习层B中的任何二类分类算法,如ML-KNN,ML-RBF,Rank-SVM和CML算法等。 相反地,η型算法在学习过程中则需要雇用若干二类分类算法来支持学习任务,最后按照某 种策略将每个二类分类器的分类结果进行综合来产生一个标记集作为最终的分类结果。至 于需要多少二类分类器的支持,这取决于所设计的组合策略。例如,在最为简单的一对其余 策略中,如果数据集中含有q个标记,则需要q个二类分类器。而在一对一策略中,需要的 分类器数量则是U· (9Sl)/2)个。
[0025] 所述基于标记集的多标记学习算法的目标是从训练数据集中学得一个函数,使用 该函数可以为待测示例预测一个与之相联系的标记集。由于标记集的数目会随着标记数目 的增长而呈指数级增长,所以问题的复杂度也会快速增长。一般情况下,在所构建的训练数 据集中,标记集的数量往往并不是很多,通常只包括所有可能标记集的一部分,实际上这可 以在一定程度上降低问题的复杂性。然而,在这样的训练数据集上进行学习,一个很明显的 缺点就是对于那些未出现在训练集中的标记集一般很难正确地预测出来。
[0026] 多类分类算法和0型基于标记的多标记学习算法都可以单独地执行学习任务,不 需要任何二类分类算法的支持。二者的区别在于前者可以直接产生一个标记集作为预测结 果,而后者则需要先在每个标记上进行预测,最后再组合成一个标记集。相反地,对于η型 基于标记的多标记学习算法和基于标记集的多标记学习算法,它们必须要利用若干二类分 类算法来辅助它们完成学习任务。二者的区别在于它
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1