当前位置:   article > 正文

学习笔记:多示例学习(Multiple Instance Learning)_多实例学习方法

多实例学习方法

监督学习(Supervised Learning):每个训练样本都有自己的标记,这个标记可以是分类类别,可以是分割区域,可以是检测框。

半监督学习:一部分有标记,另一部分只有数据没有标记。这时候需要将没有标记的数据和有标记的数据结合起来进行机器学习,这就是半监督学习

非监督学习:所有的样本都没有标记。实际上,非监督学习没法进行目标明确的分类,拟合,只能做一些分析性的任务,比如说聚类,PCA,字典学习等。

多示例学习(Multiple Instance Problem):数据有标记,但标记的目标不是一个样本,而是一个数据包(bag)。当一个bag的标记为负时,这个bag里面所有样本的标记都是负的。当一个bag的标记为正时,这个bag里面至少有一个样本的标记为正。 我们的目标是学习得到一个分类器,使得对新输入的样本,可以给出它的正负标记。这样的一类问题就是多示例问题。比如做检测问题,标记训练图片样本的时候需要给出一个矩形框指明目标的位置,有可能标的不够准确,导致不同的样本之间对不齐,这时候可以将标记的矩形框做一些局部扰动得到一些新的矩形框,将它们一起看成一个bag,其中总有一个是最佳的正样本,也就是标记为正。而取一张没有目标的图片,作为负样本包:无论在里面怎么截取图片,都是负样本。

多示例问题求解方法:迭代优化(alternative optimization)。也就是说,我们先假设已经知道了所有样本的标记,那么就可以通过某种监督学习的方法得到一个分类模型,通过这个模型我们可以对每个训练样本进行预测,然后更新它们的标记,我们又可以拿这一次新得到的标记重新训练分类模型了。所以整个优化过程分为两部分:监督学习,标记更新。

多示例学习:


输入:数据矩阵X=[x1,x2,⋯,xn], 包标记Y=[Y1,Y2,⋯,Ym],包与样本的关系I=[I1,I2,⋯,Im]

输出: 分类函数 f

 

将每个标记包j中的样本i∈Ij初始化为包的标记yi=Yj,初始化集合U为空,将所有样本加入样本集U

重复下面的过程

取i∈U的样本的数据xi以及标记yi训练得到一个分类函数f

利用f预测所有样本的标记yi

清空U

对于每个正标记包,选取f预测得分最高的样本加入集合U

对于每个负标记包,选取f预测得分最高的样本加入集合U(或者取较高的某些样本,也可以取全部样本都加入U,这取决于负样本是否充足)

直到满足结束条件

返回f

 

需要注意的地方:

1)训练监督学习模型的时候,只从正样本包里挑选被预测的“最像正确”(也就是分类得到最高)的那一个,正样本包里面其他的样本,不管预测出来的是正还是负的都不要了。这是因为,其中多示例的问题也可以描述为,正样本包里面“最正确”的一个样本标记是正的,跟其他样本无关。所以,这种选择策略恰恰是符合问题定义的。

2)如果负样本足够多的话,可以只挑选每个负样本包里面被预测“最像正确”的一个样本作为负样本进行训练,这样的负样本也叫做hard sample 或者 most violated sample。实践中,它们对于模型快速收敛是最有效的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/617969
推荐阅读
相关标签
  

闽ICP备14008679号