Alex_McAvoy

想要成为渔夫的猎手

半监督学习

【未标记样本】

假设训练集 $D_l=\{ (\mathbf{x}_1,y_1),(\mathbf{x}_2,y_2), \cdots, (\mathbf{x}_l,y_l)\}$ 的 $l$ 个样本的标签已知,称为有标记样本(Labeled sample)

还有 $D_u=\{ \mathbf{x}_{l+1},\mathbf{x}_{l+2},\cdots,\mathbf{x}_{l+u} \},l\leq u$ 个样本的标签未知,称为无标记样本(Unlabeled Sample)

若直接使用监督学习技术,则仅有 $D_l$ 能用于构建模型,$D_u$ 所包含的信息则被浪费了,同时,若 $D_l$ 较小,则会由于训练样本的不足,习得模型的泛化性能往往不佳,这就需要一种方式,在构建模型过程中将 $D_u$ 也利用起来

【主动学习】

针对未标记样本,一个最简单的做法是将 $D_u$ 中的样本全部标记后再用于模型训练,但显然这样需要耗费大量的时间和精力进行标注

另一种方式是,可以使用 $D_l$ 先训练一个模型,然后从 $D_u$ 中选取一个未标记样本并给出标签,再将这个具有标记的新样本加入到 $D_l$​ 中重新训练,以此往复

这样一来,若每次都能挑出对改善模型有帮助的无标记样本,然后给出标签进行训练,就能构建出比较强的模型,从而大幅降低标注成本,这样的学习方式被称为主动学习(Active learning),其使用尽量少的查询来获得尽量好的性能

显然,主动学习引入了额外的专家知识,通过与外界的交互来将部分未标记样本转变为有标记样本

【半监督学习】

基本思想

事实上,未标记样本虽未直接包含标记信息,但若它们与有标记样本是从同样的数据源独立同分布采样而来的,那么它们所包含的关于数据分布的信息对建立模型同样有用

如下图所示,若仅基于图中的一个正样本和一个反样本,若待判别样本恰位于两者正中间,大体上只能随机猜测,若能观察到图中的未标记样本,则将很有把握地判别为正样本

这种让模型不依赖外界交互、自动地利用未标记样本来提升学习性能的学习方法,就是半监督学习(Semi-supervised learning)

半监督学习的现实需求非常强烈,因为在现实应用中往往能容易地收集到大量未标记样本,而对未标记样本进行标注需要耗费大量的人力、物力,半监督学习恰好提供了一条利用廉价的未标记样本的途径

假设

要利用未标记样本,必然要进行一些将未标记样本所揭示的数据分布信息与类别标记相联系的假设,最常见的是聚类假设(Cluster assumption),即假设数据存在簇结构,同一个簇的样本属于同一个类别

另一种常见的假设是流形假设(Manifold assumption),即假设数据分布在一个流形结构上,邻近的样本拥有相似的输出值,邻近程度常用相似程度来刻画

因此,流形假设可看作聚类假设的推广,但流形假设对输出值没有限制,因此比聚类假设的适用范围更广,可用于更多类型的学习任务

事实上,无论聚类假设还是流形假设,其本质都是相似的样本拥有相似的输出这个基本假设

学习方式

半监督学习可进一步划分为纯半监督学习(Pure semi-supervised learning)直推学习(Transductive learning)

前者假定训练数据中的未标记样本并非待预测的数据,而后者则假定学习过程中所考虑的未标记样本恰是待预测数据,学习的目的就是在这些未标记样本上获得最优泛化性能

简单来说,纯半监督学习是基于开放世界假设,希望学得模型能适用于训练过程中未观察到的数据,而直推学习是基于封闭世界假设,仅试图对学习过程中观察到的未标记数据进行预测

如下图所示,直观地展示了主动学习、纯半监督学习、直推学习的区别

感谢您对我的支持,让我继续努力分享有用的技术与知识点!