多标记分类方法、装置、介质及计算设备与流程

文档序号:12864221阅读:208来源:国知局
多标记分类方法、装置、介质及计算设备与流程

本申请涉及机器学习技术领域,尤其涉及多标记分类方法、装置、介质及计算设备。



背景技术:

多标记问题在机器学习中广泛存在。例如在图像标注问题中,若给定“小船”、“水”、“山峰”、“桥”、“行人”、“落日”、“云”等标记,一副描述江边景色的图片可以被标注上这些标记中的一个或多个。再例如,在基因功能分类中,一个基因可与“能量”、“新陈代谢”等用于表示功能类别的标记相关。由于标记工程量大,人工标记由于速度慢,所以采用人工标记的方法是不现实的。故此,研究利用计算机技术进行自动多标记分类尤为重要。

相关技术中,一个需要标记的对象(简称多标记对象),常用属性向量和标记向量来描述。其中,属性向量描述该多标记对象的特性,而标记向量描述其具备哪些标记。具体的,标记多采用由“-1”和“+1”组成的向量来表示,“-1”表示多标记对象不具有对应标记,而“+1”表示具有对应标记。

虽然人们对多标记分类已经有了一段时间的研究,但如何进行多标记分类至今仍然是一个极具挑战性的问题。相对来说,传统的单标记问题研究成果较多,方法比较成熟。若将多标记问题简单地看是多个单标记问题的组合,这种方法效果往往不尽如人意。一个重要的原因在于,这种方法忽略了不同标记之间的关系。而标记之间的关系是标记预测可利用重要信息。例如,对于含有“沙漠”、“骆驼”这两个标记的图片库来说,某张图片具有“沙漠”的标记,那么很可能有具有“骆驼”这个标记。因为“沙漠”和“骆驼”经常共同出现,具有正相关性。因此,如何利用多个标记之间存在相关关系来提高多标记分类效果是一个学术界和产业界十分关心的问题。



技术实现要素:

本申请实施例提供多标记分类方法、装置、介质及计算设备,用以解决现有技术中存在的将多标记问题简单地看是多个单标记问题的组合来进行多标记分类,导致分类结果不准确等的问题。

本申请实施例提供的一种多标记分类方法,包括:

针对标记集合中的每个标记,确定该标记的原始正例集和原始负例集;其中,针对每个样本,若该样本具有该标记,则该样本属于该标记的原始正例集,否则,该样本属于该标记的原始负例集;

对各标记的原始正例集和原始负例集分别进行类对齐,得到各标记的类对齐后的正例集和类对齐后的负例集;其中,各标记的类对齐后的正例集中样本数量相等、且各标记的类对齐后的负例集中样本数量相等;

根据预先确定的聚类中心个数,基于聚类分析方法确定每个类对齐后的正例集的聚类中心,以及每个类对齐后的负例集的聚类中心;

针对每个标记,计算该标记的原始正例集和原始负例集中每个样本相对于该标记的各聚类中心的距离,将得到的距离按序排列后作为该标记的与相应样本对应的特定属性,并以该标记的每个样本的特定属性为元素构成该标记的特定属性集合;

针对每个标记,将与该标记具有相关关系的其它标记的特定属性插入到该标记的特定属性集合中;

基于各标记的特定属性集合,进行分类训练。

本申请另一实施例还提供一种多标记分类装置,该装置包括:

正例负例集确定模块,用于针对标记集合中的每个标记,确定该标记的原始正例集和原始负例集;其中,针对每个样本,若该样本具有该标记,则该样本属于该标记的原始正例集,否则,该样本属于该标记的原始负例集;

类对齐模块,用于对各标记的原始正例集和原始负例集分别进行类对齐,得到各标记的类对齐后的正例集和类对齐后的负例集;其中,各标记的类对齐后的正例集中样本数量相等、且各标记的类对齐后的负例集中样本数量相等;

聚类中心确定模块,用于根据预先确定的聚类中心个数,基于聚类分析方法确定每个类对齐后的正例集的聚类中心,以及每个类对齐后的负例集的聚类中心;

特定属性确定模块,用于针对每个标记,计算该标记的原始正例集和原始负例集中每个样本相对于该标记的各聚类中心的距离,将得到的距离按序排列后作为该标记的与相应样本对应的特定属性,并以该标记的每个样本的特定属性为元素构成该标记的特定属性集合;

数据优化模块,用于针对每个标记,将与该标记具有相关关系的其它标记的特定属性插入到该标记的特定属性集合中;

分类训练模块,用于基于各标记的特定属性集合,进行分类训练。

