论文阅读 (八):Multi-instance Learning with Discriminative Bag Mapping (2018MILDM)

引入

  论文地址:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8242668&tag=1
  已有工作:

  1. 非包映射: 使用一个实例或者所有实例的统计信息表示包,这将丢失大量信息。论文阅读 (八):Multi-instance Learning with Discriminative Bag Mapping (2018MILDM)
  2. 传统包映射: 基于实例选取进行映射,但是不能使得包在新的映射空间有效区分。论文阅读 (八):Multi-instance Learning with Discriminative Bag Mapping (2018MILDM)
      论文作者提出判别包映射:选取更具代表性的实例,以此构建判别实例池,使得包可以在映射空间得以有效区分。
    论文阅读 (八):Multi-instance Learning with Discriminative Bag Mapping (2018MILDM)
      说明:所有图片源自原论文,无意侵权。

1 判别包映射

1.1 总体框架

  本文符号表如下:

符号 含义
B\mathcal{B} 训练集
nn 包数量
BiB_i
yiY={1,+1}y_i \in \mathcal{Y} = \{ -1, +1 \} 包标签
X\mathcal{X} 实例空间
pp 实例空间大小
xi,jx_{i, j} 包中实例
PX\mathcal{P} \subseteq \mathcal{X} 判别实例池 (Discriminative Instance Pool, DIP)
mm P\mathcal{P}大小
Biϕ=[s(Bi,x1ϕ),,s(Bi,xmϕ)],wherexkϕPB_i^{\phi} = [ s(B_i, x_1^{\phi}), \cdots, s(B_i, x_m^{\phi})], {\rm where} x_k^{\phi} \in \mathcal{P} 包映射
s(Bi,xkϕ)s(B_i, x_k^{\phi}) 包与实例xkϕx_k^{\phi}的相似度

  算法大致步骤如下:

  1. 基于传统有监督分类算法于训练集获取DIP;
  2. 基于DIP将每一个包映射到新的特征空间并完成预测。

1.2 DIP优化

  给定大小为nn的数据集B\mathcal{B},汇聚B\mathcal{B}中的所有实例构建大小为pp的实例空间X\mathcal{X}。优化目标为:使用对角矩阵IP\mathcal{I}_{\mathcal{P}}找到PX\mathcal{P} \subseteq \mathcal{X},其中diag(IP)=d(P)diag (\mathcal{I}_{\mathcal{P}}) = \mathbf{d} (\mathcal{P}),并且:
