一种半监督学习分类方法与装置与流程

文档序号:13760828阅读:353来源:国知局
一种半监督学习分类方法与装置与流程

本发明涉及机器学习领域,尤其涉及一种半监督学习分类方法与装置。



背景技术:

机器学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测和分析的一门学科,包括监督学习、非监督学习、半监督学习及强化学习。监督学习是极其重要的机器学习分支,是机器学习中内容最丰富、应用最广泛的部分。监督学习的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测。但它需要为模型的建立提供丰富的有标记样本,然而,在许多应用场景中,有标记样本的获取是相当困难的。由于有标记样本集的建立需要专家的工作,耗时费力,制约了模型的建立,形成“标注瓶颈”问题。随着数据收集与存储技术的飞速发展,与获取丰富的有标记样本相比,收集大量的未标记样本容易得多。因此,利用大量的未标记样本辅助少量的有标记样本学习模型是当前机器学习研究中最受关注的问题之一。目前,利用未标记样本辅助有标记样本的主流学习技术主要有三类,即半监督学习、直推学习和主动学习。根据现有研究,半监督学习有四种主流泛型,基于生成式模型的方法、半监督支持向量机、基于图的方法以及基于分歧的方法。

现有的半监督学习技术中常见的学习算法,比如基于委员会的协同训练方法,是一种基于单视图的、迭代的协同训练方法。其主要思路是:首先在数量有限的有标记样本集上利用集成分类算法训练分类器,其次利用未标记样本辅助有标记样本开始迭代训练的过程。当第i次迭代开始时,算法使用前一次训练得到的分类器标记未标记样本集中的样本,对这些标记后的样本计算标记置信度,然后从中选出若干个标记置信度最高的样本连同它们的标记加入到有标记样本集中,并且在得到更新的有标记样本集上重新训练分类器。迭代不断进行,直到满足一定的停止条件为止。最后一次迭代得到的分类器作为该分类方法最终训练出的分类器,利用该分类器对样本进行分类可以得到未标记样本的类别标记。基于委员会的协同训练方法中,随着迭代不断进行,有标记样本集的规模逐渐扩大,有标记样本集每一次扩充都会产生一个分类器的集合。一般来说,尽管迭代次数靠后训练得到的分类器性能会优于迭代次数靠前训练得到的分类器,但是若是这些分类器都能够得以利用,它们所提供的信息可能会帮助提高下次训练的分类器的性能。

根据基于委员会的协同训练方法的一般步骤,当第i次迭代开始时,用第i-1次训练得到的分类器对未标记样本集中的样本进行标记,并且估计样本的标记置信度,然后从标记后的样本中选出若干标记置信度高的样本加入到有标记样本集中。事实上,进行第i次迭代时,前i-1次迭代都产生了分类器。若只使用前一次产生的分类器标记样本,则有i-2次产生的分类器都被丢弃。一方面,这种策略造成了资源的浪费;另一方面,单个分类器的分类正确率是有限的,因而会限制未标记样本集中被正确标记的样本的个数,那么能选出的被正确标记的样本个数也会受限。若是选择可靠样本时选出了误标记样本,扩充到有标记样本集中,会影响下次迭代训练的分类器性能,影响最终对样本的分类结果。

总之,现有技术存在的问题是:在未标记样本的标记过程中,只使用单次迭代训练的分类器来标记样本,得到的标记准确性低、造成选出的可靠样本质量差,最终训练出的分类器分类性能较差。



技术实现要素:

本发明的目的在于提供一种半监督学习分类方法与装置,在有标记样本集规模有限的情况下,提高分类器分类的准确率。

为达到上述目的,本发明实施例公开了一种半监督学习分类方法,应用于计算机机器学习,包括:

获取输入的数据集,其中,所述数据集包括:标记有不同类型的有标记样本集和无标记样本集,所述无标记样本集分为待标记的第一样本集以及候选的第二样本集,所述第二样本集候选提供给所述第一样本集预设数量的补给样本;

在判断所述第二样本集不为空时,多次迭代所述有标记样本集,得到并保存迭代产生的多个分类器;

根据所述多个分类器,标记所述第一样本集中的每个样本,得到所述每个样本的多个类别标记;

根据所述每个样本的多个类别标记,确定所述每个样本的最终类别标记及对应的最终标记置信度,并得到标记所述最终类别标记及所述对应的最终标记置信度的标后样本;

选择可靠样本添加至所述有标记样本集,并删除所述第一样本集的所述可靠样本,其中,所述可靠样本为选择所述标后样本中预设数量的所述最终标记置信度的样本;

