1.前言
在机器学习(Machine learning)领域,监督学习(Supervised learning)、非监督学习(Unsupervised learning)以及半监督学习(Semi-supervised learning)是三类研究比较多,应用比较广的学习技术,wiki上对这三种学习的简单描述如下:
监督学习:通过已有的一部分输入数据与输出数据之间的对应关系,生成一个函数,将输入映射到合适的输出,例如分类。
非监督学习:直接对输入数据集进行建模,例如聚类。
半监督学习:综合利用有类标的数据和没有类标的数据,来生成合适的分类函数。
其实很多机器学习都是在解决类别归属的问题,即给定一些数据,判断每条数据属于哪些类,或者和其他哪些数据属于同一类等等。这样,如果我们上来就对这一堆数据进行某种划分(聚类),通过数据内在的一些属性和联系,将数据自动整理为某几类,这就属于非监督学习。如果我们一开始就知道了这些数据包含的类别,并且有一部分数据(训练数据)已经标上了类标,我们通过对这些已经标好类标的数据进行归纳总结,得出一个 “数据–>类别” 的映射函数,来对剩余的数据进行分类,这就属于监督学习。而半监督学习指的是在训练数据十分稀少的情况下,通过利用一些没有类标的数据,提高学习准确率的方法。
我们使用一些传统的监督学习方法做分类的时候,往往是训练样本规模越大,分类的效果就越好。但是在现实生活的很多场景中,标记样本的获取是比较困难的,这需要领域内的专家来进行人工标注,所花费的时间成本和经济成本都是很大的。而且,如果训练样本的规模过于庞大,训练的时间花费也会比较多。那么有没有办法,能够使用较少的训练样本来获得性能较好的分类器呢?主动学习(Active Learning)为我们提供了这种可能。主动学习通过一定的算法查询最有用的未标记样本,并交由专家进行标记,然后用查询到的样本训练分类模型来提高模型的精确度。
在人类的学习过程中,通常利用已有的经验来学习新的知识,又依靠获得的知识来总结和积累经验,经验与知识不断交互。同样,机器学习模拟人类学习的过程,利用已有的知识训练出模型去获取新的知识,并通过不断积累的信息去修正模型,以得到更加准确有用的新模型。不同于被动学习被动的接受知识,主动学习能够选择性地获取知识
2.介绍
主动学习是机器学习(更普遍的说是人工智能)的一个子领域,在统计学领域也叫查询学习、最优实验设计。“学习模块”和“选择策略”是主动学习算法的2个基本且重要的模块。主动学习通过“选择策略”主动从未标注的样本集中挑选部分(1个或N个)样本让相关领域的专家进行标注;然后将标注过的样本增加到训练数据集给“学习模块”进行训练;当“学习模块”满足终止条件时即可结束程序,否则不断重复上述步骤获得更多的标注样本进行训练。此外,主动学习算法有个关键的假设:“The key hypothesis is that if the learning algorithm is allowed to choose the data from which it learns—to be “curious,” if you will—it will perform better with less training”。
在机器学习领域中,根据是否需要样本的标签信息可分为“监督学习”和“无监督学习”。此外,同时利用未标注样本和标注样本进行机器学习的算法可进一步归纳为3类:半监督学习、直推式学习和主动学习 。文献[21]简要介绍了主动学习与半监督学习的异同点:“半监督学习和主动学习都是从未标记样例中挑选部分价值量高的样例标注后补充到已标记样例集中来提高分类器精度,降低领域专家的工作量,但二者的学习方式不同:半监督学习一般不需要人工参与,是通过具有一定分类精度的基准分类器实现对未标注样例的自动标注;而主动学习有别于半监督学习的特点之一就是需要将挑选出的高价值样例进行人工准确标注。半监督学习通过用计算机进行自动或半自动标注代替人工标注,虽然有效降低了标注代价,但其标注结果依赖于用部分已标注样例训练出的基准分类器的分类精度,因此并不能保证标注结果完全正确。相比而言,主动学习挑选样例后是人工标注,不会引入错误类标 ”。
3. 基本思想
主动学习的模型如下:
A=(C,Q,S,L,U),
其中 C 为一组或者一个分类器,L是用于训练已标注的样本。Q 是查询函数,用于从未标注样本池U中查询信息量大的信息,S是督导者,可以为U中样本标注正确的标签。学习者通过少量初始标记样本L开始学习,通过一定的查询函数Q选择出一个或一批最有用的样本,并向督导者询问标签,然后利用获得的新知识来训练分类器和进行下一轮查询。主动学习是一个循环的过程,直至达到某一停止准则为止。
刚才说到查询函数Q用于查询一个或一批最有用的样本。那么,什么样的样本是有用的呢?即查询函数查询的是什么样的样本呢?在各种主动学习方法中,查询函数的设计最常用的策略是:不确定性准则(uncertainty)和差异性准则(diversity)。
对于不确定性,我们可以借助信息熵的概念来进行理解。我们知道信息熵是衡量信息量的概念,也是衡量不确定性的概念。信息熵越大,就代表不确定性越大,包含的信息量也就越丰富。事实上,有些基于不确定性的主动学习查询函数就是使用了信息熵来设计的,比如熵值装袋查询(Entropy query-by-bagging)。所以,不确定性策略就是要想方设法地找出不确定性高的样本,因为这些样本所包含的丰富信息量,对我们训练模型来说就是有用的。
那么差异性怎么来理解呢?之前说到或查询函数每次迭代中查询一个或者一批样本。我们当然希望所查询的样本提供的信息是全面的,各个样本提供的信息不重复不冗余,即样本之间具有一定的差异性。在每轮迭代抽取单个信息量最大的样本加入训练集的情况下,每一轮迭代中模型都被重新训练,以新获得的知识去参与对样本不确定性的评估可以有效地避免数据冗余。但是如果每次迭代查询一批样本,那么就应该想办法来保证样本的差异性,避免数据冗余。
4. 样例选择算法
4.1 介绍
根据获得未标注样例的方式,可以将主动学习分为两种类型:基于流的和基于池的。
基于流(stream-based)的主动学习中,未标记的样例按先后顺序逐个提交给选择引擎,由选择引擎根据某些评价指标决定是否标注当前提交的样例,如果不标注,则将其丢弃。
基于池(pool-based)的主动学习通常是离线、反复的过程。维护一个未标注样例的集合,由选择引擎在该集合中选择当前要标注的样例。在此过程的每个迭代周期,主动学习系统都会选择一个或者多个未标记数据进行标记并用于随后的模型训练,直到预算用尽或者满足某些停止条件为止。此时,如果预测性能足够,就可以将模型合并到最终系统中,该最终系统为模型提供未标记的数据并进行预测。
4.2 算法
4.2.1 基于池的样例选择算法
1)基于不确定度缩减的方法
这类方法选择那些当前基准分类器最不能确定其分类的样例进行标注。这类方法以信息熵作为衡量样例所含信息量大小的度量,而信息熵最大的样例正是当前分类器最不能确定其分类的样例。从几何角度看,这种方法优先选择靠近分类边界的样例。
2)基于版本缩减的方法
这类方法选择那些训练后能够最大程度缩减版本空间的样例进行标注。在二值分类问题中,这类方法选择的样例总是差不多平分版本空间。
代表:QBC算法
QBC算法从版本空间中随机选择若干假设构成一个委员会,然后选择委员会中的假设预测分歧最大的样例进行标注。为了优化委员会的构成,可以采用Bagging,AdaBoost等分类器集成算法从版本空间中产生委员会。
3)基于泛化误差缩减的方法
这类方法试图选择那些能够使未来泛化误差最大程度减小的样例。其一般过程为:首先选择一个损失函数用于估计未来错误率,然后将未标注样例集中的每一个样例都分别估计其能给基准分类器带来的误差缩减,选择估计值最大的那个样例进行标注。
这类方法直接针对分类器性能的最终评价指标,但是计算量较大,同时损失函数的精度对性能影响较大。
4)其它方法
COMB算法:组合三种不同的学习器,迅速切换到当前性能最好的学习器从而使选择样例尽可能高效。
多视图主动学习:用于学习问题为多视图学习(从多个角度去学习)的情况,选择那些使不同视图的预测分类不一致的样例进行学习。这种方法对于处理高维的主动学习问题非常有效。
预聚类主动学习:预先运行聚类算法预处理,选择样例时优先选择最靠近分类边界的样例和最能代表聚类的样例(即聚类中心)。
4.2.2 基于流的样例选择算法
基于池的算法大多可以通过调整以适应基于流的情况。但由于基于流的算法不能对未标注样例逐一比较,需要对样例的相应评价指标设定阈值,当提交给选择引擎的样例评价指标超过阈值,则进行标注,但这种方法需要针对不同的任务进行调整,所以难以作为一种成熟的方法投入使用。
QBC曾用于解决基于流的主动学习问题。样例以流的形式连续提交给选择引擎,选择引擎选择那些委员会(此处委员会只由两个成员分类器组成)中的成员分类器预测不一致的样例进行标注。
5.基于传统机器学习的应用
5.1 文档分类和信息提取
以贝叶斯方法为基准分类器,使用基于不确定度缩减的样例选择算法进行文本分类。
将EM算法同基于QBC方法的主动学习集合。EM算法能够有效的利用未标注样例中的信息提高基准分类器的分类正确率。而QBC方法能够迅速缩减版本空间。
5.2 图像检索
利用SVM作为基准分类器的主动学习算法来处理图像检索。该算法采用最近边界方法作为样例选择算法,同时将图像的颜色、纹理等提取出来作为部分特征进行学习。
5.3 入侵检测
由于入侵检测系统较多地依赖专家知识和有效的数据集,所以可以采用主动学习算法降低这种依赖性。
转自
https://blog.csdn.net/qq_15111861/article/details/85264109
https://blog.csdn.net/qq_38342886/article/details/91356124