本申请另一实施例还提供了一种计算设备,其包括存储器和处理器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序指令执行本申请实施例中的任一多标记分类方法。

本申请另一实施例还提供了一种计算机存储介质,其中,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行本申请实施例中的任一多标记分类方法。

本申请实施例中,得到各标记的原始正例集和原始负例集后,通过类对齐,确定特定属性和插入相关标记的特定属性的操作,实现了用特定属性来表示标记之间的相关关系,以便于丰富各标记的数据和语义。故此,多标记分类相对于现有技术单纯采用单标记的方法将更加准确。例如,“沙漠”和“骆驼”具有相关关系,将以骆驼为主含有少量沙漠的图片能够分类到沙漠图片中;再例如,一张图片包含的傍晚的湖水,若湖水中具有夕阳的倒影,现有技术只会将该图片分类到湖水中,但湖水中太阳的倒影又与夕阳相关,则采用本申请的方案,还可以将该图片分类到傍晚景色的分类中。

附图说明

图1为本申请实施例一提供的多标记分类方法流程示意图;

图2为本申请实施例三提供的多标记分类装置的结构示意图;

图3为本申请实施例四提供的计算设备的结构示意图。

具体实施方式

本申请实施例提供多标记分类方法、装置、介质及计算设备。在本申请实施例提供的多标记分类方法中,得到各标记的原始正例集和原始负例集后,通过类对齐,确定特定属性和插入相关标记的特定属性的操作,实现了用特定属性来表示标记之间的相关关系,以便于丰富各标记的数据和语义。故此,多标记分类相对于现有技术单纯采用单标记的方法将更加准确。例如,“沙漠”和“骆驼”具有相关关系,将以骆驼为主含有少量沙漠的图片能够分类到沙漠图片中;再例如,一张图片包含的傍晚的湖水,若湖水中具有夕阳的倒影,现有技术只会将该图片分类到湖水中,但湖水中太阳的倒影又与夕阳相关,则采用本申请的方案,还可以将该图片分类到傍晚景色的分类中。

下面结合说明书附图对本申请实施例作进一步详细描述。

实施例一

参照图1,为本申请实施例一提供的多标记分类方法流程示意图图,该方法包括以下步骤:

步骤101:针对标记集合中的每个标记,确定该标记的原始正例集和原始负例集;其中,针对每个样本,若该样本具有该标记,则该样本属于该标记的原始正例集,否则,该样本属于该标记的原始负例集。

步骤102:对各标记的原始正例集和原始负例集分别进行类对齐,得到各标记的类对齐后的正例集和类对齐后的负例集;其中,各标记的类对齐后的正例集中样本数量相等、且各标记的类对齐后的负例集中样本数量相等。

例如,共有2个标记,分别为标记1和标记2。其中,标记1的原始正例集中的样本数为10、标记2的原始正例集中的样本数为8。则类对齐时由于标记2的原始正例集中的样本数少,则需要增加将标记1的正例样本,以使标记1和标记2的原始正例集中的样本数量相等。

原始负例集进行类对齐的目的和方法同原始正例集,这里不再赘述。后文将举例对类对齐进行详细说明,再次暂不赘述。

步骤103:根据预先确定的聚类中心个数,基于聚类分析方法确定每个类对齐后的正例集的聚类中心,以及每个类对齐后的负例集的聚类中心。

其中,聚类分析方法可以根据实际需求,采用现有技术的方法例如k-means聚类分析方法,本申请对此不作限定。

其中,在一个实施例中,可以根据以下方法确定聚类中心个数,包括步骤a1-步骤a3:

步骤a1:确定类对齐后的正例集的样本数与类对齐后的负例集的样本数的最小值。

步骤a2:计算预设控制变量和确定的该最小值的乘积,并对乘积进行取整操作后得到聚类中心的个数,其中,预设控制变量为大于0并小于1的常数。

上述步骤a1-步骤a3可以等效采用如下公式(1)来表示:

在公式(1)中,c表示聚类中心个数;r表示预设控制变量表示类对齐后的正例集的样本数;表示类对齐后的负例集的样本数;表示取这两个样本数的最小值。

因为已经进行了类对齐,对任何标记,一旦r取值一致的话,c的值也就相同了。故此,这样确定聚类中心个数的方法简便易执行,能够提高处理效率。

当然,具体实施时,也可以采用其它现有技术的方法来确定聚类中心个数,本申请对此不作限定。

步骤104:针对每个标记,计算该标记的原始正例集和原始负例集中每个样本相对于该标记的各聚类中心的距离,将得到的距离按序排列后作为该标记的与相应样本对应的特定属性,并以该标记的每个样本的特定属性为元素构成该标记的特定属性集合。

