Active-Learning 主动学习(三)—— Hierarchical Sampling 分层采样

本博客系原创作品,转载请注明出处http://blog.csdn.net/JYZhang_CVML/article/details/57409618

算法综述

  1. 首先对数据进行 unsupervised 分类,进行 Hierarchical Clustering 操作,得到分层聚类结构。
  2. 给定一些标记好样本,可以在上一步得到的分层聚类结构的基础上得到 classification map 和 confidence map(评价聚类被赋予给定类别的置信度)。
  3. 采用AL算法选择最有信息量的样本,来增加分类的置信度。

算法背景

  如何利用分层聚类方法进行半监督图像分类:
  对于完成 hierarchical clustering 的分层聚类结构,算法利用用户提供的一些标记的样本优化聚类的分类。其中有算法采用主动查询方式提高分类收敛速度。但是存在下面几个问题:
  
4. 算法是基于分层聚类结构的算法,是 bottom-up 结构,因此并不适合于大规模使用。
5. 主动学习查询方法只考虑查询到底查询哪个聚类。在确定查询哪个聚类之后,具体查询聚类中那个点是随机的。因此,主动查询方法的有效性有所影响。

算法流程

  Active-Learning 主动学习(三)—— Hierarchical Sampling 分层采样_第1张图片
  
6. (a)图是 分层聚类结果(无监督结果)
7. (b)图是 给定一系列标记好的样本,算法找到分层聚类结果的最优cut结果对应于观察到的类别(c)。
8. 一旦找到最优的cut结果,就需要查询新的标记的样本。
9. 上述步骤是迭代过程。
  总的来说,最后分类结果和两个方面有关:分层聚类的representation效果 + 查询点的数量和代表性

通过最小化分类误差找到分层聚类结果的cut结果——如何得到图(b)

  核心思想:为了最小化分类误差,必须在cut结果的每个节点内利用一些标记的样本。
  通过节点 v 中的样本总数 nv 和其中属于类别 w=[1,,,c] 的样本数量 lv,w 的比例 这里写图片描述 来判断节点 v 属于类别 w 的概率。
  按道理来说, pv,w 可以对节点 v 的所有类别 w 计算,然后取最大概率对应的 w 作为对应节点 v 的分类结果。但是有时候节点 v 内的标记样本的数量很少,这样计算得到的概率没有很好的鲁棒性,导致错误的分类结果。
  为了解决上述分类概率 pv,w 鲁棒性的问题,不采用上述的观察到的概率 pv,w ,而是采用 pv,w 的上界和下界:
  这里写图片描述
  其中这里写图片描述 , 这里写图片描述  是节点 v 有标记样本数量 lv nv 的比例。当满足这里写图片描述 时,将对应类别 w 作为结点 v 的类别是相容的
  

因此,如何求节点 v 的类别? —— 直接关系 classification map

  (1). 首先计算对于节点 v 所有类别的相容性。
  (2). 考虑相容的类别 w ,取相容类别中概率最大的类别作为结点 v 所属的类别。

如何求误差(置信度)? ——直接关系 confidence map

  这里写图片描述

如何寻找最小化分类误差的cut结果——直接关系分类结果输出

  大致来说,从root节点开始往下走。对每个分层聚类结构的节点求其类别和误差(如上面两个部分所示),若满足这里写图片描述 ,表明节点 v 分裂成节点 vl vr 会减小整体分类误差,将 v 分裂成节点 vl vr

通过 Active Learning 挑选最具有信息量的样本

  完成了最优cut的选择,得到最小化分类误差的分类结果。
  然后算法可以通过迭代过程,查询其他样本的标签来 refine pv,w 从而进一步减小分类误差。
  那么,自然而然的想法:如何更有效的选择样本?——Active Learning

AL挑选查询样本

  1. 挑选在哪个节点处挑选查询样本。选择这里写图片描述 最小的节点。
  2. 在上述节点内如何挑选查询样本。(主要创新点)
      根据节点内部分裂情况,选择子分裂节点的一个,一步一步往下做,最后到达样本层面,就可以得到具体挑选那个样本了。(思想真的很简单。)

总结

  总的来说,写这篇博文的主要意义在于梳理一下 分层采样这样的一个经典的分类方法,以及一种给出的改进方法~
  特别要注意的地方在于:
  (1). 算法的整体基础在于 unsupervised 分类器得到的 分层聚类树形结构,并不是像传统算法利用的是 supervised 分类器。最后得到分类结果是在给定标记好样本的基础上,以最小化分类误差为目的,对分层聚类树形结构的cut结果
  (2). 所以算法的优劣还取决于分层聚类树形结构得到的稳定性。现在做遥感图像的趋势在于联合空间信息构建分层聚类树形结构,增强这个无监督算法的聚类效果。
  (3). 通过主动学习策略,迭代查询的方法,逐步增大标记好的样本集的数目,增大 pv,w ,提高分类的置信度。千万千万要注意~算法输出的是 分类结果概率结果,而且最优cut也是在这两个的基础上得到的

你可能感兴趣的:(主动学习)