d(P)i={1,xiP,0,otherwise.(1*) \mathbf{d} (\mathcal{P})_i = \begin{cases} 1, \qquad x_i \in \mathcal{P},\\ 0, \qquad \mathrm{otherwise}. \end{cases} \tag{1*}

  令J(P)\mathcal{J} (\mathcal{P})表示一个实例评价函数,则对P\mathcal{P}的评估如下:
P=argmaxPXJ(P)s.t.P=m.(1) \mathcal{P}_* = \arg \max_{\mathcal{P} \subseteq \mathcal{X}} \mathcal{J} (\mathcal{P}) \qquad s.t. \mid \mathcal{P} \mid = m. \tag{1} 式1指出,所选择的时候应该在新的映射空间具有最大的判别力。

1.3 DIP评价函数

  为了使得DIP具有最大的判别力,首先提出DIP优化的两大准则:

  1. bag mapping must-link:标签相同的包在映射空间应该更相近。
  2. bag mapping cannot-link:标签不同的包在映射空间能够体现出差异。

  因此,DIP评价函数如下:
J(P)=12i,jKP(Bi,Bj)Qi,j,(2) \mathcal{J}(\mathcal{P})=\frac{1}{2} \sum_{i, j} K_{\mathcal{P}}\left(B_{i}, B_{j}\right) Q_{i, j}, \tag{2} 其中
KP(Bi,Bj)=IPBiϕxIPBjϕx2,(3) K_{\mathcal{P}}\left(B_{i}, B_{j}\right)=\left\|\mathcal{I}_{\mathcal{P}} B_{i}^{\phi_{x}}-\mathcal{I}_{\mathcal{P}} B_{j}^{\phi_{x}}\right\|^{2}, \tag{3} 其中BiϕxB_{i}^{\phi_{x}}BiϕB_{i}^{\phi}类似,不同在于使用所有实例作为DIP;QQ矩阵的元素定义如下:

Qi,j={1/A,yiyj=1;1/B,yiyj=1,(4) Q_{i, j} = \begin{cases} -1 / \mid A \mid, y_i y_j = 1;\\ 1 / \mid B \mid, y_i y_j = -1, \end{cases} \tag{4} 其中A={(i,j)yiyj=1}A = \{ (i, j) \mid y_i y_j = 1 \}表示满足第一准则的成对约束集;B={(i,j)yiyj=1}B = \{ (i, j) \mid y_i y_j = -1 \}与此类似。根据式3、4,将式2重写为 (具体推导看原文):
J(P)=xkϕPϕkTLϕk,(5) \mathcal{J} (\mathcal{P}) = \sum_{x_k^{\phi} \in \mathcal{P}} \phi_k^{\rm T} L \phi_k, \tag{5} 其中ϕk=Bkϕx\phi_k = B_k^{\phi_x}LL是一个源自QQ的拉普拉斯矩阵,满足L=[Li,j]n×n=DQL = [L_{i, j}]^{n \times n} = D - QDD是一个对角矩阵,且Di,i=jQi,jD_{i, i} = \sum_j Q_{i, j}
  令f(xkϕ,L)=ϕkTLϕkf (x_k^{\phi}, L) = \phi_k^{\rm T} L \phi_k,则式1可以转变为:
P=maxPXxkϕPf(xkϕ,L)s.t.P=m.(6) \mathcal{P}_* = \max_{\mathcal{P} \subseteq \mathcal{X}} \sum_{x_k^{\phi} \in \mathcal{P}} f (x_k^{\phi}, L)\qquad s.t. \mid \mathcal{P} \mid = m. \tag{6} 为了找到最优的P\mathcal{P}_*,可以计算所有的f(xkϕ,L)f (x_k^{\phi}, L),再取得前mm个作为DIP即可。

  具体的DIP优化过程如下:

  算法1: DIP优化算法
  输入:
    训练集B\mathcal{B}、实例空间X\mathcal{X}、DIP池大小mm
  输出:
    P={p1,,pm}\mathcal{P} = \{ p_1, \cdots, p_m \}
   1:P=,τ=0\mathcal{P} = \emptyset, \tau = 0
   2:使用所有包标签、式4获取矩阵QQ
   3:获取矩阵LL
   4:for xkXx_k \in \mathcal{X} do
   5:  计算分数f(xk,L)f (x_k, L)
   6:  if Pm\mid \mathcal{P} \leq m or f(xk,L)>τf (x_k, L) > \tau, then
   7:    PPxk\mathcal{P} \leftarrow \mathcal{P} \cup x_k;
   8:  if P>m\mid \mathcal{P} > m, then
   9:    PP/argminxkPf(xk,L)\mathcal{P} \leftarrow \mathcal{P} / \arg \min_{x_k \in \mathcal{P}} f(x_k, L);
  10:  τ=minxkPf(xk,L)\tau = \min_{x_k \in \mathcal{P}} f(x_k, L);
  11:end for
  12:return P\mathcal{P};

  如上,DIP优化的关键步骤为计算矩阵LL以及每一个实例的得分f(xk,L)f (x_k, L),并找出得分最高的mm个实例。当然,计算得分需要知道ϕk=Bkϕx=[s(Bk,x1ϕx),,s(Bk,xmϕx)]\phi_k = B_k^{\phi_x} = [ s(B_k, x_1^{\phi_x}), \cdots, s(B_k, x_m^{\phi_x})],具体的,需要知道如何计算s(Bk,x1ϕx)s(B_k, x_1^{\phi_x})

1.4 使用DIP映射包

  映射的关键在于计算s(Bk,x1ϕx)s(B_k, x_1^{\phi_x}),文中的定义如下:

s(Bi,xkϕ)=maxxi,jBiexp(xi,jxkϕ2/σ2) s\left(B_{i}, x_{k}^{\phi}\right)=\max _{x_{i, j} \in B_{i}} \exp \left(-\left\|x_{i, j}-x_{k}^{\phi}\right\|^{2} / \sigma^{2}\right) 其中xi,jx_{i, j}是包BiB_i中的第jj个实例,σ\sigma是一个预设参数。映射结束之后,可以使用任意的分类算法进行学习。以下描述了两种判别包映射方法。

1.4.1 全局判别包映射 (Global Discriminative Bag Mapping)

  所有的实例均计算分数,并选取mm个高分实例。

  • aMILGDM:使用所有的训练实例。
  • pMILGDM:仅使用训练集种的正包。

1.4.2 局部判别包映射 (Local Discriminative Bag Mapping)

  对每个包种的实例计算分数,并计算最高判别得分的一个实例加入DIP。

  • aMILLDM:从每个包选取一个最高得分实例。
  • pMILLDM:从每个正包选取一个最高得分实例。

2 实验

  实验数据集如下:
论文阅读 (八):Multi-instance Learning with Discriminative Bag Mapping (2018MILDM)