在所述第一样本集删除预设数量个可靠样本之后,将所述第二样本集中的所述预设数量个样本添加至所述第一样本集中;

在判断所述第二样本集为空时,确定最终的分类器,并利用所述最终的分类器对所述无标记样本集进行分类。

较佳的,所述在判断所述第二样本集不为空时,多次迭代所述有标记样本集,得到并保存迭代产生的多个分类器,包括:

在判断所述第二样本集不为空时,根据分类算法,将所述有标记样本集进行第一次迭代,得到并保存第一分类器;

根据所述分类算法及所述第一分类器,将所述有标记样本集进行第二次迭代,得到并保存第二分类器;

根据所述分类算法及所述第i分类器,将所述有标记样本集进行第i+1次迭代,得到并保存第i+1分类器,其中,所述i大于或等于2。

较佳的,所述根据所述每个样本的多个类别标记,确定所述每个样本的最终类别标记及对应的最终标记置信度,并得到标记所述最终类别标记及所述对应的最终标记置信度的标后样本,包括:

根据所述每个样本的多个类别标记,确定每个类别标记对应的标记置信度;

根据所述每个样本的多个类别标记及所述每个类别标记对应的标记置信度,确定所述每个样本的最终类别标记及对应的最终标记置信度,并得到标记所述最终类别标记及所述对应的最终标记置信度的标后样本。

较佳的,所述根据所述每个样本的多个类别标记及所述每个类别标记对应的标记置信度,确定所述每个样本的最终类别标记及对应的最终标记置信度,包括:

由大至小排序所述每个样本的、多个类别标记对应的标记置信度,确定排序第一的标记置信度作为所述样本的最终标记置信度,并将所述最终标记置信度对应的类别标记作为所述样本的最终类别标记。

较佳的,所述选择可靠样本添加至所述有标记样本集,并删除所述第一样本集的所述可靠样本,包括:

针对所述标后样本的每个类别,排序所述标后样本中所述类别的每个样本的最终标记置信度,得到每个类别的由最终标记置信度大到最终标记置信度小的排序结果;

获取样本类别先验概率及每次迭代所述第一样本集所选取的样本数量之积,确定第一预设数量,并由每个类别的所述第一预设数量之和确定预设数量,其中,所述样本类别先验概率为获取的所述有标记样本集中,每个样本类别对应的样本总数占所述有标记样本集样本总数的比例;

在所述标后样本中,选择每个类别的所述排序结果中的、排序次序小于或等于N的所述样本,将所述样本作为所述类别的第一可靠样本,并将所有类别的所述第一可靠样本之和作为可靠样本,将所述可靠样本添加至所述有标记样本集,并删除所述第一样本集的所述可靠样本,其中,所述N为第一预设数量,所述第一预设数量小于或等于所述类别的所述排序结果中总次序数,所述预设数量为所述标后样本中的样本的总数量中至少部分样本数量。

较佳的,所述在判断所述第二样本集为空时,确定最终的分类器,并利用所述最终的分类器对所述无标记样本集进行分类,包括:

在判断所述第二样本集为空时,结束迭代,将结束迭代时得到的分类器作为所述最终的分类器;

利用所述最终的分类器对所述无标记样本集进行分类。

本发明还公开了一种半监督学习分类装置,包括:数据集获取模块、有标记样本集迭代模块、样本类别标记获取模块、最终类别标记及标记置信度获取模块、可靠样本转移模块、样本补充模块、最终分类器获取模块;

数据集获取模块,用于获取输入的数据集,其中,所述数据集包括:标记有不同类型的有标记样本集和无标记样本集,所述无标记样本集分为待标记的第一样本集以及候选的第二样本集,所述第二样本集候选提供给所述第一样本集预设数量的补给样本;

有标记样本集迭代模块,用于在判断所述第二样本集不为空时,多次迭代所述有标记样本集,得到并保存迭代产生的多个分类器;

样本类别标记获取模块,用于根据所述多个分类器,标记所述第一样本集中的每个样本,得到所述每个样本的多个类别标记;

最终类别标记及标记置信度获取模块,用于根据所述每个样本的多个类别标记,确定所述每个样本的最终类别标记及对应的最终标记置信度,并得到标记所述最终类别标记及所述对应的最终标记置信度的标后样本;

可靠样本转移模块,用于选择可靠样本添加至所述有标记样本集,并删除所述第一样本集的所述可靠样本,其中,所述可靠样本为选择所述标后样本中预设数量的所述最终标记置信度的样本;

样本补充模块,用于在所述第一样本集删除预设数量个可靠样本之后,将所述第二样本集中的所述预设数量个样本添加至所述第一样本集中;

