Semi-supervised learning

来源:互联网 发布:centos 7lnmp搭建网站 编辑:程序博客网 时间:2024/05/21 17:12

传统机器学习任务大概可分为两类:有监督学习和无监督学习。有监督学习是针对有类标标注的训练集学习,无监督学习则是针对无类标的训练集学习。

随着机器学习的发展,又衍生出多个分支,其中半监督学习和迁移学习是过去一二十年里较为火热的方向。半监督学习出发点很简单:基于少量的有类标训练集辅助以大量无类标的训练集进行学习,这里无类标的训练集和少量有类标的样本服从同样的分布,类标也是同一个概念体系。迁移学习本质上也算是一种有监督学习,它的不同之处在于是借助另一个概念体系下的训练集来辅助本领域下的学习,比如一个是分辨橘子和橙子的训练集用来帮助分类西红柿和樱桃。从训练集扩展方式这个角度来讲,半监督学习和迁移学习都可以视为扩充训练集的方法。

继续扩展训练集的研究从来没有停止。2007年,Andrew Ng的学生首次提出了self-taught learning的概念,它从大量无类标的且不是同一概念体系下的训练集上学习更高级的feature,然后基于新feature空间上继续监督学习(和deep learning一个思路,新的feature加工方式–利用同一形式的样本集在无监督情形下抽取高级feature的过程)。它综合了半监督和迁移学习的思想,因为它扩充的方式得益于两个条件:1)无类标的样本;2)不是同一分类体系下的样本。从狭义角度讲,它是半监督学习的特例,也可视为基于无类标训练集辅助的迁移学习。

(左侧是基础学习任务,右侧是辅助学习数据集,带橙色背景的是有类标的训练集,不带橙色背景的则是无类标的训练集。)

这里写图片描述

无监督特征学习的术语

有两种常见的无监督特征学习方式,区别在于你有什么样的未标注数据。自学习(self-taught learning) 是其中更为一般的、更强大的学习方式,它不要求未标注数据 xu 和已标注数据 xl来自同样的分布。另外一种带限制性的方式也被称为半监督学习,它要求 xuxl服从同样的分布。下面通过例子解释二者的区别。

假定有一个计算机视觉方面的任务,目标是区分汽车和摩托车图像;也即训练样本里面要么是汽车的图像,要么是摩托车的图像。哪里可以获取大量的未标注数据呢?最简单的方式可能是从互联网上下载一些随机的图像数据集,在这些数据上训练出一个稀疏自编码器,从中得到有用的特征。这个例子里,未标注数据完全来自于一个和已标注数据不同的分布(未标注数据集中,或许其中一些图像包含汽车或者摩托车,但是不是所有的图像都如此)。这种情形被称为自学习。

相反,如果有大量的未标注图像数据,要么是汽车图像,要么是摩托车图像,仅仅是缺失了类标号(没有标注每张图片到底是汽车还是摩托车)。也可以用这些未标注数据来学习特征。这种方式,即要求未标注样本和带标注样本服从相同的分布,有时候被称为半监督学习。在实践中,常常无法找到满足这种要求的未标注数据(到哪里找到一个每张图像不是汽车就是摩托车,只是丢失了类标号的图像数据库?)因此,自学习在无标注数据集的特征学习中应用更广。