Paper Reading Note
URL: https://arxiv.org/abs/1408.6027
TL;DR
本文提出了一种新的学习范式:label distribution learning, LDL,用来学习各个label描述一个实例的度。single-label 和 multi-label learning可以看做LDL的一种特例,区别于学习一个或多个label,LDL学习一种label的分布,这种分布表示每个label描述实例时的相对重要性。
Dataset/Algorithm/Model/Experiment Detail
Introduction
目前已有的学习范式主要有两种:
(1)每个实例有一个label,称为Single-label learning(SLL);
(2)每个实例有多个label,称为Multi-label learning(MLL)
以上这两种范式都旨在回答“which label can describe the instance?”的问题,但是都不能回答“how much does each label describe the instance?”的问题。那么LDL就可以解决以上问题。
对于一个样本 x ,称 dyx 为label y 描述该样本的度,且满足以下条件:


那么,一个样本所有可能的label对应的 dyx 可以构成类似于概率分布的形式,被称为label distribution。那么,学习由label distribution描述的实例的过程被称为label distribution learning, LDL。
LDL和其他学习范例的比较如下图:

可以看出LDL中,样本由一个label distribution标识,衡量模型性能的方法是比较模型预测的分布与实际分布间的距离或相似性。
实际上,SLL和MLL可以转换为LDL,只需要将他们的标签修改一下即可。

Formulation of LDL


, θ 是模型参数,那么在给定训练集 S 下,LDL的目标是对于输入 xi ,找到 θ 使得模型给出的分布和实际的分布 Di 相似。
如果使用KL散度度量两个分布的相似性,那么最优的模型参数 θ 公式如下:

对于SLL,将其label distribution带入,则得到下式,实际就是最大似然估计:

对于MLL,将其label distribution带入,则得到:

LDL algorithm
作者给出了LDL 算法设计的三种策略:(1)problem transformation;(2)Algorithm Adaptation;(3)Specialized Algorithms。
-
problem transformation:就是将LDL问题转换为已有的学习问题。比如,可以将LDL转换为SLL问题,方法是:将每个样本转换为 c 个带权重的single-label样本,权重为对应的 dyx 。然后根据样本权重进行采样,得到 n∗c 个single-label样本,然后使用SLL的方法即可。
-
Algorithm Adaptation:扩展已有的方法用来解决LDL问题。例如,k-近邻算法,我们可以将一个待测试样本的k个近邻对应的label distribution做平均,作为其预测的分布。
-
Specialized Algorithms:根据LDL问题的特点,直接设计对应算法。作者介绍了两种算法,一种是使用Improved Iterative Scaling (IIS)策略的方法,被称为SA-IIS;另一种方法是对SA-IIS在优化方法上的改进,使用BFGS优化方法,被称为SA-BFGS。
SA-IIS方法将待学习的参数模型假设为最大熵模型:


将上式带入KL散度衡量分布相似性的最优参数公式中,得到优化目标是:


Δ 的每一项 δyi,k 可以通过解如下等式得到:

Experiments
作者列举了41种可以用来评价LDL的指标,并选择了6种各具代表性的指标用来之后衡量实验结果。

另外,作者公布了16个可以用于LDL研究的数据集,包括一个人造数据集和15个真实数据集。
在人造数据集上,6种不同方法在6种指标上的性能比较,可以看出作者提出的Specialized Algorithms性能最优。

其他几个数据集中挑选的4个样本上,不同算法在不同指标下的结果对比,以及模型预测出的label distribution对比。同样可以看出Specialized Algorithms性能最优,说明对于LDL问题,针对这种问题特点所设计的方法往往性能较好。

作者在总结部分提到,3种场景下,使用LDL可能会有用:
- 样本的各个label间,自然就有一种描述程度度量,如文中提到的预测基因对不同疾病的表达程度的应用
- 当样本有多个标签来源时,如有多个标注员对同一样本进行标注,通过多个标注结果来构建一个label distribution往往比使用最大投票获得的单个标签有用。
- 当标签之间高度相关联时。
Thoughts
实际上,有很多应用可以构建为LDL问题,如年龄估计,表情识别等,因为这些任务的样本可能包含多种类别的特征,只是各个类别在该具体样本中表现的程度不同。拿年龄估计为例,一张25岁的人脸图像,其实和24岁,26岁的人脸图很像,LDL可以很好的利用这种信息。
网友评论