最终分类器获取模块,用于在判断所述第二样本集为空时,确定最终的分类器,并利用所述最终的分类器对所述无标记样本集进行分类。

较佳的,所述有标记样本集迭代模块,包括:

第二样本集判断子模块,用于在判断所述第二样本集不为空时,准备根据分类算法进行迭代;

迭代子模块,用于根据分类算法,将所述有标记样本集进行第一次迭代,得到并保存第一分类器;

根据所述分类算法及所述第一分类器,将所述有标记样本集进行第二次迭代,得到并保存第二分类器;

根据所述分类算法及所述第i分类器,将所述有标记样本集进行第i+1次迭代,得到并保存第i+1分类器,其中,所述i大于或等于2。

较佳的,所述最终类别标记及标记置信度获取模块,包括:

标记置信度计算子模块,用于根据所述每个样本的多个类别标记,确定每个类别标记对应的标记置信度;

最终标记置信度获取子模块,用于根据所述每个样本的多个类别标记及所述每个类别标记对应的标记置信度,确定所述每个样本的最终类别标记及对应的最终标记置信度,并得到标记所述最终类别标记及所述对应的最终标记置信度的标后样本。

较佳的,所述最终标记置信度获取子模块进一步用于:

由大至小排序所述每个样本的、多个类别标记对应的标记置信度,确定排序第一的标记置信度作为所述样本的最终标记置信度,并将所述最终标记置信度对应的类别标记作为所述样本的最终类别标记。

由上述的技术方案可见,本发明实施例提供的一种半监督学习分类方法和装置,获取输入的数据集,包括有标记样本集和无标记样本集,所述无标记样本集分为待标记的第一样本集和候选的第二样本集,根据分类算法,在所述有标记样本集上多次迭代训练分类器,并保存迭代过程中产生的全部分类器,每次迭代均利用所述全部分类器对所述第一样本集中所有样本进行标记,获得所述每个样本的类别标记以及标记置信度,确定所述每个样本的最终类别标记及对应的最终标记置信度,在完成标记的第一样本集中选择预设数量的所述最终标记置信度的可靠样本转移至所述有标记样本集,并选取所述第二样本集中的所述预设数量个样本补充至所述第一样本集中,并不断重复迭代,直至判断所述第二样本集为空时,确定最终的分类器,并利用所述最终的分类器对所述无标记样本集进行分类。由此可见本发明利用了迭代过程中产生的全部分类器代替现有技术常见的单次得到的分类器标记和选择样本,这样可以增加样本被正确标记的可能性,在有标记样本集规模有限的情况下,提高分类器分类的准确率,保证扩充到有标记样本集中样本的质量,本发明的使用迭代过程中全部分类器标记未标记样本的方法还可与多种基于迭代的半监督学习分类方法结合,提高最终训练得到的分类器性能及分类正确率。

当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的半监督学习分类方法的基本流程图;

图2为本发明实施例的半监督学习分类装置的基本结构图;

图3为本发明实施例的半监督学习分类方法仿真实施例的3种分类方法在UCI 1数据集上的分类错误率随迭代次数的变化情况图;

图4为本发明实施例的半监督学习分类方法仿真实施例的3种分类方法在UCI 2数据集上的分类错误率随迭代次数的变化情况图;

图5为本发明实施例的半监督学习分类方法仿真实施例的3种分类方法在UCI 3数据集上的分类错误率随迭代次数的变化情况图;

图6为本发明实施例的半监督学习分类方法仿真实施例的3种分类方法在UCI 4数据集上的分类错误率随迭代次数的变化情况图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例公开了一种半监督学习分类方法,以下分别进行详细说明。

参见图1,图1为本发明实施例的半监督学习分类方法的基本流程图,应用于计算机机器学习领域,包括如下步骤:

步骤101,获取输入的数据集,其中,所述数据集包括:标记有不同类型的有标记样本集和无标记样本集,所述无标记样本集分为待标记的第一样本集以及候选的第二样本集,所述第二样本集候选提供给所述第一样本集预设数量的补给样本。

所述获取输入的数据集,所述获取的方式可以为人为输入、计算机自动获取或者其他形式。

所述输入的数据集包含多个无标记样本和C类有标记样本,其中C为大于或等于2的自然数,表示所述有标记样本集中的样本种类数目,所述无标记样本集可以表示为集合U。

步骤102,在判断所述第二样本集不为空时,多次迭代所述有标记样本集,得到并保存迭代产生的多个分类器。

所述迭代是根据分类算法进行的,所述分类算法是现有算法,可以是决策树算法,朴素贝叶斯算法或Adaboost算法,其中(Adaboost算法是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器))。