设针对标记k得到的聚类中心为其中均表示类对齐后的正例集的聚类中心,均表示类对齐后的负例集的聚类中心。

然后,能够通过公式(2)所示的属性转换函数来得到标记lk的每个样本xi的特定属性:

公式(2)中,表示标记lk的与样本xi对应的特定属性。

这里d(·,·)函数表示返回距离,为例,表示样本xi与聚类中心的距离。具体实施时,该距离可以为欧几里得距离。

就这样,所有的样本都进行转换,得到lk的特定属性集合可以用如下公式(3)表示:

在公式(3)中,d表示数据集,该数据集可表示为d={(xi,yi)|1≤i≤n},其中xt为第i个样本,用该样本的属性向量表示,yt该样本的标记,n表示样本个数。

步骤105:针对每个标记,将与该标记具有相关关系的其它标记的特定属性插入到该标记的特定属性集合中。

步骤106:基于各标记的特定属性集合,进行分类训练。

具体实施时,可以分别训练对应的二值分类器。常用的二值分类器有支持向量机、决策树等,可以根据具体问题选择,本申请不作限定。

综上所述,通过类对齐实现了将正例样本和负例样本中各种的样本数保持相同,为以后确定特定属性时提供统一数量的基础数据。通过确定特定属性,来实现将具有相关关系的标记建立关联关系,并丰富标记的特定属性的数据和语义,从而使得基于丰富了数据和语义的样本的训练结果更加准确。

下面为了便于进一步理解本申请提供的技术方案,通过以下(1)-(2)点对上面相关步骤做进一步说明。

(1)、步骤105中所述针对每个标记,将与该标记具有相关关系的其它标记的特定属性插入到该标记的特定属性集合中,可具体包括以下步骤b1-步骤b3:

步骤b1:针对指定样本,由该指定样本以及该指定样本的多个邻居样本构成一个与该指定样本对应的邻居样本集。

其中,在一个实施例中,针对指定样本,可以根据以下方法确定该指定样本对应的邻居样本集:

步骤b11:计算其它样本与该指定样本的样本差。

其中,样本差用于表示样本之间的差距,具体实施时可以根据具体样本来确定计算样本差的方法。例如,样本为某一地点距离参考点的距离,则样本差,可以用两样本的距离差表示。再例如,样本为像素点的颜色值,则两像素点的样本差可以采用两样本的色差。故此,本申请实施例中无需对样本差的具体计算方法进行限定。

步骤b12:按照样本差从小到大的顺序选取预设邻居样本数量的样本作为该指定样本的邻居样本。

例如,5个样本与指定样本的样本差分别为1、2、3、4、5。若预设邻居样本数量为3,则选取样本差分别为1、2、3的样本作为该指定样本的邻居样本。

此外,具体实施时还可以采用样本之间的位置关系来确定邻居样本。例如,图像中指定样本若为一像素点,则可以选择该像素点的4邻域或8邻域作为邻居样本。

步骤b2:在多个邻居样本集的每个邻居样本集中,针对每个标记,确定该标记与其它标记同时作为同一样本的正例的频率作为该标记的共现频率;并确定该标记在该邻居样本集中的最大共现频率。

步骤b3:若该最大共现频率大于指定值,则将与该标记的共现频率最大的其它标记的与该邻居样本集对应的指定样本的特定属性插入到该标记的特定属性集合中。

其中,在一个实施例中,指定值可以设置为0。也即只要在邻居样本集合中,最大共现频率不为0则说明两标记之间存在相关关系。

例如,指定样本m对应的邻居样本集合m’。在m’中,针对标记l2,标记l2与l1的共现频率最大且不为0,则将l的与指定样本m对应的特定属性添加到l1的特定属性集合中。

具体实施时,为了提高共现频率计算的准确性,可以根据以下公式确定所述共现频率:

其中,i表示指定样本;lj表示待确定共现频率的标记;lk表示另一个标记p(i,j,k)表示在指定样本i对应的邻居样本集合中lj与lk的共现频率。

(2)、针对步骤102中的所述对各标记的原始正例集和原始负例集分别进行类对齐,可具体包括以下步骤c1-步骤c2:

步骤c1:确定各原始正例集中样本数最大值,并针对每个标记,若该标记的原始正例集的样本数小于该样本数最大值,则对该标记的原始正例集中的样本进行重采样得到正例样本,并将正例样本添加到该标记的原始正例集中得到类对齐后的正例集。

步骤c2:确定各原始负例集中最大样本数,并针对每个标记,若该标记的原始负例集的样本数小于该最大样本数,则对该标记的原始负例集中的样本进行重采样得到负例样本,并将该负例样本添加到该标记的原始负例集中得到类对齐后的负例集。

