无消歧的偏标记学习(2017)

原文链接:http://aaai.org/ocs/index.php/AAAI/AAAI17/paper/view/14210

研究动机

  • 基于消歧的策略易于被和真值标签在样本候选标签集中同时出现的假阳性标签误导而性能下降,候选集越大,性能下降越多
  • 多分类器分解为二分类器
    • 多分类器集成的最流行机制是使用一对余或一对一分解将学习任务分解
      • 一对余分解:学习任务分解为多个二分类器。对每个二分类器:一个类为正类,其余类都为负类。将二分类器的输出作为类标签的预测置信度,通过选择输出最大的分类器的类标签作为对未见过样本的预测
      • 一对一分解:学习任务分解为 [ q 2 ] \begin{bmatrix} q \\ 2\end{bmatrix} [q2] 个二分类器,每个二分类器分类一对类标签 ( y j , y k ) ( 1 ≤ j < k ≤ q ) , y j (y_j,y_k)(1 \le j <k \le q),y_j (yj,yk)(1j<kq),yj为正类, y k y_k yk为负类。通过将二分类器的输出作为类标签上的投票,通过选择从所有二分类器中获得最大票数的类标签作为对未见样本的预测。
    • 在偏标记学习场景中,因为训练样本的真值标签不能直接访问(不知道是哪个是真值)。不能使用一对余、一对一分解,因为不知道样本属于哪一类。

Evidently, the major difficulty for partial label learning lies in that the ground-truth label of the PL training example is concealed in its candidate label set and thus not directly accessible to the learning algorithm.


定义

  • d维样本空间: X = R d X=\mathbb{R}^d X=Rd
  • 含q个类标签的标签空间: Y = y 1 , y 2 , . . . , y q Y={y_1, y_2,...,y_q} Y=y1,y2,...,yq
  • 含m个样本的训练集: D = { ( x i , S i ) ∣ 1 ≤ i ≤ m } D=\{(x_i,S_i)|1\le i \le m\} D={(xi,Si)1im}
  • 每个样本 x i x_i xi由d维特征向量表示: ( x i 1 , x i 2 , . . . , x i d ) T (x_{i1},x_{i2},...,x_{id})^T (xi1,xi2,...,xid)T
  • 多分类器: X → Y X\rightarrow Y XY
  • 样本 x i x_i xi的真值标签 t i t_i ti
  • ECOC
    • ECOC作为多分类集成的一种成熟机制,在编解码过程的基础上进行分解
    • 编码阶段
      • 使用q×L编码矩阵 M ∈ { + 1 , − 1 } q × L M\in\{+1,-1\}^{q\times L} M{+1,1}q×L加速学习进程
      • 编码矩阵的每一行M(j,:)对应类标签 x i ( 1 ≤ j ≤ q ) x_i(1\le j \le q) xi(1jq)的L位码字
      • 编码矩阵的每一列M(:,l)将标签空间分为正 y l + = { y j ∣ M ( j , l ) = + 1 , 1 ≤ j ≤ q } 和 负 y l − = { y j ∣ M ( j , l ) = − 1 , 1 ≤ j ≤ q } y_l^+=\{y_j|M(j,l)=+1,1\le j \le q\}和负y_l^-=\{y_j|M(j,l)=-1,1 \le j \le q\} yl+={yjM(j,l)=+1,1jq}yl={yjM(j,l)=1,1jq}两半
      • 使用矩阵的每一列构建二分类器 h l : X → R , Y l + h_l:X\rightarrow \mathbb{R},Y_l^+ hl:XRYl+为正类, Y l − Y_l^- Yl为负类
    • 解码阶段
      • 给定未见样本 x ∗ x^* x,通过连接L个二分类器的符号输出获得L位码字: h ( x ∗ ) = [ s i g n ( h 1 ( x ∗ ) ) , s i g n ( h 2 ( x ∗ ) ) , s i g n ( h L ( x ∗ ) ) ] T h(x^*)=[sign(h_1(x^*)),sign(h_2(x^*)),sign(h_L(x^*))]^T h(x)=[sign(h1(x)),sign(h2(x)),sign(hL(x))]T, sign(z)当z>0时返回+1否则返回-1
      • 返回码字最接近 h ( x ∗ ) h(x^*) h(x)的类标签作为 x ∗ x^* x的预测结果: f ( x ∗ ) = a r g min ⁡ y j ( 1 ≤ j ≤ q ) d i s t ( h ( x ∗ ) , M ( j , : ) ) f(x^*)=arg\min\limits _{y_j(1\le j \le q)}dist(h(x^*), M(j,:)) f(x)=argyj(1jq)mindist(h(x),M(j,:)),dist(·, ·)可以是汉明距离,欧氏距离,基于损失的距离等等

