多标签学习Multi-Label Learning by Exploiting Label Dependency

Multi-Label Learning by Exploiting Label Dependency

2010 KDD

Min-Ling Zhang,Kun Zhang

摘要

在多标签学习中,每个训练示例与一组标签相关联,并且任务是为未见示例预测正确的标签集。由于可能的标签集的数量巨大(指数),从多标签示例中学习的任务相当具有挑战性。因此,成功进行多标签学习的关键是如何有效利用不同标签之间的相关性,以促进学习过程。

在本文中,我们建议使用贝叶斯网络结构来有效地编码标签的条件依赖性以及特征集,其中特征集作为所有标签的共同父节点。为了使其实用,我们给出了一种近似但有效的程序来找到这样的网络结构。在该网络的帮助下,多标签学习被分解为一系列单标签分类问题,其中通过将其父标签作为附加特征来为每个标签构建分类器。根据网络给出的标签排序递归地预测标签集的未见示例。对广泛的数据集进行广泛的实验验证了我们的方法对其他成熟方法的有效性。

介绍

形式上,从多标签示例学习对应于找到从特征空间到标签集空间的映射,即所有标签的功率集。因此,当存在大量或甚至中等数量的标签时,由于可能的标签集的数量巨大(指数),多标签学习的任务将变得相当具有挑战性。为了解决这个问题,应该利用不同标签之间的相关性来促进多标签学习。例如,如果我们知道有标签狮子和草地,那么用非洲标签注释图像的概率会很高;如果我们知道一份文档与娱乐有关,那么它就不太可能被标记为政治。因此,有效利用不同标签之间的相关信息对于任何多标签学习系统的成功至关重要。

在本文中,我们的目标是以有效且计算有效的方式解决标签相关性问题。具体而言,提出了一种名为 **Lead (multi-label Learning by Exploiting lAbel Dependency)**的新方法来学习多标签示例。

首先,构建**贝叶斯网络(或有向无环图,DAG)**以表征以特征集为条件的所有标签的联合概率,使得标签之间的相关性通过其由DAG结构表示的依赖关系明确表达。之后,通过将DAG中的父级标签视为附加输入要素,为每个标签学习二进制分类器。最后,通过使用所识别的贝叶斯网络和所学习的二元分类器进行推理来预测未见示例的标签集。

与其他多标签学习方法相比,Lead通过采用贝叶斯网络具有以下优势

  1. 标签空间中固有的基础结构以紧凑的方式明确表达,这提供了一个有效的方法可以获得有关的相关信息,来学习问题;
  2. 它能够解决标签相关性的任意顺序,其中依赖性的顺序由每个标签的父母的数量“控制”;
  3. 模型复杂度与可能标签的数量(每个标签一个二元分类器)成线性关系,并且对于贝叶斯网络和学习的分类器,对看不见的示例进行预测是直截了当的。

通过广泛的多标签数据集进行的广泛实验表明,Lead可以为完善的一阶,二阶和高阶方法提供极具竞争力的性能。

LEAD 方法

以前的方法以各种方式解决了对 P ( y x ) P ( \boldsymbol { y } | \boldsymbol { x } ) 建模的问题,一阶方法通过建模将其分解为许多独立的任务来解决问题 P ( y k x ) ( 1 k q ) P \left( y _ { k } | x \right) ( 1 \leq k\leq q ) ,二阶方法通过建模考虑一对标签之间的相互作用来解决问题 P ( ( y k , y k ) x ) ( k k ) P \left( \left( y _ { k } , y _ { k ^ { \prime } } \right) | \boldsymbol { x } \right) \left( k \neq k ^ { \prime } \right) ,高阶方法通过建模解决标签子集之间的相关性来解决问题 P ( ( y k 1 , y k 2 , , y k q ) x ) ( q q ) P \left( \left( y _ { k _ { 1 } } , y _ { k _ { 2 } } , \dots , y _ { k _ { q ^ { \prime } } } \right) | \boldsymbol { x } \right) \left( q ^ { \prime } \leq q \right)

我们的目标是通过利用标签依赖性找到一种简单有效的方法来提高多标签学习的性能。

基本思想

