主动学习,半监督学习的概念的区分

(一)从概念上区分

主动学习(active learning)
学习器能够主动选择包含信息量大的未标注的样例并将其交由专家进行标注,然后置入训练集进行训练,从而在训练集较小的情况下获得较高的分类正确率,这样可以有效的降低构建高性能分类器的代价。
学习器能够主动的提出一些标注请求,将一些经过筛选的数据交给专家进行标注。这个过程中最重要的是如何筛选数据进行标注。
A=(C,L,S,Q,U)
其中,C是一个或者一组分类器;L是一组已标注的训练样本集,S是监督者,也就是专家,对选择的未标注数据进行标注,Q是查询函数,用于在未标注的样本中查询信息量大的样本;U是为未标注的数据集。
主动学习的过程,是首先利用C训练L,得到一个训练好的分类器,然后Q选择U中的未标注数据给S进行标注,标注后交给L,然后再由C来进行训练,不断的循环迭代,最终达到我们的标准为止。

半监督学习(Semi-Supervised learning,SSL)
半监督学习是将监督学习和无监督学习相结合的一种学习方法。主要考虑的是如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题。主要分为半监督分类,半监督回归,半监督聚类和半监督降维算法。
在SSL的研究历史中,出现了自训练(self-training),直推学习(Transductive learning),生成式模型(Generative Model)等学习方法。
自训练(self-training),也可以叫做归纳学习(inductive learning),在每一轮的训练过程中反复运用SL方法,将上一轮的标记结果最优的样例和其类标签一起加入到训练样本中,用自己产生的结果再次训练自己。(简单的方法,但可能会造成错误的累积)
A=(C,L,U)
其中,C是一个或者一组分类器;L是一组已标注的训练样本集,U是为未标注的数据集。
利用C训练L ,然后用于U中,然后从U中选择标记结果最优的样例加入L中,C再训练L,一直循环,直到满足要求。
直推学习(Transductive learning),只预测当前训练数据和测试数据中无类标签的样例的类标签,而不推断整个样本空间的广义决策规则。直推学习假设未标记的数据就是最终要用来测试的数据,学习的目的就是在这些数据上取得最佳泛化能力。
A=(C,L,U)
其中,C是一个或者一组分类器;L是一组已标注的训练样本集,U是为未标注的数据集。
利用C训练L ,然后用于U中的测试部分,然后在测试集中使得性能最好,也就是取得最佳的泛化能力。
生成式模型(Generative Model),假设生成数据的概率密度函数为多项式分布的模型,用有类别的样本和无类标签的样例估计该模型中的参数。

(二)主动学习与半监督学习的联系
二者都利用到了未标注的数据和已标注的数据,然后提高学习能力。只是二者的学习思想不同。

(三)主动学习与半监督学习的区别
主动学习,在利用未标注数据的时候,是从未标注数据中找到最容易判断错误的样例来交由专家进行标注,这个过程是一个筛选差数据的过程,也是一个互动交互的过程,引入了额外的专家的知识。
半监督学习,尤其是对于自学习模型,对于未标注数据而言,是选择最不容易判断错误的样例来加入到已标注数据中,这个过程,是一个自动的过程,是筛选最好的数据的过程,然后不需要互动,不需要人工干预,基于自身对于未标记数据加以利用,来提高学习模型的泛化性能。

(四)自训练模型(纯半监督学习和直推学习的区别)
纯半监督学习与直推学习主要的区别在于学习后要取得好的泛化能力的范围不同。纯半监督学习是一种归纳学习,可以对测试数据进行预测,也就是基于“开放世界”的假设。直推学习仅仅对于训练数据中的未标记的数据能够进行标记,而模型不具备对测试样本进行泛化的能力,直推学习是基于“封闭世界”的假设。
对其进行数学化,假设我们有如下的数据集:其中训练集为X1+X2,其中X1是已标记的训练数据,而X2是未标记的训练数据,Xtesxt是未知的测试集,对于归纳学习而言,是可以在训练数据中进行学习,然后对Xtesxt进行测试的,而对于直推学习而言,是不能够在Xtesxt中进行测试,也就是只能在训练数据中使得在训练数据中的泛化能力达到最大,却不具有迁移的能力。
在直推学习中,知道测试数据是什么,也就是训练数据中的未标注的数据是最终用于测试的数据,学习的目的是在这些数据中取得最佳的泛化能力。
在归纳学习中,不清楚自己的测试数据是什么,是具有可替换性的。

猜你喜欢

转载自blog.csdn.net/angela2016/article/details/84290703