Multi-Instance Learning: A Survey-Learning Algorithm

Myosotics 2023-10-27 {Article} [Computer Science, Machine Learning, Supervised Learning]

上接:Multi-Instance Learning: A Survey

Learning Algorithm

supervised learning 和 multi-instance learning 的主要区别是能否(较好地)识别instances。

目前大部分现存的 multi-instance learning 算法均是从 supervised learning algorithm 改进而得到的:将 supervised learning algorithms 的 focuses 从识别 instances 转移到 识别 bags。此处主要介绍检验了五种算法。

Diverse Density

Diverse Density 算法将每个 bag 当作一个包含许多特征向量(instance)的 manifold,并 且假定一个新的 positive bag 与所有 positive 的 feature-manifolds 相关,而与 negative feature-manifolds 不相关。目标是计算一个点在 feature space 中的 maximum diverse density。

给定一个数据集$D$和一组类别标签$C=\{c_1,c_2,\cdots,c_t\}$去预测,在假定 $P_r(D)$为常数和$c_k$服从均匀分布的基础上,利用 Bayes rule,标签的后验概率计算 为 \begin{equation} \begin{aligned} Obj &=Pr(C|D)]\\ &\propto \mathop{\arg \max}\limits_{1\leqslant k\leqslant t}P_r(D|c_k) \end{aligned}\tag{1} \end{equation} 公式 (1) 在目标是区分 instances 时已经足够,但是对于区分 bag 时,需要考虑 $D = \{B_1^+,\cdots,B_m^+,B^-_1,\cdots,B_n^-\}$,其中$B_i^+$$B_j^-$分别表示 第$i$个 positive bag 和第$j$个 negative bag。在假定 bag 间是条件独立的基础上, 再次利用 Bayes rule,公式(1)进一步得到如下: \begin{equation} Obj = \mathop{\arg\max}\limits_{1\leqslant k\leqslant t} \prod_{1\leqslant i\leqslant m}Pr(c_k|B^+_i) \prod_{1\leqslant j\leqslant n} Pr(c_k|B_j^{-})\notag \end{equation}

此即一个 class label 的最大后验概率,具体地,一个 feature space 中特定的点$x$的 class label 如公式(2)所示,其中$(x=c_k)$意味$x$的 label 为$c_k$
\begin{equation} Obj^x= \mathop{\arg\max}\limits_{1\leqslant k \leqslant t} \prod_{1\leqslant i\leqslant m}Pr(x=c_k|B^+_i) \prod_{1\leqslant j\leqslant n} Pr(x=c_k|B^-_j)\tag{2} \end{equation}

进一步,如果我们想在 feature space中 找到一个点,在这个点上,特定的 class label $c_h$ 的 最大后验概率是最大的,这个点可以通过下式确定: $$ \begin{align} \hat{x}&=\mathop{\arg\max}\limits_{x}Pr(Obj^x=c_h)\notag\\ &=\mathop{\arg\max}\limits_{x}\prod_{1\leqslant i\leqslant m}Pr(x=c_h|B^+_i)\prod_{1\leqslant j\leqslant n}Pr(x=c_h|B^-_j)\notag \end{align} $$ 上式清晰地定义了 maximum diverse density。
Diverse Density algorithm 在 Musk 数据上的效果不如 Iterated-discrim APR,但是 它并不限制于 Musk 数据。同时 EM-DD algorithm 在提出时在 Musk 数据上效果是最好的。

注意: 此处未搞懂$c_k$的具体含义,以及该算法究竟是如何计算得到 bag 的label的, 需要进一步查看相关论文1

Citation-KNN

Citation-KNN 是一个 nearest neighbor algorithm,并借鉴了科学文献中引用和参考的概念, 即在考虑 bag 附件的 bag 的基础上还考虑将相关 bag 视为邻近的 bag。
在一般的 k-nearest neighbor algorithm 中,每个 object(or instance) 被视作为 feature space 中的一个 feature vector,且对于两个 feature vector 的距离,常用 Euclidean distance,即 $$ Dist(a,b)=\lVert a-b \rVert. $$ 为判断 bag 的标签,需要对上式进行修改,即采用 minimal Hausdorff distance:给定两个 bag $A=\{a_1,\cdots,a_m\}$$B=\{b_1,\cdots,b_n\}$,其中$a_i(1\leqslant i \leqslant m)$$b_j(1\leqslant j \leqslant n)$是 instance。将其看作两个 feature set,则这两个bag 的距离衡量为 $$ \begin{aligned} Dist(A,B)&=\mathop{MIN}\limits_{1\leqslant i\leqslant m,1\leqslant j\leqslant n}(Dist(a_i,b_j))\\ &=\mathop{MIN}\limits_{a\in A}\mathop{MIN}\limits_{b\in B}\lVert a-b\rVert \end{aligned} $$ 由于 positive bag 中并非所有 instance 均为 positive,可能会对结果造成一定影响,故而 引用和参考的概念被引用。

注意:Citation的具体含义未懂,需要进一步论文2.

ID3-MI

