Multi-instance multi-label learning with application to scene classification.
传统的监督学习
对象由实例(或特征向量)表示并与类标签关联。 χ:实例空间(或特征空间),γ:类标签的集合。 从给定的数据集{(x1,y1),(x2,y2),...,(xm,ym)}中学习一个函数:f:χ→γ,其中x1∈χ是一个实例,y1∈γ是x1的已知标记。
多实例多标签学习(MIML)
一个训练示例由多个实例描述,并与多个类标签关联。χ:实例空间,γ:类标签的集合。 从给定的数据集{(X1,Y1),(X2,Y2),...,(Xm,Ym)}中学习一个函数fMIML:2χ→2γ,其中Xi⊆χ是一个集合实例{x1(i),x2(i),...,xni(i)},xj(i)∈χ(j=1,2,...,ni),Yi⊆γ是一组标签{y1(i),y2(i),...,yli(i)},yk(i)∈γ(k=1,2,...,li)。这里用ni表示实例数χi,用li表示标签数Yi。
多实例学习
研究了由多个实例描述的真实对象与一个类标签相关联的问题。任务从给定的数据集{(X1,y1),(X2,y2),...,(Xm,ym)}中学习函数fMIL:2χ→{−1,+1},其中Xi⊆χ是一组实例{x1(i),x2(i),...,xni(i)},xj(i)∈χ(j=1,2,...,ni),yi∈{−1,+1}是Xi的标签。
多标签学习
研究了一个实例描述的现实世界对象与多个类标签相关联的问题。任务从给定的数据集{(x1,Y1),(x2,Y2),...,(xm,Ym)}中学习函数fMLL:χ→2γ,其中χi⊆χ是一个实例,Yi⊆γ是一组标签{y1(i),y2(i),...,yli(i)},yk(i)∈γ(k=1,2,...,li)。
- 多实例学习研究输入空间(或实例空间)中的歧义,其中对象具有许多替代输入描述,即实例;
- 多标签学习研究输出空间(或标签空间)中的歧义,其中对象具有许多替代输出描述,即标签;
- MIML同时考虑输入和输出空间中的歧义;

使用多实例学习或多标签学习作为桥梁,通过在传统的监督学习框架中确定MIML的等效性。
-
方案一:使用多实例学习作为桥梁。
- 将MIML学习任务(即学习功能fMIML:2χ→2γ)转换为多实例学习(即学习功能fMIL:2χ×γ→{−1,+1})。对于任何y∈γ,如果y∈Yi,则fMIL(Xi,y)=+1,否则为-1。可以根据Y∗={y∣argy∈γ[fMIL(X∗,y)=+1]}确定新示例X∗的适当标签。
- 将此多实例学习任务进一步转换为传统的有监督学习任务,即在指定如何从fSISL(xj(i),y)(j=1,...ni)导出fMIL(Xi,y)的约束下学习函数fSISL:χ×γ→{−1,+1}。对于任何y∈γ,fSISL(xj(i),y)=+1,否则为-1。这里的约束条件可以是fMIL(Xi,y)=sign[∑j=1nifSISL(xj(i),y)],此条件已用于将多实例学习任务转换为传统的有监督学习任务。这里也可以用其他类型的约束。
-
方案二:使用多标签学习作为桥梁。
- 将MIML学习任务(即学习功能fMIML:2χ→2γ)转换为多标签学习任务(即学习功能fMLL:Z→2γ)。对于任何zi∈Z,如果zi=ϕ(Xi),ϕ:2χ→Z,则fMLL(zi)=fMIML(Xi)。可以根据Y∗=fMLL(ϕ(X∗))确定新示例X∗的适当标签。
- 可以将多标签学习任务进一步转换为传统的有监督学习任务,即学习函数fSISL:Z×γ→{−1,+1}。对于任何y∈γ,如果y∈Yi,则fSISL(zi,y)=+1,否则为-1。也就是说fMLL(zi)={y∣argy∈γ[fSISL(zi,y)=+1]}。
- 这里的映射可以通过构造聚类来实现,该聚类已用于将多实例包转换为传统的单实例。这里也可以用其他类型的映射。
-
算法:MIML BOOST(对应方案一)
- 给定任何集合Ω,让∣Ω∣表示其大小,即Ω中的元素数;给定任何谓词π,如果π成立,则[[π]]为1,否则为0;给定(Xi,Yi),对于任何y∈Y,如果y∈Yi,则令Ψ(Xi,y)=+1,否则为-1,其中Ψ是函数Ψ:2χ×γ→{−1,+1}。表1为MIML BOOST算法。
- 第一步,将每个MIML示例(Xu,Yu)(u=1,2,...,m)转换为多实例袋的数量∣γ∣集合,即{[(Xu,y1),Ψ(Xu,y1)],[(Xu,y2),Ψ(Xu,y2)],...,[(Xu,y∣γ∣),Ψ(Xu,y∣γ∣)]}。注意,[(Xu,yv),Ψ(Xu,yv)](v=1,2,...,∣γ∣)是标记的多实例袋,其中(Xu,yv)是包含实例数量为nu的袋,即{(x1(u),yv),(x2(u),yv),...,(xnu(u),yv)},Ψ(Xu,yv)∈{+1,−1}是这个袋子的标签。
- 因此,原始MIML数据集将转换为一个多实例数据集,包含袋数m×∣γ∣,即{[(X1,y1),Ψ(X1,y1)],...,[(X1,y∣γ∣),Ψ(X1,y∣γ∣)],[(X2,y1),Ψ(X2,y1)],...,[(Xm,y∣γ∣),Ψ(Xm,y∣γ∣)]}。令[(X(i),y(i)),Ψ(X(i),y(i))]表示袋数m×∣γ∣中的第i个,即(X(1),y(1))表示(X1,y1),...,(X(∣γ∣),y(∣γ∣)),表示(X1,y∣γ∣),...,(X(m×∣γ∣),y(m×∣γ∣)),表示(Xm,y∣γ∣),其中(X(i),y(i))包含ni个实例数,即{(x1(i),y(i)),(x2(i),y(i)),...,(xni(i),y(i))}。
- 然后,可以从数据集中学习多实例学习函数fMIL,因为fMIML(X∗)={y∣argy∈γ(sign[fMIL(X∗),y]=+1)}。在这里,我们使用MIBOOSTING实现fMIL。