步骤103,根据所述多个分类器,标记所述第一样本集中的每个样本,得到所述每个样本的多个类别标记。

根据分类器对样本进行标记是现有技术,标记的结果是生成类别标记,所述类别标记表示样本的类别。

步骤104,根据所述每个样本的多个类别标记,确定所述每个样本的最终类别标记及对应的最终标记置信度,并得到标记所述最终类别标记及所述对应的最终标记置信度的标后样本。

这里的,所述每个样本的最终标记置信度是唯一的,所述最终标记置信度可以是最大的标记置信度,也可以是仅次于最大标记置信度的次大标记置信度,均是为了表示所述样本属于某个类别的可信程度。当然上述最终标记置信度是根据工业需要或用户自行设定的方式进行确定。其他可以通过唯一的最终标记置信度进行标识、每个样本的最终标记置信度的方式,均属于本发明实施例的保护范围,在此不一一举例。

步骤105,选择可靠样本添加至所述有标记样本集,并删除所述第一样本集的所述可靠样本,其中,所述可靠样本为选择所述标后样本中预设数量的所述最终标记置信度的样本。

步骤105中,选择预设数量的所述最终标记置信度的样本,可以通过遍历所述标后样本中每个类别的样本,每次遍历相邻两个样本取最大的标记置信度对应的样本,确定出所述第一预设数量的所述最终标记置信度的样本,直至遍历完所有标后样本中每个类别的样本,获得预设数量的所述最终标记置信度的样本,通过遍历样本可以避免样本的遗漏。当然,上述方式是得到预设数量的最终标记置信度的样本的一种实现方式,其他可以得到预设数量的最终标记置信度的样本的方式,均属于本发明实施例的保护范围,在此不一一举例。

这里的所述预设数量也可以是所述第一样本集中的样本总数或所述第一样本集中的部分样本总数,其中,所述预设数量为所述第一样本集中的部分样本总数是优选方案,能够提高计算效率和准确度。

步骤106,在所述第一样本集删除预设数量个可靠样本之后,将所述第二样本集中的所述预设数量个样本添加至所述第一样本集中。

所述将所述第二样本集中的所述预设数量个样本添加至所述第一样本集中是为了给予所述第一样本集预设数量的样本补充,以便于进行下一次迭代计算。

步骤107,在判断所述第二样本集为空时,确定最终的分类器,并利用所述最终的分类器对所述无标记样本集进行分类。

所述第二样本集为空时,表明所有候选的无标记样本均已经被标记,迭代计算可以停止。

当迭代进行到第i次判断所述第二样本集U(i)为空时,结束迭代,将所述第i次迭代产生的分类器H(i)作为最终的分类器H(T),用所述最终的分类器H(T)对所述无标记样本集进行分类。

可见,应用本发明实施例的半监督学习分类方法,每次迭代均利用有标记样本集迭代产生的全部分类器对待标记样本进行标记,得到所述每个样本的多个类别标记,确定所述样本的最终类别标记和对应的最终标记置信度,从标记后的样本中选取预设数量的所述最终标记置信度的可靠样本转移至所述有标记样本集,再由所述候选样本集给予所述待标记的样本集所述预设数量个样本的补充,不断重复迭代直至所述候选样本集为空,确定最终的分类器,并利用所述最终的分类器对所述无标记样本集进行分类。本发明以全部分类器代替单次得到的分类器标记无标记样本,可以增加样本被正确标记的可能性,保证扩充到有标记样本集中样本的质量,提升算法对噪声的稳健性,从而提高最终训练得到的分类器的性能,降低分类错误率,本发明的使用迭代过程中全部分类器标记未标记样本的方法还可与多种基于迭代的半监督学习分类方法结合,提高最终训练得到的分类器性能及分类正确率。

在图1基础上,作为优选的实施例,本发明实施例的半监督学习分类方法具体包括如下步骤:

步骤101,所述获取输入的数据集,其中,所述数据集包括:标记有不同类型的有标记样本集和无标记样本集,所述无标记样本集分为待标记的第一样本集以及候选的第二样本集,所述第二样本集候选提供给所述第一样本集预设数量的补给样本。

所述输入的数据集包含多个无标记样本和C类有标记样本,其中C为大于或等于2的自然数,表示所述有标记样本集中的样本种类数目,所述无标记样本集可以表示为集合U,所述集合U的样本数量为z。

在所述无标记样本集U中随机、无放回地选出第一预设值p个无标记样本,构成待标记的第一样本集pool(i),余下的z-p个无标记样本组成候选的第二样本集U(i),全部有标记样本组成集合L(i),其中i代表迭代次数,初始化i=1。

