1.简介
半监督学习(Semi-Supervised Learning,SSL)是模式识别和机器学习领域研究的重点问题,是监督学习与无监督学习相结合的一种学习方法。
半监督学习:让学习器不依赖外界交互、自动地利用未标记样本来提升学习性能。
它主要考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题。主要分为半监督分类,半监督回归,半监督聚类和半监督降维算法。
2.基本假设
要利用未标记样本,必然要做一些将未标记样本所揭示的数据分布信息与类别标记相联系的假设。
1)平滑假设(Smoothness Assumption):位于稠密数据区域的两个距离很近的样例的类标签相似,也就是说,当两个样例被稠密数据区域中的边连接时,它们在很大的概率下有相同的类标签;相反地,当两个样例被稀疏数据区域分开时,它们的类标签趋于不同。
2)聚类假设(Cluster Assumption):当两个样例位于同一聚类簇时,它们在很大的概率下有相同的类标签。这个假设的等价定义为低密度分离假设(Low Sensity Separation Assumption),即分类决策边界应该穿过稀疏数据区域,而避免将稠密数据区域的样例分到决策边界两侧。
聚类假设是指样本数据间的距离相互比较近时,则他们拥有相同的类别。根据该假设,分类边界就必须尽可能地通过数据较为稀疏的地方,以能够避免把密集的样本数据点分到分类边界的两侧。
例如,Joachims提出的转导支持向量机算法,在训练过程中,算法不断修改分类超平面并交换超平面两侧某些未标记的样本数据的标记,使得分类边界在所有训练数据上最大化间隔,从而能够获得一个通过数据相对稀疏的区域,又尽可能正确划分所有有标记的样本数据的分类超平面。
3)流形假设(Manifold Assumption):将高维数据嵌入到低维流形中,当两个样例位于低维流形中的一个小局部邻域内时,它们具有相似的类标签。
流行假设,假设数据分布在一个流行结构上,临近的样本拥有相似的输出值,临近通常用相似度来刻画。流行假设可以看作聚类假设的推广。
流形假设的主要思想:同一个局部邻域内的样本数据具有相似的性质,因此其标记也应该是相似。这一假设体现了决策函数的局部平滑性。
和聚类假设的主要不同是,
1)聚类假设主要关注的是整体特性,流形假设主要考虑的是模型的局部特性。在该假设下,未标记的样本数据就能够让数据空间变得更加密集,从而有利于更加标准地分析局部区域的特征,也使得决策函数能够比较完满地进行数据拟合。流形假设有时候也可以直接应用于半监督学习算法中。
例如,Zhu 等人利用高斯随机场和谐波函数进行半监督学习,首先利用训练样本数据建立一个图,图中每个结点就是代表一个样本,然后根据流形假设定义的决策函数的求得最优值,获得未标记样本数据的最优标记;Zhou 等人利用样本数据间的相似性建立图,然后让样本数据的标记信息不断通过图中的边的邻近样本传播,直到图模型达到全局稳定状态为止。
2)流型假设对输出值没有限制,因此比聚类假设适用范围更广,可用于更多类型的学习任务。
从本质上说,这三类假设是一致的,“相似的样本拥有相似的输出”,只是相互关注的重点不同。其中流行假设更具有普遍性。
3.半监督学习细化
半监督学习可进一步划分为纯半监督学习和直推学习,前者假定训练数据中未标记样本并非待预测数据,后者假设学习过程中所考虑未标记样本恰是待预测数据 ,学习目的是在这些未标记样本上获得最有泛化性能。
纯半监督学习基于“开放世界”,希望学得模型能适用于训练过程中未观测到的数据;直推学习基于“封闭世界”假设,仅试图对学习过程中观察到的未标记数据进行预测。
主动学习:有的时候,有类标的数据比较稀少而没有类标的数据是相当丰富的,但是对数据进行人工标注又非常昂贵,这时候,学习算法可以主动地提出一些标注请求,将一些经过筛选的数据提交给用户(如专家)进行标注。目标:使用尽量少的“查询”来获得尽量好的性能。
这个筛选过程也就是主动学习主要研究的地方了,怎么样筛选数据才能使得请求标注的次数尽量少而最终的结果又尽量好。
主动学习的过程大致是这样的,有一个已经标好类标的数据集K(初始时可能为空),和还没有标记的数据集U,通过K集合的信息,找出一个U的子集C,提出标注请求,待专家将数据集C标注完成后加入到K集合中,进行下一次迭代。
按wiki上所描述的看,主动学习也属于半监督学习的范畴了,但实际上是不一样的,半监督学习和直推学习(transductive learning)以及主动学习,都属于利用未标记数据的学习技术,但基本思想还是有区别的。
如上所述,主动学习的“主动”,指的是主动提出标注请求,也就是说,还是需要一个外在的能够对其请求进行标注的实体(通常就是相关领域人员),即主动学习是交互进行的。
而半监督学习,特指的是学习算法不需要人工的干预,基于自身对未标记数据加以利用。
4.从不同的学习场景看,SSL可分为四大类
1)半监督分类(Semi-Supervised Classification):在无类标签的样例的帮助下训练有类标签的样本,获得比只用有类标签的样本训练得到的分类器性能更优的分类器,弥补有类标签的样本不足的缺点,其中类标签取有限离散值 ;
具体的有:自训练(Self-Training)、直推学习(Transductive Learning)、生成式模型(Generative Model)、基于差异的方法(Disagreement-Based Methods)、生成式方法(Generative Methods)、判别式方法(DiscriminativeMethods)和基于图的方法(Graph-Based Methods)等,
2)半监督回归(Semi-Supervised Regression):在无输出的输入的帮助下训练有输出的输入,获得比只用有输出的输入训练得到的回归器性能更好的回归器,其中输出 取连续值 ;
具体的主要有:基于差异的方法和基于流形学习的方法。
3)半监督聚类(Semi-Supervised Clustering):在有类标签的样本的信息帮助下获得比只用无类标签的样例得到的结果更好的簇,提高聚类方法的精度;
主要有:基于距离的方法和大间隔方法。
4)半监督降维(Semi-Supervised Dimensionality Reduction):在有类标签的样本的信息帮助下找到高维输入数据的低维结构,同时保持原始高维数据和成对约束(Pair-Wise Constraints)的结构不变,即在高维空间中满足正约束(Must-Link Constraints)的样例在低维空间中相距很近,在高维空间中满足负约束(Cannot-Link Constraints)的样例在低维空间中距离很远。
主要方法有:基于类标签的方法、基于成对约束的方法及其它方法等。