我们的目标是利用标签 y k ( 1 k q ) y _ { k } ( 1 \leq k \leq q ) 之间的条件依赖关系,这样每个例子我们都可以更好地预测它们的组合,问题是如何以有效的方式查找和利用这种条件依赖。为此,我们采用贝叶斯网络作为一种紧凑的方式来编码标签依赖性;为了简化表示,我们假设标签 y k y_k 和特征集 $X $的联合分布根据一些贝叶斯网络结构或有向无环图进行分解。请注意,在多标签学习中,所有标签本身都依赖于特征集 X X ,因此, x x 是所有标签的共同父级。
因此我们有
p ( y x ) = k = 1 q p ( y k p a k , x ) p ( \boldsymbol { y } | \boldsymbol { x } ) = \prod _ { k = 1 } ^ { q } p \left( y _ { k } | \mathbf { p } \mathbf { a } _ { k } , \boldsymbol { x } \right)
其中 p a k \mathbf { p a } _ { k } 表示标签 y k y_k 的父项集合,不包括固有父项 x x 。这样,多标签分类问题被分解为一系列小规模的单标签分类问题。

在这里插入图片描述

(a)描述了特征集,所有标签之间的关系 y k y_k (待寻找),从该图可以看出标签之间存在两种类型的依赖关系,一个是由于共同的父母,即特征集 x x ;因为它的效果,标签变得依赖,即使它们在 x x 条件下是有条件独立的。另一个是标签的直接依赖关系。

一般来说,贝叶斯网络结构学习有两种方法。一个是基于约束的,另一个是基于分数的。

一个实用方法

DAG关于误差:消除特征的影响

然后,我们的目标是在某些合理的假设的帮助下,开发一个简化的程序来识别图1(a)中标签之间的联系。
为了便于以下分析,我们将二元分类问题视为非线性回归问题的一个特例:
y = f ( x ) + e y = f ( x ) + e

其中 y y 表示目标变量, x x 表示预测变量, e e 表示噪声。以下命题显示了最大化该模型的数据可能性与最小化 x x e e 的估计之间的互信息之间的关系。

命题1.考虑非线性回归模型Eq2,其中f是平滑函数。
给定示例 { x i , y i } i = 1 N \left\{ x _ { i } , y _ { i } \right\} _ { i = 1 } ^ { N } ,以最大似然拟合上述模型等同于最小化x与e的估计之间的互信息。

我们将分类视为非线性回归的极端情况:在分类中,y表示目标类标签(0或1),f表示阈值函数,并且误差e是离散的,可以是0,1或-1。e = 1(-1)表示实际来自类1(0)的示例被分类为类0(1)。

对于利用相同功能集的两个不同分类问题

命题2.假设我们有两个具有相同属性的分类问题:
y 1 = f 1 ( x ) + e 1  and  y 2 = f 2 ( x ) + e 2 y _ { 1 } = f _ { 1 } ( \boldsymbol { x } ) + e _ { 1 } \text { and } y _ { 2 } = f _ { 2 } ( \boldsymbol { x } ) + e _ { 2 }
如果(1)e1和e2都独立于x,并且(2)e1和e2也彼此独立,则y1和y2在给定x的条件下是独立的。

换句话说,这里我们合理地假设 x x 的效果是“可分离的”:我们可以首先消除 x x 在所有标签中的影响,然后通过分析错误来发现 y k x y_k(以x为条件) 之间的条件独立性。这种假设可能并不总是严格。然而,它提供了一种极其简化的方式来识别网络中存在公共父 x x y k y_k 之间的链路(图1(a))。

LEAD算法流程

我们首先通过为所有标签构造分类器并找到相应的错误来消除所有标签上的特征集 x x 的影响。
然后,我们找到误差 e k e_k 的贝叶斯网络结构,并将其视为与 x x 作为共同父项的标签的近似值。
图1(b)说明了这个想法。有了这个贝叶斯网络,我们就可以找到方程式1中每个标签 y k y_k p a k pa_k
在我们的方法中,我们通过在构造 y k y_k 的分类器时直接将 p a k pa_k 合并到“特征集”中来利用贝叶斯网络结构中的链接。

我们提出的方法包括以下四个步骤。

  1. 独立构建所有标签的分类器。这会为每个标签 y k y_k 产生误差 e k e_k (公式2)。
  2. 学习贝叶斯网络 G  of  e k , 1 k q \mathcal { G } \text { of } e _ { k } , 1 \leq k \leq q
  3. 对于每一个标签 y k y_k 通过在特征集中引入依赖父节点 p a k \mathrm { pa } _ { k } 构建分类器 C k C _ { k }
  4. 对于测试数据,递归的进行预测 y k y_k

参考文献

[Zhang, M.-L., & Zhang, K. (2010). Multi-label learning by exploiting label dependency. In KDD’10: proceedings of the 16th ACM SIGKDD international conference on knowledge discovery and data mining (pp. 999–1008). New York: ACM.(https://dl.acm.org/citation.cfm?id=1835930)

代码实现

https://github.com/hinanmu/LEAD

猜你喜欢

转载自blog.csdn.net/csdn_47/article/details/83212848