步骤102,所述在判断所述第二样本集不为空时,多次迭代所述有标记样本集,得到并保存迭代产生的多个分类器,包括:

在判断所述第二样本集不为空时,表明所述候选样本集中还有需要标记的无标记样本。

根据分类算法,将所述有标记样本集进行第一次迭代,得到并保存所述第一分类器H(1)

根据所述分类算法及所述第一分类器H(1),将所述有标记样本集进行第二次迭代,得到并保存第二分类器H(2)

根据所述分类算法及所述第i分类器H(i),将所述有标记样本集进行第i+1次迭代,得到并保存第i+1分类器H(i+1),其中,i大于或等于2。

每次迭代均会产生一个分类器,所述分类器会用于算法以产生下一次分类器,第i次迭代完成后会产生H(1),H(2),…,H(i),共i个分类器,将所述i个分类器均保存在系统中。

其中,所述分类算法是现有算法,可以是决策树算法、朴素贝叶斯算法或Adaboost算法,其中(Adaboost算法是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器))。

步骤103,所述根据所述多个分类器,标记所述第一样本集中的每个样本,得到所述每个样本的多个类别标记。

迭代次数设定为i,当进行第i+1次迭代时,对于待标记的第一样本集pool(i)中的每个样本,利用迭代过程中得到的全部分类器H(1),H(2),…,H(i)对所述每个样本进行分类,得到i个类别标记label(1),label(2),…,label(i)

其中,根据分类器分类样本得到样本的类别标记是现有技术。

步骤104,所述根据所述每个样本的多个类别标记,确定所述每个样本的最终类别标记及对应的最终标记置信度,并得到标记所述最终类别标记及所述对应的最终标记置信度的标后样本,包括:

第一步,根据所述每个样本的多个类别标记,确定每个类别标记对应的标记置信度。

所述每个类别标记对应的标记置信度是由所述每个类别标记唯一计算出的,所述每个类别标记代表所述样本被标记的类型,如类型Ⅰ、Ⅱ、Ⅲ,所述每个类别标记对应的标记置信度体现所述样本属于所述类别标记所示的Ⅰ、Ⅱ、Ⅲ类别的可能性大小。

根据步骤103得到的每个样本的所述i个类别标记label(1),label(2),…,label(i),计算出所述类别标记对应的标记置信度confidence(1),confidence(2),…,confidence(i),每个标记置信度是由类别标记唯一确定的,其中由类别标记确定标记置信度是现有技术。

第二步,根据所述每个样本的多个类别标记及所述每个类别标记对应的标记置信度,确定所述每个样本的最终类别标记及对应的最终标记置信度,并得到标记所述最终类别标记及所述对应的最终标记置信度的标后样本。

关于如何结合多个分类器的分类结果确定样本最终的类别标记与标记置信度,本发明实施例提出使用从多个分类器的标记结果中找出最接近正确的那个。具体来说就是标记置信度的大小可以衡量样本被正确标记可能性的大小,值越大,标记是正确的可能性越大,若所述i个分类器的标记结果中不含所述样本的正确标记,那么所述样本类别标记对应的标记置信度会很小,在可靠样本的选择时很难被选出。对于同一样本对应的i个类别标记对应的标记置信度,所述i个标记置信度中最大的表明所述样本是该最大标记置信度对应的类别的可能性最大。

第二步具体可以包括:

首先,排序所述每个样本的多个类别标记对应的标记置信度,得到由标记置信度大到标记置信度小的比较结果。例如:对样本A的i个类别标记label(1),label(2),…,label(i)对应的标记置信度confidence(1),confidence(2),…,confidence(i),进行由大到小的排序,得到一个标记置信度的比较结果。

其次,选取所述比较结果中排序第一的标记置信度作为所述样本的最终标记置信度,并将所述最终标记置信度对应的类别标记作为所述样本的最终类别标记。

步骤105,所述选择可靠样本添加至所述有标记样本集,并删除所述第一样本集的所述可靠样本,包括:

第一步,针对所述标后样本的每个类别,排序所述标后样本中所述类别的每个样本的最终标记置信度,得到每个类别的由最终标记置信度大到最终标记置信度小的排序结果;

第二步,获取样本类别先验概率及每次迭代所述第一样本集所选取的样本数量之积,确定第一预设数量,并由每个类别的所述第一预设数量之和确定预设数量,其中,所述样本类别先验概率为获取的所述有标记样本集中,每个样本类别对应的样本总数占所述有标记样本集样本总数的比例;

