专栏名称: 算法与数学之美
从生活中挖掘数学之美,在实践中体验算法之奇,魅力旅程,从此开始!
目录
相关文章推荐
超级数学建模  ·  神奇的陀螺仪!怎么样都能保持稳定! ·  2 天前  
超级数学建模  ·  汪汪总的月工资怎么滴也上万块 ·  1 周前  
小学数学  ·  思维训练:1-6年级思维训练每日一题-715期 ·  1 周前  
51好读  ›  专栏  ›  算法与数学之美

主动学习(Active Learning)

算法与数学之美  · 公众号  · 算法 数学  · 2016-10-12 22:42

正文

作者:Poll的笔记 

来源:http://www.cnblogs.com/maybe2030/p/5515042.html

阅读目录


1. 写在前面

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

  • 监督学习:通过已有的一部分输入数据与输出数据之间的对应关系,生成一个函数,将输入映射到合适的输出,例如分类。

  • 非监督学习:直接对输入数据集进行建模,例如聚类。

  • 半监督学习:综合利用有类标的数据和没有类标的数据,来生成合适的分类函数。

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


2. 什么是active learning?

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

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

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

  因此,为了尽可能地减小训练集及标注成本,在机器学习领域中,提出主动学习(active learning)方法,优化分类模型。

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

  有的时候,有类标的数据比较稀少而没有类标的数据是相当丰富的,但是对数据进行人工标注又非常昂贵,这时候,学习算法可以主动地提出一些标注请求,将一些经过筛选的数据提交给专家进行标注。

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


3. active learning的基本思想

  主动学习算法可以由以下五个组件进行建模:

  A=(C,L,S,Q,U)" role="presentation" style=" display: inline; line-height: normal; word-spacing: normal; word-wrap: normal; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; ">