Paper Reading: Learning from Weak-Label Data: A Deep Forest Expedition
Paper Reading 是从个人角度进行的一些总结分享,受到个人关注点的侧重和实力所限,可能有理解不到位的地方。具体的细节还需要以原文的内容为准,博客中的图表若未另外说明则均来自原文。
论文概况 | 详细 |
---|---|
标题 | 《Learning from Weak-Label Data: A Deep Forest Expedition》 |
作者 | Qian-Wei Wang, Liang Yang, Yu-Feng Li |
发表会议 | AAAI Conference on Artificial Intelligence (AAAI) |
发表年份 | 2020 |
会议等级 | CCF-A |
论文代码 | 文中未公开 |
作者单位:
National Key Laboratory for Novel Software Technology, Nanjing University, Nanjing, China
Collaborative Innovation Center of Novel Software Technology and Industrialization, Nanjing, China
研究动机#
弱标签学习是一种弱监督的多标签学习,弱标签数据集中每个样本同时与多个真值标签相关联,只有部分标签被提供。例如下图中的图像与 10 个标签相关联,但其中只有 5 个是被提供的,标签不完备性问题严重影响多标签学习的性能。
弱标签学习的难点主要在于以下三个方面:
- 作为一种多标签学习,很多算法难以有效利用标签相关性;
- 如果将弱标签学习分解为一系列二分类任务,假阴性标签造成的影响很难缓解;
- 弱标签学习存在类别不平衡问题。
文章贡献#
针对弱标签学习问题的困难,以及 gcForest 不能直接处理弱标签数据集的问题,本文提出了 LCForest (Label Complement cascade Forest) 模型。本文没有将问题表述为一个正则化的框架,而是采用了级联森林结构逐层处理信息,并通过简洁高效的标签补充结构赋予其利用弱标签数据的能力。首先在级联森林的每一层中在考虑标签的相关性的基础上,将伪标签分布与原始标签向量进行连接。为了解决假阴性标签带来的问题,在每一层将相关标签安全地补充到初始标签矩阵中。针对前几种类失衡问题,引入补码标志机制来控制每个类的标签补码,在一定程度上缓解了这一问题。通过实验表明,LCForest 方法优于现有的多标签学习、深度神经网络和弱标签学习算法。
本文方法#
本文提出的 LCForest 没有将问题公式化为正则化框架,而是采用了深度森林算法的级联森林结构,对原始特征进行逐层处理。为了解决弱标签问题,在级联森林中嵌入了一个简洁高效的标签补码结构,该组件用于构建每层的标签矩阵。由于真实的标签矩阵是不可访问的,不能直接通过交叉验证来估计性能。为了控制级联森林的生长,LCForest 采用 TIcE 方法来估计弱标记矩阵的标签频率和补码标志机制。
标签补码结构#
标签补码结构主要用于将相关标签补码引入带注释的弱标签矩阵中,在级联的第 t 层中,首先需要将数据集分成 5 份执行五折交叉验证。
在每折验证中用随机森林的预测对测试折叠中每个样本的标签向量进行修改,对于验证集的第 i 个示例的第 k 个类标签,如果这些随机森林的预测是正类且一致(如下公式所示),但原始标签Yik为负,在下一层训练时该标签将被修改为正类标签 Yt+1ik=1。其中 numF 表示一层中随机森林的数量。
补码不是对这一层的训练标签进行的,而是对标注者提供的原始弱标签训练标签进行的。这样的方法简单而有效,最后可以得到完整训练集 Ypred 的预测,然后用如下公式完成标签矩阵。
标签频率估计与补码标志机制#
标签频率定义了选择一个正例进行标记的概率,LCForest 使用 TIcE 方法来估计所提供的弱标签矩阵的标签频率 c。TIcE 方法采用了“完全随机选择”的假设,关键在于数据的子域给出了 c 的下界,并且可以通过自顶向下的决策树归纳法自然地找到这样的子集。
估计出标签频率后,就可以计算出每个类对应的监督标签集中的正标签个数,此步可以看作是训练过程中补码标签矩阵中正标签个数的上界。LCForest 中引入补码标志向量 f=[f1,f2,…]T 来控制训练过程,fk=0 表示第 k 类可用于补码标签,fk=1 表示不可用。训练开始时补码标志向量的所有元素都初始化为 0,这意味着允许对所有类的标签进行补码。在训练过程中,对于每一个类经过一层级联后,一旦正向标签数达到估计的上界,则补码标志向量中对应的元素设为 1,不再改变该类的标签。只要补码标志向量中的所有元素都为 1 训练过程将终止,补码标志的执行过程可表示为如下公式。
对于弱标签学习中的每个类而言,相关标签的数量通常比不相关标签的数量要少得多。在 LCForest 中使用阈值 θ 从随机森林分类器中对预测概率 Yprob 离散化,使用如下公式表示。
阈值被设定为小于 0.5,这将刺激产出更积极的预测,该步骤的整体流程如下伪代码所示。
LCForest 整体框架#
LCForest 的整体流程如下伪代码所示,假设原始输入有 100 个原始特征、5 个类标签,这些数据将用于训练两个完全随机森林和两个随机森林。经过第一层处理后,对于每个训练样例,将原始特征向量与 4×5=20 维启发向量连接起来。直到补码标志向量中的所有元素都被设置为 1 或级联层数达到最大层 T 时,训练过程终止。对于一个测试实例,它将遍历级联每一层的随机森林,然后将最后一层的 4 个 5 维类向量聚合,取值最大的类得到最终的预测结果。
实验结果#
实验设置#
LCForest 与几种多标签学习、深度神经网络和弱标签学习算法进行了比较,它们分别是:ML-kNN、RF-PCT、DBPNN、WELL,每种算法都各自调整了参数。结果评估方面选择了 3 种评价指标,分别是:Micro-F1、Macro-F1、Hamming Loss。
LCForest 采用的超参数按如下表格设置:
超参数 | 说明 |
---|---|
T | 10 |
K | 5 |
θ | 0.4 |
每个森林决策树数量 | 200 |
TIcE max-bepp k | 5 |
TIcE 分割的最大数目 M | 500 |
TIcE 子集中样本总数的最小数目 minT | 5 |
对于每个数据集,通过完全随机地在训练数据上下降 {20%, 30%, 40%, 50%} 的相关标签来考虑不完整标签比率,通过执行 5 折交叉验证来评估性能。
基因功能分析任务实验#
第一个任务是预测 Yeast 数据集的基因功能类别,数据集包含 2417 个样本和 14 个类标签的基因功能类别,每个基因有 103 个微阵列表达特征,每个实例的平均标签数为 4.24。实验结果如下表所示,可见 LCForest 在对比方法中获得了相当不错的性能,对不完整标签比的变化和不同的评价标准都有很好的鲁棒性。
文本分类任务实验#
第二个任务是 TMC 文本分类数据集,每份文本都是一份航空安全报告,目标是根据文档所描述的问题类型来标记文档。数据集总共有 28596 个实例和 22 个类标签,每个文档用 49060 个特征表示,平均有 3.57 个标签。为了简化问题,此处随机抽取 2000 个样本进行评价,实验只选取前 500 个特征。实验结果如下表所示,可以看到 LCForest 方法在所有子任务上都明显优于所有比较的方法。
场景分类任务实验#
第三个任务是多标签语义场景分类数据集,数据集包含 6 个对象类的 2407 张图像,最后表示为 294 维特征向量,每个实例的平均标签数为 1.07。结果如下表所示,可以看到虽然当不完整标签比比小于 30% 时,WELL 在 MacroF1 上的表现优于 LCForest,但当不完整标签比比较大时,LCForest 的表现仍然很好。
医学自然语言处理实验#
最后一个任务是医学自然语言处理,数据集包含 978 个实例和 1449 个特征,共有 45 个标签,结果如下表所示。
优点和创新点#
个人认为,本文有如下一些优点和创新点可供参考学习:
- 针对弱标签学习问题,本文作者设计了相关的组件使深度森林可以支持对该问题的解决;
- 在树模型的基础上结合了 TIcE 方法,有效估计估计了所提供的弱标签矩阵的标签频率;
- 通过利用标签补码结构,可以有效对下层级联的标签进行重编码,并支持 gcForest 的五折交叉验证过程。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2021-10-07 网络技术:子网划分实例分析与配置
2020-10-07 网络技术:IP 编址