针对最初获取的有标记样本集,各类别的样本类别先验概率是可以计算出的,也就是说所述样本类别先验概率是已知确定的,而所述每次迭代所述第一样本集所选取的样本数量也是固定预设值,所以所述第一预设数量针对每次迭代是固定值,相应地,所述预设数量针对每次迭代也是固定值。

第三步,在所述标后样本中,选择每个类别的所述排序结果中的、排序次序小于或等于N的所述样本,将所述样本作为所述类别的第一可靠样本,并将所有类别的所述第一可靠样本之和作为可靠样本,将所述可靠样本添加至所述有标记样本集,并删除所述第一样本集的所述可靠样本,其中,所述N为第一预设数量,所述第一预设数量小于或等于所述类别的所述排序结果中总次序数,所述预设数量为所述标后样本中的样本的总数量中至少部分样本数量。

所述标后样本是待标记的第一样本集pool(i)经由步骤103、104标记完成后的样本。其中所述样本不仅全部经由迭代过程中产生的全部分类器完成标记,而且所述每个样本均已确定所述最终类别标记和所述最终类别标记对应的最终标记置信度,也就是说所述每个样本均已经确定所属类别。

按照所述标后样本最终的不同类别对所述样本进行归类,对所述每一个类别j(j=1,2,…,C),对所述第一样本集pool(i)中的标后样本,按照标记置信度由大到小的顺序排列所述样本,选出排序次序小于或等于Cj的、Cj个标记置信度大的隶属于该类的样本作为第一可靠样本,所述Cj为类别j的所述第一预设数量,由类别为j的样本类别先验概率及所述每次迭代第一样本集所选取的样本数量的乘积计算,所有类别的第一预设数量之和为所述预设数量,所有类别的所述第一可靠样本之和为可靠样本。

将所述预设数量的可靠样本加入到所述有标记样本集L(i)中,得到更新的有标记样本集L(i+1),并将上述选出的样本从所述第一样本集合pool(i)中删除,得到更新的待标记样本集pool(i)′,可以将所述标后样本全部作为可靠样本选取,也可以只选择所述标后样本中部分样本作为可靠样本,作为优选方式是选取标后样本中部分样本作为可靠样本,可以提高计算效率,由于选取的可靠样本是标记置信度大的样本,可以提高计算的准确度。

步骤106,在所述第一样本集删除预设数量个可靠样本之后,将所述第二样本集中的所述预设数量个样本添加至所述第一样本集中。

具体为:从候选的第二样本集U(i)中选出个样本,加入到步骤105完成更新的待标记的第一样本集pool(i)′中,并将这个样本从所述候选样本集U(i)中删除,得到更新的待标记样本集合pool(i+1)以及候选样本集合U(i+1)

其中,所述即为预设数量。

步骤107,所述在判断所述第二样本集为空时,确定最终的分类器,并利用所述最终的分类器对所述无标记样本集进行分类,包括:

在判断所述第二样本集为空时,表示所有候选样本均已经进行标记,可以结束迭代算法,将结束迭代时得到的分类器作为所述最终的分类器。

用所述最终的分类器对所述无标记样本集进行分类,获取最终分类结果,其中,所述无标记样本集为步骤101获取的输入的数据集中的无标记样本集。

所述最终分类结果至少包括样本及样本类型,所述最终分类结果可以根据用户需求和工业设定以不同形式输出。

本发明实施例中,以迭代过程中产生的全部分类器代替单次得到的分类器标记和选择样本,选择了标记置信度大的样本,可以增加样本被正确标记的可能性,保证扩充到有标记样本集中样本的质量,提升算法对噪声的稳健性从而提高最终训练得到的分类器的性能,降低分类错误率。

应用本发明实施例的半监督学习分类方法进行仿真验证的结果如下:

(1)仿真条件

为了验证本发明提出的半监督学习分类方法的性能,使用了4个UCI(University of California Irvine,标准数据集)进行仿真实验,表1为4个数据集信息一览表。见下表1,表1的第一列代表数据集的名称,第二列代表数据集的规模,第三列代表数据集的属性个数,第四列代表数据集的类别个数,第五列代表数据集的类别先验概率。

表1

本发明提出的半监督学习分类方法利用迭代过程中产生全部分类器预测结果,在每次迭代过程中训练得到的分类器是集成分类器,集成分类算法使用Adaboost算法,基分类算法使用C4.5决策树算法。对于每个数据集,样本总量的25%被随机选出作为测试集,余下的部分作为训练集;进一步,训练集样本总量的20%被随机选出作为有标记样本集,余下的部分作为无标记样本集。测试集、有标记样本集与未标记样本集中的类别分布均与原始数据集中的保持一致。迭代时,待标记样本集合pool(i)的大小设置为100,每次选出扩充到有标记样本集中的样本数目要保证分类方法的最大迭代次数不超过50次。