PL-ECOC

  • 编码阶段

    • 使ECOC适用于偏标记任务的关键在于如何关于每列编码构建二分类器
      • v = [ v 1 , v 2 , . . . , v q ] T ∈ { + 1 , − 1 } q v=[v_1,v_2,...,v_q]^T\in\{+1, -1\}^q v=[v1,v2,...,vq]T{+1,1}q表示q位列编码,将标签空间分成两半:
      • Y v + = { y j ∣ v j = + 1 , 1 ≤ j ≤ q } Y_v^+=\{y_j | v_j=+1,1 \le j \le q\} Yv+={yjvj=+1,1jq}
      • Y v − = y /   y v + Y_v^-=y /\ y_v^+ Yv=y/ yv+
    • 算法将候选标签集 S i S_i Si看作一个整体构建二分类器
      • 从原始PL训练集生成二类训练集 B v B_v Bv,若 S i S_i Si全部在 Y v + Y_v^+ Yv+中为正类样本,若 S i S_i Si全部在 Y v − Y_v^- Yv中为负类样本
        在这里插入图片描述
      • 候选标签集不属于任何一半的样本不会对生成 B v B_v Bv的二类训练样本有任何贡献
      • 为了避免只有很少样本的非信息二类训练集,算法通过控制 B v B_v Bv的最小允许大小作为列编码v需满足的合格条件
        无消歧的偏标记学习(2017)_第1张图片
  • 解码阶段
    关键在于如何基于诱导二分类器 h l ( 1 ≤ l ≤ L ) h_l(1\le l\le L) hl(1lL)预测未见样本。算法使用诱导二分类器的预测置信度和性能,得到损失加权解码的推广版本.

    • 给定编码矩阵M,定义q×L的性能矩阵H,每个元素H(j,l)记录类标签 y j ( 1 ≤ j ≤ q ) y_j(1\le j \le q) yj(1jq)的二分类器 h l ( 1 ≤ l ≤ L ) h_l(1\le l \le L) hl(1lL)的经验性能
      在这里插入图片描述
      • |·|返回一个集合的基数
      • [ [ π ] ] [[\pi]] [[π]]若断言 π \pi π为真返回1,否则返回0
      • D j D_j Dj包含所有标签集由 y j y_j yj的样本
    • 因此H(j,l)记录了D_j中由H(j,l)产生的预测与编码M(j,l)一致的样本比例
    • 为了考虑每个二分类器的相对性能,可以通过对H的每一行进行正则化来生成一个权重矩阵 H ^ \hat{H} H^
  • 给定未见样本 x ∗ x^* x,通过以下损失权重解码规则预测类标签
    在这里插入图片描述

  • 每个码字的接近度通过分类器预测置信度 h l ( x ∗ ) h_l(x^*) hl(x)和码字位M(j,l)之间的加权指数损失计算

  • 表1总结了所提出的PL-ECOC方法的完整编码阶段(步骤1至11)和解码阶段(步骤12至15)。在编码阶段期间,随机产生一个潜在列编码V(步骤3)。一旦满足资格条件(步骤6),将接受潜在的码字v来实例化编码矩阵M的一个新列(步骤7至8),然后是诱导对应的二分类器(步骤9)。在解码阶段,基于所诱导的二分类器的经验性能来计算权重矩阵\hat{H}(步骤12至13)。之后,基于损失权重解码规则预测未见样本的类标签(步骤14至15)
    无消歧的偏标记学习(2017)_第2张图片

未来方向

  • 非随机编码
  • 其他无消歧的偏标记学习技术

你可能感兴趣的:(偏标记)