ID3-MI 是一个 decision tree algorithm,遵循 divide-and-conquer 的方式。广义上, decision tree 有两个部分,即如何选择分离 tree nodes 的 test 和如何利用 tree 做 预测。在这里,ID3-MI algorithm 做出预测的方式与标准的 decision tree 相同,故问 题的关键在于前者,进一步转化为 multi-instance entropy 的定义。
给定数据集$D$,其中有$p$个 positive bag 和$n$个 negative instance,则定 义$D$关于该分类的 entropy 为 \begin{equation} Info(D) = -\frac{p}{p+n}\log_2(\frac{p}{p+n})-\frac{n}{p+n}\log_2(\frac{n}{p+n}) \tag{3} \end{equation} 假定 attribute $A$被选择作为 test,并将$D$分为$\{D_1,\cdots,D_l\}$,令$\lvert D\rvert$$\lvert D_i \rvert$分别表示$D$$D_i$中的 instance 的数目,则 information gain of A on D 计算如下: \begin{equation} \begin{aligned} Gain(D,A) &=Info(D)-Info(D,A)\\ &=Info(D)-\sum_{i=1}^l\frac{|D_i|}{|D|}Info(D_i) \end{aligned}\tag{4} \end{equation} 上式当目标是对 instance 进行分类时用来选择 decision tree 的合适的 test 是足够的。 但为了区分 bag,还需要进行调整。令$\pi(D)$$v(D)$分别表示$D$中的 positive 和 negative的 bag 的数量,则公式(3)改写如下: $$ \begin{aligned} Info_{multi}(D)&=-\frac{\pi(D)}{\pi(D)+v(D)}\log_2\left(\frac{\pi(D)}{\pi(D)+v(D)}\right)\\ &-\frac{v(D)}{\pi(D)+v(D)}\log_2\left(\frac{v(D)}{\pi(D)+v(D)}\right) \end{aligned} $$ 从而在 bag 的水平下, information gain of A on D,即公式(4)改写如下 $$ \begin{aligned} Gain_{multi}(D,A)&=Info_{multi}(D)-Info_{multi}(D,A)\\ &=Info_{multi}(D)-\sum_{i=1}^l\frac{\pi(D_i)+v(D_i)}{\pi(D)+v(D)}Info_{multi}(D_i). \end{aligned} $$
同时,直接运用该式会导致计算较复杂,故可以用一种轻微的 divide-and-conquer 方式 来调整,即当一个positive bag 中的 instance 被预测为 positive 时,将该包中其他 instance 移除掉,这样便可以得到一个相对简单的 tree。

RIPPER-MI

RIPPER-MI 是一个 rule induction algorithm。RIPPER-MI 和 supervised learner,i.e. RIPPER, 唯一不同的地方在于 coverage 的定义不同。
给定数据集$D$,rule R 的 coverage 定义如公式(5)所示。 \begin{equation} Cover(R)=|\{instance_i|Cover(R,instance_i)\}| \tag{5} \end{equation} 其中,$Cover(R,instace_i)$意味$D$中的第$i$个 instace 被 rule R 所 cover。公式(5)对于区分 instances 时是足够的,但当区分包时, 需要对 coverage function 进行扩展。故有下式: $$ \begin{aligned} Cover_{multi}(R,bag)&=(\exists instance \in bag)Cover(R,instance)\notag\\ Coverage_{multi}(R) &= |\{bag_i|Cover_{multi}(R,bag_i)\}|\notag \end{aligned} $$

BP-MIP

BP-MIP 是一个 feedforward neural network,它比较 desired output 和 actual output, 并反向传输 error 并更新连接间的权重和 the thresholds of the units。
BP-MIP 训练过程与经验的 BP algorithm 基本一致,关键在于 multi-instance error function 的定义,该 function 用于衡量 neural network 的error,进而作为被优化的 objective。
给定数据集$D$,其中有$l$个instance,令 $o_i$$d_i$分别表示第$i$个instance 的 actual output 和 desired output,则 error 定义如下: \begin{equation} E = \sum_{i=1}^lE_i=\sum_{i=1}^l\frac12(o_i-d_i)^2 \notag \end{equation} 上式对于区分 instance 时是足够的,但是为了区分 bag,需要进一步扩展 error function。 令$o_{ij}$表示数据集$D$的第$i$个 bag 的第$j$个instance的 actual output, $m_i$表示第$i$个bag中的instance总数,进而在 bag 的水平下,error function 定义如下
\begin{equation} \begin{aligned} o_i&=\mathop{\max}\limits_{1\leqslant j\leqslant m_{i}}o_{ij}\notag\\ E&=\sum_{i=1}^lE_i=\sum_{i=1}^l \frac12\left( \mathop{\max}\limits_{1\leqslant j \leqslant m_i}o_{ij}-d_i \right)^2\notag \end{aligned} \end{equation}


  1. O. Maron and T. Lozano-P´erez. A framework for multiple-instance learning. In M.I. Jordan, M.J. Kearns, and S.A. Solla, Eds. Advances in Neural Information Processing Systems 10, Cambridge, MA: MIT Press, pp.570–576, 1998. ↩︎

  2. J. Wang and J.-D. Zucker. Solving the multiple-instance problem: a lazy learning approach. In Proceedings of the 17th International Conference on Machine Learning, San Francisco, CA, pp.1119–1125, 2000. ↩︎