(2)仿真内容及分析

使用三种方法对上述UCI标准数据集进行分类,这三种方法分别是基于委员会的协同训练方法、进化的集成分类器方法和本发明利用迭代过程中全部分类器预测结果的半监督分类方法。在此实验中,集成分类器的集成规模固定为3,表2比较了3种方法通过迭代获取的最终分类器的性能。在最初始的有标记样本集L上训练的分类器的初始分类错误率在表2第二列表示,对于三种方法来说该值都是相同的。迭代后得到的分类器的最终分类错误率分别在表2第3、5、7列表示,此时性能的相对提升率=(初始分类错误率-最终分类错误率)/最终分类错误率*100,表中每个数据集的最大的性能相对提升率以最后一列的改善量表示。

从表2可以看出,在利用未标记样本集辅助有标记样本集进行分类器的训练后,获取的最终分类器相比初始得到的分类器有提升,体现了半监督学习的作用。本发明的分类方法对初始分类器的性能提升率较之其他两种方法有很大的提高,分类错误率最低。表2为3种不同方法的分类错误率,见下表2。

表2

图3、图4、图5、图6分别展示了3种分类方法在UCI 1、UCI 2、UCI 3、UCI 4四个数据集上的分类错误率随迭代次数的变化情况。其中横坐标代表分类方法的迭代次数,纵坐标代表每次迭代时得到的分类器的分类错误率。从图3至图6可以看出,当迭代次数由少到多变化时,本发明分类方法的错误率较之其他两种分类方法都有大幅度降低,尤其是迭代次数靠后时,这种情况更加显著。

从仿真结果可以看出,通过使用迭代过程中产生的全部分类器对未标记样本进行标记,在有标记样本集规模有限的情况下,提高了选出的用于扩充有标记样本集的样本质量,进一步提高下次迭代时产生的分类器的性能。随着迭代的进行,由于有标记样本集的规模和样本质量不断提高,最终得到的分类器的分类准确率也会提高。鉴于基于分歧的半监督学习方法都是基于迭代的方式训练分类器的,因此在第i次迭代进行时,有前i-2次训练的分类器被丢弃的情况是普遍存在的。本发明提出的利用迭代过程中产生的全部分类器对未标记样本进行标记的方法可以与多种基于迭代的半监督学习方法相结合,以提高分类正确率,还可以应用到现实生活的诸多分类问题中。

本发明实施例还公开了一种半监督学习分类装置,详见图2本发明实施例的半监督学习分类装置的基本结构图。该装置应用于计算机机器学习,与图1本发明实施例的半监督学习分类方法的基本流程图所示的方法流程相对应,以下详细说明。

参见图2,本发明实施的半监督学习分类装置,包括:数据集获取模块201、有标记样本集迭代模块202、样本类别标记获取模块203、最终类别标记及标记置信度获取模块204、可靠样本转移模块205、样本补充模块206、最终分类器获取模块207。

数据集获取模块201,用于获取输入的数据集,其中,所述数据集包括:标记有不同类型的有标记样本集和无标记样本集,所述无标记样本集分为待标记的第一样本集以及候选的第二样本集,所述第二样本集候选提供给所述第一样本集预设数量的补给样本。

有标记样本集迭代模块202,用于在判断所述第二样本集不为空时,多次迭代所述有标记样本集,得到并保存迭代产生的多个分类器。

样本类别标记获取模块203,用于根据所述多个分类器,标记所述第一样本集中的每个样本,得到所述每个样本的多个类别标记。

最终类别标记及标记置信度获取模块204,用于根据所述每个样本的多个类别标记,确定所述每个样本的最终类别标记及对应的最终标记置信度,并得到标记所述最终类别标记及所述对应的最终标记置信度的标后样本。

可靠样本转移模块205,用于选择可靠样本添加至所述有标记样本集,并删除所述第一样本集的所述可靠样本,其中,所述可靠样本为选择所述标后样本中预设数量的所述最终标记置信度的样本。

样本补充模块206,用于在所述第一样本集删除预设数量个可靠样本之后,将所述第二样本集中的所述预设数量个样本添加至所述第一样本集中。

最终分类器获取模块207,用于在判断所述第二样本集为空时,确定最终的分类器,并利用所述最终的分类器对所述无标记样本集进行分类。

需要说明的是,本发明实施例的装置是应用上述半监督学习分类方法的装置,则上述半监督学习分类方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。

