一、介绍
传统监督学习的任务:从训练集 学习一个函数 ;传统监督学习采用的假设:每个实例只属于一个概念,即具有唯一的语义含义。然而现实世界的对象可能很复杂并由多种语义,例如在文本分类、信息检索等情景中,为解决上述问题,可为对象分配一组适当的标签以表达其语义。基于上述考虑,多标签学习的范式由此产生。多标签学习的每个对象也由单个实例表示,但其与一组标签相关联,任务是学习一个函数以未见的实例预测正确的标签集。
二、范式
A、正式定义
1)学习框架:实例 X = (或), d维标签空间Y = 。多标签学习任务:从训练集D = 中学习一个函数 ,对于每个多标签实例 是d维特征向量, 是与 相关联的标签集。多标签分类器h(·),h(x)作为x的正确标签集(x未见过)。
为了表示标签集属性,可采用多标签指标:
标签基数: (每个样本的平均标签数)
标签密度: (样本空间中可能的标签数)
标签多样性: (数据集中出现不同标签集数量)
归一化:
多标签学习系统返回的模型对应一个实值函数 ,值f(x,Y)可认为yY,y是x正确标签的置信度。给定一个多标签实例(x,Y),f(·,·)应产生相关标签y'上较大输出和不相关标签y''上较小输出,即f(x,y')>f(x,y'')。
PS:h(·)可由实值函数f(·,·)导出:,其中充当阈值函数,将标签分为相关和不相关的标签集。
2)关键挑战:多标签学习输出空间太大:标签集数量随着类标签数量的增长而指数增长(),类似于求集合的子集的数量。所以需利用标签之间相关性来促进学习过程。
现有的标记相关性利用的策略:
一阶策略:多标签学习的任务以逐标签的方式处理,忽略和其他标签的相关性,比如将多标签问题分解未许多独立的二分类问题(简单、高效,但由于忽略标签的相关性,有效性可能不是最佳,即泛化性较低)
二阶策略:考虑标签之间的成对关系来应对多标签学习任务,例如相关标签和不相关标签之间的排序(泛化性能较好,但计算复杂度会上升)
高阶策略:考虑标签之间的高阶关系来应对多标签学习任务,例如将所有其他标签的影响强加于每一个标签或处理标签集的随机子集之间的连接(泛化性能更好,但计算复杂度更高)
3)阈值校准:为了确定未见过的实例x的正确标签集,实值在每个标签上的输出f(x,y)应根据阈值函数输出t(x)进行校准。
通常,阈值校准可通过两种策略完成:将t(·)设置为常数函数或从训练实例当中引入t(·)。对于前者,由于f(x,y)在R中取值,一种直接的选择是使用0作为校准常数。当f(x,y)表示y是x的适当标签的后验概率时,校准常数的另一选择是0.5。此外,当测试集中所有未出现的实例都被提供时,可以设置校准常数以最小化训练集和测试集之间的特定多标签指示符上的差异,特别是标签基数。对于后者,将使用堆叠式程序来确定阈值函数。一种流行的选择是假设t(·)的线性模型,即,其中f*(x)是一个q维的堆叠向量,存储每个标签的输出。为了计算q维权向量w*和偏差b*,基于训练集D求解以下线性最小二乘问题:
这里代表堆叠模型的目标输出,该模型将Y划分为每个训练实例的相关和不相关标签,且错误分类最少。上述所有的阈值校准策略都是通用技术,可以用作任何返回实值函数f(·,·)的多标签学习算法的后处理步骤。 因此,也存在一些特定的阈值校准技术,这些技术是特定于学习算法的,并且将在第3部分中作为它们固有的组件被引入。代替使用阈值函数t(·),引入h(·) 从f(·,·)是用t来指定每个例子的相关标签的数量:X→{1,2,...,。。 ,q}使得h(x)= {y | rankf(x,y)≤t(x)}这里,当Y中的所有类标签按照f(x,·)降序排列时,rankf(x,y)返回y的等级。