其中,具体实施时,步骤c1和步骤c2的执行顺序不受限。

通过步骤c1和步骤c2,类对齐时通过重采样即可实现。方法简便易行,能够适用各种类型的样本。

具体实施时,对标记的原始正例集中的样本进行重采样得到正例样本,可具体包括:从该标记的原始正例集中选取第一指定样本数量的样本,并确定选取的样本的均值作为重采样得到的正例样本;

对标记的原始负例集中的样本进行重采样得到负例样本,可具体包括:

从该标记的原始负例集中选取第二指定样本数量的样本,并确定选取的样本的均值作为重采样得到的负例样本。

其中,第一指定样本数量和第二指定样本数量可以相同也可以不同,本申请对此不作限定。样本的均值可以采用样本的属性向量的均值来表示。

为便于进一步理解,下面通过实施例二对本申请提供的多标记分类方法作进一步说明。

实施例二

如表1所示为多标记数据集,该表中一共有6个样本,,分别为x1,x2,...,x6,标记集合为{l1,l2}。

表1样本及其具有的标记

第1步:类对齐:

通过统计表1可知,l1的原始正例集为其原始负例集为l2的原始正例集为其原始负例集为

显然,(即l1的正例样本数为2),因此为了实现对进行类对齐,只需要增加一个正例到中去就好了。可选择l1中的2个正例x2和x3来生成正例(x2+x3)/2。同理,本例中l2的负例较少,也需要类对齐,可选择l2的2个负例x3和x4来生成负例(x3+x4)/2。如果需要产生多个样本,则采用轮流循环选择的方法即可。

采用上述方法,进行类对齐后的结果如表2所示。

表2类对齐后的各标记的正例集和负例集

第2步:确定特定属性

设c=1(即1个聚类中心),针对表2的数据执行k-means聚类分析方法。对于标记l1来说,得到的类对齐后的正例集和负例集两者的聚类中心

同理,对标记l2来说,得到聚类中心

根据公式(2)和(3),计算各标记的原始正例集中各样本与相应聚类中心的距离,得到标记l1和l2各自的特定属性集合如表3所示。

表3各标记的特定属性集合

第3步:特定属性插入

假设指定样本为x2,且k设置为6(即邻居样本集合中元素为6个),那么即x2的邻居样本集合{x1,x2,x3,x4,x5,x6}。所以这样以来,计算共现频率后,可知r21=2(即与样本l1共现频率最大的样本为l2),r22=1。所以,对于指定样本x2来说,l1和l2这对标记存在局部关系,相应的特定属性需要插入到对方的特定属性集合中去,其结果如表4所示。

表4特定属性插入的结果

这样,完成了通过标记间的相关关系实现对相关标记数据和语义的丰富。接下来就可以基于特定属性集合,进行样本训练。

经过测试,本发明的方法能够有效进行多标记分类,在以下hammingloss、one-error、coverage、rankingloss、averageprecision指标上总体效果很好。

本申请实施例针对不同标记建立特定属性集合,在此基础上结合标记关系来提升特定属性集合的分类能力。另外,多数多标记分类方法独立考虑类不平衡(即类不对齐)、标记关系、标记的特定属性等问题,而本发明所提出的分类方法综合考虑这三点使得最终分类结果将更加准确。

实施例三

基于相同的发明构思,本申请实施例还提供一种多标记分类装置,如图2所示,为该装置的结构示意图,包括:

正例负例集确定模块201,用于针对标记集合中的每个标记,确定该标记的原始正例集和原始负例集;其中,针对每个样本,若该样本具有该标记,则该样本属于该标记的原始正例集,否则,该样本属于该标记的原始负例集;

类对齐模块202,用于对各标记的原始正例集和原始负例集分别进行类对齐,得到各标记的类对齐后的正例集和类对齐后的负例集;其中,各标记的类对齐后的正例集中样本数量相等、且各标记的类对齐后的负例集中样本数量相等;

聚类中心确定模块203,用于根据预先确定的聚类中心个数,基于聚类分析方法确定每个类对齐后的正例集的聚类中心,以及每个类对齐后的负例集的聚类中心;

特定属性确定模块204,用于针对每个标记,计算该标记的原始正例集和原始负例集中每个样本相对于该标记的各聚类中心的距离,将得到的距离按序排列后作为该标记的与相应样本对应的特定属性,并以该标记的每个样本的特定属性为元素构成该标记的特定属性集合;

数据优化模块205,用于针对每个标记,将与该标记具有相关关系的其它标记的特定属性插入到该标记的特定属性集合中;

