Multi-instance Learning(MLT)
- 是为了解决数据标签噪音的问题。标签噪音指的是标签数据不可靠的问题。Weakly supervised learning 用于解决这个问题,而 multi-instance learning 是 weakly supervised learning 中一种常用的方法。
- 将数据分为很多个 bag,每个 bag 里有很多 instance
- 每个 bag 都有一个标签

首先为简单,我们考虑二分类问题。那么 bag 可以分为 positive bag 和 negative bag。
- negative bag:只包含 negative instance,不包含 positive instance
- positive bag:包含至少一个 positive instance。
Bl={xl,1,…,xl,∣Bl∣}
Bl 的标签记为 Yl,xl,i 的标签记为 yl,i,那么形式化地描述 negative 和 positive bag 的性质:
yl,i=⎩⎨⎧i∈{1,…,∣Bl∣}∑2yl,i+1≥1,∀Yl=1yl,i=−1,∀Yl=−1
但是标准的 multi-instance learning 的假设过于严格,因此可以进行适当放松:
⎩⎨⎧i∈{1,…,∣Bl∣}∑2yl,i+1≥σp∣Bl∣,∀Yl=1,i∈{1,…,∣Bl∣}∑2yl,i+1≤σn∣Bl∣,∀Yl=−1.
其中 σp 和 σn 都为超参数。
Application
比如从网上收集数据,搜索船的图片,那么能得到一些真的船的图片,但也会得到一些模型图或相关图片,这部分内容可以放到 positive bag 中;同时搜索如汽车、飞机等图片,此时得到的图片和船无关,那么可以作为 negative bag。

接下来考虑使用松弛版本的分类方法
⎩⎨⎧i∈{1,...,∣Bl∣}∑2yl,i+1≥σ∣Bl∣,∀Yl=1,yl,i=−1,Yl=−1.
Bag-level method
- 优点:
- 可以建模 instance 的分布与关系
- 可以处理无法被分类的 instance
- 处理起来更快
- 缺点:
sMIL
w,b,ξl,ξl,imins.t.21∥w∥2+CYl=1∑ξl+CYl=−1∑i=1∑∣Bl∣ξl,iYl(wTϕ(zl)+b)≥ρ−ξl,∀Yl=1,yl,i(wTϕ(xl,i)+b)≥1−ξl,i,∀Yl=−1,∀i,ξl≥0,∀Yl=1.ξl,i≥0,∀Yl=−1,∀i.
- 约束条件中,第一条式子考虑的是 positive bag
- zl=∣Bl∣1i=1∑∣Bl∣xl,i,表示包的中心位置
- ρ=σ−(1−σ)=2σ−1,表示对边界条件的松弛。因为 positive bag 中不全是 positive instance,所以 ρ 可以适当小于 1,同时设置为与 positive instance 比例 σ 相关。
- 目标函数与标准的 SVM 基本相同
Instance-level method
需要设法推断出 positive bag 中 instance 的标签。
mi-SVM
w,b,ξl,imins.t.21∥w∥2+Cl=1∑Li=1∑∣Bl∣ξl,iyl,i(wTϕ(xl,i)+b)≥1−ξl,i,∀l,∀i,ξl,i≥0,∀l,∀i.
式中 yl,i 也是待优化变量,即我们想要预测正包中 instance 种类。在优化时,需要将 {w,b}, yl,i 作为两组参数交替更新。
- 固定 {w,b},更新 yl,i:
- y~l,i=wTϕ(xl,i)+b
- 将 y~l,i 转为满足约束条件的 yl,i:{∑i∈{1,…,∣Bl∣}2yl,i+1≥σ∣Bl∣,∀Yl=1yl,i=−1,∀Yl=−1,∀i.。(比如当得到的 y~l,i 没有达到 positive instance 要求的比例,那么就需要将某些 y~l,i 强制转为 1)。
- 固定 yl,i,更新 {w,b},这里使用标准 SVM 的更新方法。
当预测出的 yl,i 不再变化,则算法收敛,终止训练。
MI-SVM
在一个正包中,只考虑最靠近 positive 的 instance。不需要交替优化。
w,b,ξl,ξl,imins.t.21∥w∥2+CYl=1∑ξl+CYl=−1∑i=1∑∣Bl∣ξl,iYli∈Blmax(wTϕ(xl,i)+b)≥1−ξl,∀Yl=1yl,i(wTϕ(xl,i)+b)≥1−ξl,i,∀Yl=−1,∀i,ξl≥0,∀Yl=1.ξl,i≥0,∀Yl=−1,∀i.