可见,本发明实施例由数据集获取模块获取输入的数据集,并将所述输入的数据集中的无标记样本集拆分为待标记的第一样本集和候选的第二样本集,利用所述有标记样本集迭代模块对所述有标记样本集进行迭代,得到并保存迭代过程中产生的全部分类器,通过样本类别标记获取模块获取所述第一样本集中每个样本的多个所述类别标记和所述类别标记对应的标记置信度,通过最终类别标记及标记置信度获取模块对所述每个样本的多个所述类别标记对应的标记置信度进行排序比较,确定所述样本的最终类别标记和最终标记置信度;针对标后样本集通过可靠样本转移模块选取出预设数量的可靠样本转移到所述有标记样本集,再通过样本补充模块对所述第一样本集进行预设数量的样本的补充,并重复迭代选取可靠样本-转移可靠样本-补充样本的过程,直至所述第二样本集为空,由所述最终分类器获取模块确定最终分类器,并利用所述最终分类器对所述无标记样本集进行分类,获取分类结果。本实施例装置使用迭代中产生的全部分类器代替单次得到的分类器去标记无标记样本,并选出可靠样本,这样可以增加样本被正确标记的可能性,保证扩充到有标记样本集中样本的质量,从而提高最终训练得到的分类器的性能,降低分类错误率。

如图2的本发明实施例的半监督学习分类装置的基本结构图所示,本发明又一实施例的半监督学习分类装置中,所述有标记样本集迭代模块202,包括:

第二样本集判断子模块,用于在判断所述第二样本集不为空时,准备根据分类算法进行迭代;

迭代子模块,用于根据分类算法,将所述有标记样本集进行第一次迭代,得到并保存第一分类器;

根据所述分类算法及所述第一分类器,将所述有标记样本集进行第二次迭代,得到并保存第二分类器;

根据所述分类算法及所述第i分类器,将所述有标记样本集进行第i+1次迭代,得到并保存第i+1分类器,其中,i大于或等于2。

本发明又一实施例的半监督学习分类装置中,所述最终类别标记及标记置信度获取模块204,包括:

标记置信度计算子模块,用于根据所述每个样本的多个类别标记,确定每个类别标记对应的标记置信度;

最终标记置信度获取子模块,用于根据所述每个样本的多个类别标记及所述每个类别标记对应的标记置信度,确定所述每个样本的最终类别标记及对应的最终标记置信度,并得到标记所述最终类别标记及所述对应的最终标记置信度的标后样本。

本发明又一实施例的半监督学习分类装置中,所述最终标记置信度获取子模块进一步用于:由大至小排序所述每个样本的、多个类别标记对应的标记置信度,确定排序第一的标记置信度作为所述样本的最终标记置信度,并将所述最终标记置信度对应的类别标记作为所述样本的最终类别标记。

本发明又一实施例的半监督学习分类装置中,所述可靠样本转移模块205,包括:

最终标记置信度排序子模块,用于针对所述标后样本的每个类别,排序所述标后样本中所述类别的每个样本的最终标记置信度,得到每个类别的由最终标记置信度大到最终标记置信度小的排序结果;

预设数量确定子模块,用于获取样本类别先验概率及每次迭代所述第一样本集所选取的样本数量之积,确定第一预设数量,并由每个类别的所述第一预设数量之和确定预设数量,其中,所述样本类别先验概率为获取的所述有标记样本集中,每个样本类别对应的样本总数占所述有标记样本集样本总数的比例;

样本转移子模块,用于在所述标后样本中,选择每个类别的所述排序结果中的、排序次序小于或等于N的所述样本,将所述样本作为所述类别的第一可靠样本,并将所有类别的所述第一可靠样本之和作为可靠样本,将所述可靠样本添加至所述有标记样本集,并删除所述第一样本集的所述可靠样本,其中,所述N为第一预设数量,所述第一预设数量小于或等于所述类别的所述排序结果中总次序数,所述预设数量为所述标后样本中的样本的总数量中至少部分样本数量。

本发明又一实施例的半监督学习分类装置中,所述最终分类器获取模块207,包括:

最终分类器获取子模块,用于在判断所述第二样本集为空时,结束迭代,将结束迭代时得到的分类器作为所述最终的分类器;

最终分类子模块,用于利用所述最终的分类器对所述无标记样本集进行分类。

本发明又一实施例的半监督学习分类装置还可以包括:

输出模块,用于输出所述最终分类结果。

本发明实施例中,以迭代过程中产生的全部分类器代替单次得到的分类器标记无标记样本,选择了标记置信度大的样本,可以增加样本被正确标记的可能性,保证扩充到有标记样本集中样本的质量,提升算法对噪声的稳健性从而提高最终训练得到的分类器的性能,降低分类错误率。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1