主动学习——active learning

 

1. 写在前面

  在机器学习(Machine learning)领域,监督学习(Supervised learning)、非监督学习(Unsupervised learning)以及半监督学习(Semi-supervised learning)是三类研究比较多,应用比较广的学习技术,wiki上对这三种学习的简单描述以下:算法

  • 监督学习:经过已有的一部分输入数据与输出数据之间的对应关系,生成一个函数,将输入映射到合适的输出,例如分类。
  • 非监督学习:直接对输入数据集进行建模,例如聚类。
  • 半监督学习:综合利用有类标的数据和没有类标的数据,来生成合适的分类函数。

  其实不少机器学习都是在解决类别归属的问题,即给定一些数据,判断每条数据属于哪些类,或者和其余哪些数据属于同一类等等。这样,若是咱们上来就对这一堆数据进行某种划分(聚类),经过数据内在的一些属性和联系,将数据自动整理为某几类,这就属于非监督学习。若是咱们一开始就知道了这些数据包含的类别,而且有一部分数据(训练数据)已经标上了类标,咱们经过对这些已经标好类标的数据进行概括总结,得出一个 “数据-->类别” 的映射函数,来对剩余的数据进行分类,这就属于监督学习。而半监督学习指的是在训练数据十分稀少的状况下,经过利用一些没有类标的数据,提升学习准确率的方法。机器学习

 

2. 什么是active learning?

  在真实的数据分析场景中,咱们能够获取海量的数据,可是这些数据都是未标注数据,不少经典的分类算法并不能直接使用。那确定会有人说,数据是没有标注的,那咱们就标注数据喽!这样的想法很正常也很单纯,可是数据标注的代价是很大的,及时咱们只标注几千或者几万训练数据,标注数据的时间和金钱成本也是巨大的。函数

  在介绍active learning的概念以前,首先先谈一下样本信息的问题。学习

  什么是样本信息呢?简单地来说,样本信息就是说在训练数据集当中每一个样本带给模型训练的信息是不一样的,即每一个样本为模型训练的贡献有大有小,它们之间是有差别的。优化

  所以,为了尽量地减少训练集及标注成本,在机器学习领域中,提出主动学习(active learning)方法,优化分类模型。spa

  主动学习(active learning),指的是这样一种学习方法:xml

  有的时候,有类标的数据比较稀少而没有类标的数据是至关丰富的,可是对数据进行人工标注又很是昂贵,这时候,学习算法能够主动地提出一些标注请求,将一些通过筛选的数据提交给专家进行标注。htm

  这个筛选过程也就是主动学习主要研究的地方了。blog

 

3. active learning的基本思想

  主动学习算法能够由如下五个组件进行建模:

  A=(C,L,S,Q,U)A=(C,L,S,Q,U)
  其中 CC 为一个或一组分类器;LL 为一组已标注的训练样本集;QQ 为查询函数,用于在未标注的样本中查询信息量大的样本;UU 为整个未标注样本集;SS 为督导者,能够对未标注样本进行标注。

  主动学习算法主要分为两阶段:

  第一阶段为初始化阶段,随机从未标注样本中选取小部分,由督导者标注,做为训练集 创建初始分类器模型;

  第二阶段为循环查询阶段,SS 从未标注样本集 UU 中,按照某种查询标准 QQ,选取必定的未标注样本进行标注,并加到训练样本集 LL 中, 从新训练分类器,直至达到训练中止标准为止。 

  主动学习算法是一个迭代的过程,分类器使用 迭代时反馈的样本进行训练,不断提高分类效率。 

  主动学习的实例:qq空间相册中的人脸识别技术

  下图为Action learning在相同的标注样本数目下与监督学习算法的比较:

 

  从上图也能够看出来,在相同数目的标注数据中,主动学习算法比监督学习算法的分类偏差要低。这里注意横轴是标注数据的数目,对于主动学习而言,相同的标注数据下,主动学习的样本数>监督学习,这个对比主要是为了说明二者对于训练样本的使用效率不一样:主动学习训练使用的样本都是通过算法筛选出来对于模型训练有帮助的数据,因此效率高。可是若是是相一样本的数量下去对比二者的偏差,那确定是监督学习占优,这是毋庸置疑的。
 

4. active learning与半监督学习的不一样

  不少人认为主动学习也属于半监督学习的范畴了,但其实是不同的,半监督学习和直推学习(transductive learning)以及主动学习,都属于利用未标记数据的学习技术,但基本思想仍是有区别的。

  如上所述,主动学习的“主动”,指的是主动提出标注请求,也就是说,仍是须要一个外在的可以对其请求进行标注的实体(一般就是相关领域人员),即主动学习是交互进行的。

  而半监督学习,特指的是学习算法不须要人工的干预,基于自身对未标记数据加以利用。

 

5. 参考文献

  [1] active learning wiki

  [2] 2012,主动学习算法综述

相关文章
相关标签/搜索