主动学习(四)——Uncertainty sampling with Diversity Maximization

  本博客系原创作品,转载请注明出处:http://blog.csdn.net/JYZhang_CVML/article/details/58267571
  小白在路上的随手笔记(4),文献出处 IJCV 2014 “ Multi-Class Active Learning by Uncertainty Sampling with Diversity Maximization“。文章内容仅仅是个人理解,欢迎高手拍砖~

Introduction 和 主要创新点

  传统的Active Learning 算法存在下面两个问题
- 由于标记样本数量很少,而现有的 AL 算法仅仅关注这些有标签的样本,存在over-fitting的问题。
- 大部分算法关注点在于 binary class 分类问题,而很少真正研究 multi classes 问题。而简简单单地将multi-class 分类问题分解成多个独立的二分类问题,会降低AL算法的效果——原因在于将一系列的二分类的分类器用于Active Learning 不能判断样本在多分类中的uncertainty(例如某样本对于一种类别是 certain 的,但是对于另一类是 uncertain 的,那么仅仅简单的用两个二分类器去代替多分类器,难以判断其 uncertainty)。
  
因此,本文提出的主动学习算法具有 semi-supervised + batch mode + multi-class 的特征,其创新点有:(一一对应上面的问题)
- 不仅仅关注有标签的样本,用整个 active pool 来评价数据的 uncertainty。(Random Walk 分类)
- 考虑到 uncertain 样本的具有比较高的 相似度,因此在 batch mode 的样本选择时,显式地将 diversity maximization 加入目标方程中,使得挑选的查询样本batch 具有很高的 diversity
- 样本的 uncertainty 的确定是基于 multi-class 来判断的。(你这不是废话么…算法算Random Walk 的时候就是用multi class算的…判断 uncertainty 怎么可能不是基于 multi-class… 个人看法^_^)

算法综述

  本算法全称 uncertainty sampling with diversity maximization。
  (1) 通过利用整个 active pool 内的数据进行样本准确 uncertainty 评估,解决小 seed set 的问题。
  (2) 考虑到一般 uncertain 数据具有高相似性的问题,算法进行batch样本挑选时,若选入样本具有高相似性,则会降低 AL 算法的性能。所以本算法主动挑选 diversity 程度大的样本
  (3) multi-class 的分类方法。

Related 工作和发展现状

  主动学习(四)——Uncertainty sampling with Diversity Maximization_第1张图片

算法详解

基于Random Walk的 Uncertainty 计算

Random Walk算法

  用所有样本构建图 G ,图 G 的节点就是样本,节点 xi xj 之间边的定义为:
  这里写图片描述 注意只有K临近的节点之间权重才非0。
  定义一个对角矩阵 D ,元素为这里写图片描述 ,定义矩阵这里写图片描述 ,这个矩阵本质上就是正则化之后的矩阵 D ,每一行加起来等于1。
  讲矩阵 Q 分裂成这里写图片描述 ,其中代表seed-seed,和 active pool-seed和 active pool-active-pool。
  在Random Walk 中,只考虑一般不考虑 active-pool 样本到seed的转移概率。对于样本 xi xj 的转移概率这里写图片描述 。整体转移概率为这里写图片描述
  因此,active pool 的样本被 seed data 样本吸收的概率为这里写图片描述注意:其中 P(S|P) npns 的矩阵代表为 active pool 内的 np 样本被 ns seed set 样本吸收的概率。
  定义 Yj 这里写图片描述 为 seed set 所有点属于第 j 类的情况。
  定义 xt 属于第 j 类的概率为 seed set 中 所有第 j 类样本吸收的概率和。公式如下:
  这里写图片描述 得到矩阵为 np1
  最后定义矩阵 这里写图片描述所有样本属于每个类的概率:
  这里写图片描述 ,满足这里写图片描述
  因此对于active pool内的样本 xi ,它的标签用 li 估计。其熵计算这里写图片描述
- Random Walk算法总结
- (1) 为什么说它是标准的 multi-class 分类:
  正是因为在计算样本属于哪一个类的概率的时候考虑 seed set 内所有属于该类的样本吸收的概率和。然后对于同一样本属于每一类的概率都可以这么计算出来
- (2) 为什么说它综合使用 labelled 样本和 unlabeled 样本?
  在计算这里写图片描述 可以看出,不仅仅使用了 Qsp 也利用了 active pool 样本到 active pool 样本的转换概率 Qpp ,所以可以说综合使用了 labelled 样本和 unlabeled 样本

目标方程

  这里写图片描述
  目标方程中的目标变量 fi 代表 xi 的排序得分,分数越高更加可能被挑选中。(注意算法是 batch mode)
  第一部分代表加权的熵值,第二部分这里写图片描述 表示 diversity 标准(也就是数据分布信息)。
  简写符号这里写图片描述 ,继而将上面目标函数重写成:
  主动学习(四)——Uncertainty sampling with Diversity Maximization_第2张图片
- 目标方程总结  
- (1) 上面得到的目标函数能够有效的利用所有样本信息(标记样本+未标记样本)评价 未标记样本的 uncertainty 程度。
- (2) 算法的目标是:得到所有样本的查询排序得分 fi 。这一点一定要理解清楚,因为是 batch mode 的主动选择过程。
- (3) 当务之急就是如何联合 diversity 信息求 这里写图片描述

将 diversity 信息加入目标函数

  采用很简单的Kernel函数(如著名的RBF核函数)。对于核函数 Kij 而言,当 xi xj 和相似, Ki,j 值较大。因此,注意在核函数较大时,我们不能让对应 xi xj 同时被选择来标注。换句话来说,当 xi 被选择标记时,必须不能让 xj 被选择。 Ki,j 值较大时, fi fj 不能同时较大。
  根据上面的分析可以修改目标函数为:
  主动学习(四)——Uncertainty sampling with Diversity Maximization_第3张图片
- 联合diversity信息方法总结
- (1) 可以将 diversity 信息看成一种正则化的方式在传统 uncertainty sampling 的基础上。
- (2) 千万要注意:batch mode 主动学习方法通常是联合优化问题,得到未标记点对应查询排列得分~

总结

  本文提出了一种新的Active Learning方法 USDM。
  利用 seed set 和 active pool内的所有样本的数据结构,来解决小 seed set 情况下 uncertainty sampling 存在的问题。而且联合 diversity ,得到 batch mode 的算法结果。在 multi-class 内准确判断样本的信息量,从而能够让选择结果更加准确。

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