别名:模糊标记学习,超集标记学习。
传统监督学习里面有一个重要概念就是标记,通常叫做监督信息。”而监督信息的质量很大程度上决定着监督学习问题的成败。
强监督
- 强监督假设能充分标记信息,从而在训练集当中获得充分的标记训练样本
- 强监督假设通常假设这个标记信息是明确(无歧义),且每个标记对象是唯一的。
弱监督
- 半监督
- 多标记
- 多示例
- 偏标记
偏标记学习例子
假设现在有一幅油画,请大家判断一下是什幺风格。不同人给出不同答案,这样便可以获得关于这个对象多个侯选标记,但显然在多个标记当中只有一个标记是正确的。
偏标记学习应用
偏标记学习 VS 半监督学习
相同点
半监督学习中未标记对象的真实标记是不明确的;偏标记学习中训练样本的标记也是不明确的。
不同点
对于半监督学习,真实标记取值空间或者范围是整个标记空间,其中任何一个标记都可能是它的真实标记。对于偏标记学习,真实标记取值范围只能位于侯选标记集合中,其标记范围是限定的。
偏标记学习 VS 多标记学习
相同点
多标记学习和偏标记学习中每个对象均有多个标记;
不同点
多标记学习中,假设对象的多个标记都是它的真实标记,但在偏标记学习中,假设对象多个侯选标记里面只有一个是它的真实标记。
偏标记学习 VS 多示例学习
相同点
基于对象和示例的标记都是未知的
不同点
- 对于多示例学习而言,它的歧异性出现在输入端,每一个对象由多个示例表示;= 对于偏标记学习的歧异性出现在输出端,其有多个侯选标记,但并不知道哪一个为真实标记。
多类分类问题常见策略
二类分解
一对一分解
如果做一对一的分解,任意取两个标记做一个配对,其中一个作为正类,另外一个作为负类,就可以构造一个CQ2二类分类器,测试时候把每一个二类分类器输出看成某一个标记上投的一票,最后算一下哪一个标记得票最多,我们就认为这个对象应该属于哪一个标记。
一对多分解
如果是做一对多分解,假设多类分的问题里面有Q个标记,每次把其中一个标记看成正类,剩下所有标记看成负类,这样可以构造一个二类分类器,整个做下来一共可以得到Q个二类分类器,测试阶段判断一下哪一个二类分类器输出最大,我们就认为这个对象属于哪一个类”。
非消歧策略
假设现在有五个标记,
ECOC求解多类分类问题会利用到一个编码矩阵。
每一行是和一个标记相对应的,每一个元素要么正一,要么负一。
ECOC方法进行建模的时候,针对编码矩阵,每一类都会构造一个二类分类器。具体怎幺构造呢?”
以第一类作为一个例子,
Y1Y2Y4对应编码值是+1,Y3和Y5对应编码值是-1,
这样便可以把Y1,Y2,Y4看成一个正划分,Y3和Y5看成一个负划分。
这个时候对于任何多类训练样本,每一个对象都有一个对应标记是训练样本。
如果Y2落在正划分里面,我们就认为这个训练样本是一个正样本,
如果Y2落在负划分里面,我们便认为这个训练样本是一个负样本。
数据资源
基于消歧的偏标记学习算法
在偏标记学习框架下,每个样本的标记信息不再具有单一性和明确性, 真实标记隐含在候选标记集合中.针对这种具有歧义性的样本,一种直观的解决偏标记学习问题的方法是对候选标记集合进行消歧.
消歧操作的进行是一个样本一个样本来做的,
实际上,对于消歧的过程,可以利用一些信息,
如样本之间并不是没有关联的,他们在特征空间中可能存在一些结构信息(有些样本离得比较近,有些样本离得比较远)
采用该思路, 现有的偏标记学习算法主要采用两种不同的策略, 即 “基于辨识 (identificationbased)” 的消歧和“基于平均 (averaging-based)” 的消歧.
- 基于辨识的消歧将偏标记样本的真实标记作为隐变量,通过迭代的方式优化内嵌隐变量的目标函数以实现消歧;
- 基于平均的消歧赋予偏标记样本的各个候选标记相同的权重,通过综合学习模型在各候选标记上的输出实现消歧.值得一提的是,针对基于平均的消歧策略,研究者们提出通过加权的方式学习候选标记的置信度, 对基于平均的消歧策略进行改进.
基于辨识(disambiguation)消歧策略
因为对象的真实标记(取值)未知,可将真实标记看成隐变量,基于这个隐变量去定义一些目标函数,通过去优化目标函数去识别这个隐变量的取值,通常采用迭代的算法(如EM)
极大似然估计方法 PL-EM
假设分类器具有参数化的表达形式,即
f(x)= \mathop{\arg\min}\limits_{y \in y}p(y|x,\theta)
p(y|x,\theta)代表样本x具有类别标记y的后验概率,
\theta为模型的参数向量
根据极大似然估计准则,当训练集中的样本满足条件独立性时,模型的最优参数可通过求解如下问题获得
\theta^* = \mathop{\arg\min}\limits_{\theta}\displaystyle\prod_{i=1}^{m}p(y\in S_i|x_i,\theta)
= \mathop{\arg\min}\limits_{\theta}\displaystyle\sum_{i=1}^{m}\log_{}{\displaystyle\sum_{y \in S_i}p(y|x_i,\theta)} ---(1)
可采用经典的 “期望最大化 (EM)” [32] 算法对式上(1)式进行优化. EM 算法是一种迭代优化算法,通过E-step和M-step对模型参数进行迭代更新.
最大化间隔方法 M3PL (非消歧偏标记学习)
最大化间隔方法 PL-SVM (偏标记学习研究综述)
基于平均消歧策略
k近邻方法 PL-kNN (偏标记学习研究综述)
凸优化方法 CLPL
Boosting 方法 CORD
Boosting 技术在机器学习中被广泛应用,它通过迭代将弱学习器构建为泛化能力较强的学习系统.基于标记置信度的判别式偏标记学习算法 CORD (confidence-rated discriminative partial label learning)
适应了 boosting 算法对偏标记样本进行学习,在每一轮迭代中,同时更新样本权重与候选标记的置信度.
特征感知的偏标记学习方法
基于非消歧的偏标记学习算法
纠错输出编码方法 PL-ECOC
符号
二值编码矩阵\boldsymbol{M} \in{+1,-1}^{q \times L}
二值编码矩阵M∈{+1,−1}
q×L
M的每一行\boldsymbol{M}(j,:)代表标记y_j对应的码字(码长),长度为L;
M的每一行M(j,:)代表标记y
j
对应的码字(码长),长度为L;
每一列是长度为q的编码\boldsymbol{v}=\left[v_{1}, v_{2}, \ldots, v_{q}\right] \in{+1,-1}^{q}
每一列是长度为q的编码v=[v
1
,v
2
,…,v
q
]∈{+1,−1}
q
基于vv,标记空间可被划分为y_{v}^{+}y
v
+
和y_{v}^{-}y
v
−
两个不相交的子集
\begin{array}{c} \mathcal{Y}{v}^{+}=\left{y{j} \mid v_{j}=+1,1 \leqslant j \leqslant q\right} \ \mathcal{Y}{v}^{-}=\mathcal{Y} \backslash \mathcal{Y}{v}^{+} \end{array}
Y
v
+
={y
j
∣v
j
=+1,1⩽j⩽q}
Y
v
−
=Y\Y
v
+
给定标记样本\left(\boldsymbol{x}{i}, S{i}\right)(x
i
,S
i
)
PL-ECOC算法不试图对候选标记集合S_iS
i
进行消歧,而是将其看作一个整体。
编码(重点)
在构建二类分类器h_lh
l
时,
若候选标记集合S_iS
i
完全落在y_{v}^{+}y
v
+
中,则将x_ix
i
视为一个正样本;
若候选标记集合S_iS
i
完全落在y_{v}^{-}y
v
−
中,则将x_ix
i
视为一个负样本;
否则在训练分类器h_lh
l
时将忽略x_ix
i
;
即新的训练集为
\mathcal{D}{v}=\left{\left(\boldsymbol{x}{i},+1\right) \mid S_{i} \subseteq \mathcal{Y}{v}^{+}, 1 \leqslant i \leqslant m\right} \cup\left{\left(\boldsymbol{x}{i}, \mathbf{- 1}\right) \mid S_{i} \subseteq \mathcal{Y}{v}^{-}, 1 \leqslant i \leqslant m\right}
D
v
={(x
i
,+1)∣S
i
⊆Y
v
+
,1⩽i⩽m}∪{(x
i
,−1)∣S
i
⊆Y
v
−
,1⩽i⩽m}
注意到, 由于编码生成的随机性, 可能会出现\mathcal{D}{v}D
v
中样本稀少的情况,而使得训练时的监督信息较少,无法得到泛化性较强的分类器. 因此,PL-ECOC设置了一个阈值\tauτ控制训练集中样本数目. 当\mathcal{D}{v}D
v
中样本数目小于\tauτ时,会重新生成一组码字, 直到\mathcal{D}{v}D
v
中数目达到阈值.
之后, 可利用二类学习算法\mathcal{B}B对该训练集进行学习建模得到基分类器h_{l}, \text { 即 } h_{l} \leftarrow \mathcal{B}\left(\mathcal{D}_{v}\right)h
l
, 即 h
l
←B(D
v
),并将编码vv加入PL-ECOC 的编码矩阵中\boldsymbol{M}(:, l)=\boldsymbol{v}M(:,l)=v
例子
PL-ECOC例子
解码阶段
在解码阶段, 对于未见示例x^{}x
∗
,基于各二类分类器在例x^{}x
∗
上的分类输出可得与x^{*}x
∗
对应的长度LL比特的码字:
h\left(\boldsymbol{x}{*}\right)=\left[h_{1}\left(\boldsymbol{x}{}\right), h_{2}\left(\boldsymbol{x}^{}\right), \ldots, h_{L}\left(\boldsymbol{x}{*}\right)\right]{\mathrm{T}}
h(x
∗
)=[h
1
(x
∗
),h
2
(x
∗
),…,h
L
(x
∗
)]
T
PL-ECOC 将与码字h\left(\boldsymbol{x}^{*}\right)h(x
∗
)最接近的类别作为测试样本的预测输出:
f\left(\boldsymbol{x}^{}\right)=\arg \max {y{j} \in \mathcal{Y}} \operatorname{dist}\left(h\left(\boldsymbol{x}^{}\right), \boldsymbol{M}(j,:)\right)
f(x
∗
)=arg
y
j
∈Y
max
dist(h(x
∗
),M(j,:))
其中距离函数\operatorname{dist}(\boldsymbol{u}, \boldsymbol{v})dist(u,v)可采用多种方法进行实现,如“海明(Hamming)”距离、“欧式 (Euclidean)”距离、“基于损失的(loss-based)”距离等.
伪代码
PL-ECOC伪代码
二类分解机制方法 PALOC
偏标记学习例子
在自动人脸命名中 对于新闻文档,可以将从新闻图片中检测到的每一张脸作为示例,将从相关标题中提取的名字作为候选标记,而不知道每一张脸与其真实标记之间的实际对应关系
在线对象注释
对于绘画图像,可以将web用户对其绘画风格的免费注释视为候选标签,而不知道绘画图像和它的真实标记之间的实际对应关系
对于一些难以获取准确标记信息,但是能够获得大量歧义样本的应用场景,偏标记学习往往能够有效发挥其特性。
在自动人脸标注中,对于一张包含多个人物的图片,我们可以获得图像中所有的人物的名字,但是每张人脸和名字的对应关系却很难以获得。
在利用众包标注获得的数据集,我们可能不能够获得示例所属的标记,但我们能知道不属于某样本的标记集合,这样也得到该示例的歧义标注;
研究偏标记学习思路
问题转换角度:
问题转换指的是改造偏标记数据,使其适应已有学习框架.
在本文中, 有 3 种算法将偏标记学习问题进行转换, 即 CLPL, PL-ECOC, 以及 PALOC, 然而这 3 种算法均将偏标记学习转换为二类学习问题. 如文中描述,偏标记学习的目标是得到多类分类器,因此可尝试直接将偏标记学习转换为多类分类问题、回归问题等.
相关信息利用
偏标记学习的标记具有歧义性, 训练样本的监督信息十分有限, 因此更应充分挖掘已有数据之间的相关性. 从示例出发,可考虑样本之间满足的 “流形 (manifold)” 假设、“聚类 (cluster)”假设,输入相近的样本具有相似的输出;从标记出发,候选标记之间通常相关性较强,候选标记与非候选标记之间相关性较弱.
弱监督学习框架融合
偏标记学习与其他弱监督学习框架既有联系也有区别,如当偏标记学习候选标记数较高时,则可将其视为未标记样本,又如偏标记学习与多示例学习互为对偶问题,因此可适当引入其他弱监督学习框架的技术对偏标记学习问题进行求解