分类训练模块206,用于基于各标记的特定属性集合,进行分类训练。

其中,在一个实施例中,所述数据优化模块,具体包括:

邻居样本集确定单元,用于针对指定样本,由该指定样本以及该指定样本的多个邻居样本构成一个与该指定样本对应的邻居样本集;

共现频率确定单元,用于在多个邻居样本集的每个邻居样本集中,针对每个标记,确定该标记与其它标记同时作为同一样本的正例的频率作为该标记的共现频率;并确定该标记在该邻居样本集中的最大共现频率;

优化单元,用于若该最大共现频率大于指定值,则将与该标记的共现频率最大的其它标记的与该邻居样本集对应的指定样本的特定属性插入到该标记的特定属性集合中。

其中,在一个实施例中,根据以下公式确定所述共现频率:

其中,i表示指定样本;lj表示待确定共现频率的标记;lk表示另一个标记p(i,j,k)表示在指定样本i对应的邻居样本集合中lj与lk的共现频率。

其中,在一个实施例中,所述装置还包括:

邻居样本集确定模块,用于针对指定样本,根据以下方法确定该指定样本对应的邻居样本集:

计算其它样本与该指定样本的样本差;

按照样本差从小到大的顺序选取预设邻居样本数量的样本作为该指定样本的邻居样本。

其中,在一个实施例中,所述类对齐模块,具体用于确定各原始正例集中样本数最大值,并针对每个标记,若该标记的原始正例集的样本数小于该样本数最大值,则对该标记的原始正例集中的样本进行重采样得到正例样本,并将正例样本添加到该标记的原始正例集中得到类对齐后的正例集;以及

确定各原始负例集中最大样本数,并针对每个标记,若该标记的原始负例集的样本数小于该最大样本数,则对该标记的原始负例集中的样本进行重采样得到负例样本,并将该负例样本添加到该标记的原始负例集中得到类对齐后的负例集。

其中,在一个实施例中,类对齐模块具体用于:

从该标记的原始正例集中选取第一指定样本数量的样本,并确定选取的样本的均值作为重采样得到的正例样本;

从该标记的原始负例集中选取第二指定样本数量的样本,并确定选取的样本的均值作为重采样得到的负例样本。

其中,在一个实施例中,所述装置还包括:

聚类中心个数确定模块,用于根据以下方法确定聚类中心个数:

确定类对齐后的正例集的样本数与类对齐后的负例集的样本数的最小值;

计算预设控制变量和确定的该最小值的乘积,并对乘积进行取整操作后得到聚类中心的个数,其中,预设控制变量为大于0并小于1的常数。

上述装置的发明构思与方法实施例中相同,其中原理和有益效果也参见方法实施例,在此不作赘述。

实施例四

本申请实施例四还提供了一种计算设备,该计算设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(personaldigitalassistant,pda)等。如图3所示,该计算设备可以包括中央处理器(centerprocessingunit,cpu)301、存储器302、输入设备303,输出设备304等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(liquidcrystaldisplay,lcd)、阴极射线管(cathoderaytube,crt)等。

存储器可以包括只读存储器(rom)和随机存取存储器(ram),并向处理器提供存储器中存储的程序指令和数据。在本申请实施例中,存储器可以用于存储多标记分类方法的程序指令。

处理器通过调用存储器存储的程序指令,处理器用于按照获得的程序指令执行:针对标记集合中的每个标记,确定该标记的原始正例集和原始负例集;其中,针对每个样本,若该样本具有该标记,则该样本属于该标记的原始正例集,否则,该样本属于该标记的原始负例集;

对各标记的原始正例集和原始负例集分别进行类对齐,得到各标记的类对齐后的正例集和类对齐后的负例集;其中,各标记的类对齐后的正例集中样本数量相等、且各标记的类对齐后的负例集中样本数量相等;

根据预先确定的聚类中心个数,基于聚类分析方法确定每个类对齐后的正例集的聚类中心,以及每个类对齐后的负例集的聚类中心;

针对每个标记,计算该标记的原始正例集和原始负例集中每个样本相对于该标记的各聚类中心的距离,将得到的距离按序排列后作为该标记的与相应样本对应的特定属性,并以该标记的每个样本的特定属性为元素构成该标记的特定属性集合;

针对每个标记,将与该标记具有相关关系的其它标记的特定属性插入到该标记的特定属性集合中;

基于各标记的特定属性集合,进行分类训练。

实施例五

本申请实施例五提供了一种计算机存储介质,用于储存为上述计算设备所用的计算机程序指令,其包含用于执行上述多标记分类方法的程序。

所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(ssd))等。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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