实际上,在半监督学习中有两个基本假设,即聚类假设(cluster assumption)和流形假设(manifold assumption);两个假设都是关于数据分布的。前者假设数据具有内在的聚类结构,因此,落入同一个聚类的样本类别相同。后者假设数据分布在一个流形上,因此,相近的样本具有相似的预测。两个假设的本质都是相似的数据输入应该有相似的输出,而未标注数据有助于揭示出样本点之间的相似性。
半监督学习有四种主要方法,即生成式方法(generative methods),基于图的方法(graph-based methods),低密度分割法(low-density separation methods)以及基于分歧的方法(disagreement methods)。
生成式方法【19,20】假设标注数据和未标注数据都由一个固有的模型生成。因此,未标注数据的标签可以看作是模型参数的缺失,并可以通过EM算法(期望-最大化算法)等方法进行估计【21】。这类方法随着为拟合数据而选用的不同生成模型而有所差别。为了达到好的性能,通常需要相关领域的知识来选择合适的生成模型。也有一些将生成模型和判别模型的优点结合起来的尝试【22】。
基于图的方法构建一个图,其节点对应训练样本,其边对应样本之间的关系(通常是某种相似度或距离),而后依据某些准则将标注信息在图上进行扩散;例如标签可以在最小分割图算法得到的不同子图内传播【23】。很明显,模型的性能取决于图是如何构建的【26-28】。值得注意的是,对于m个样本点,这种方法通常需要O(m^2)存储空间和O(m^3)计算时间复杂度。因此,这种方法严重受制于问题的规模;而且由于难以在不重建图的情况下增加新的节点,所以这种方法天生难以迁移。
图4: SVM和S3VM的不同分类界面,SVM只考虑标注数据(“+/-”点),S3VM既考虑标注数据也考虑未标注数据(灰色点)。
低密度分割法强制分类边界穿过输入空间的低密度区域。最著名的代表就是S3VMs(半监督支持向量机)【29-31】。图4示意了一般的监督SVM和S3VM的区别。很明显,S3VM试图在保持所有标注样本分类正确的情况下,建立一个穿过低密度区域的分类界面。这一目标可以通过用不同方法给未标注数据分配标签来达成,而这往往会造成优化问题很复杂。因此,在这个方向很多的研究都致力于开发高效的优化方法。
基于分歧的方法【5,32,33】生成多个学习器,并让它们合作来挖掘未标注数据,其中不同学习器之间的分歧是让学习过程持续进行的关键。最为著名的典型方法——联合训练(co-traing),通过从两个不同的特征集合(或视角)训练得到的两个学习器来运作。在每个循环中,每个学习器选择其预测置信度最高的未标注样本,并将其预测作为样本的伪标签来训练另一个学习器。这种方法可以通过学习器集成来得到很大提升【34,35】。值得注意的是,基于分歧的方法提供了一种将半监督学习和主动学习自然地结合在一起的方式:它不仅可以让学习器相互学习,对于两个模型都不太确定或者都很确定但相互矛盾的未标注样本,还可以被选定询问“先知”。
值得指出的是,尽管我们期望通过利用未标注数据来提升学习性能,但是在一些情况下,在经过半监督学习之后性能反而会下降。这个问题已经被提出并且研究了很多年【36】,然而直到最近才有一些实质性的进展被报道出来【37】。我们现在知道,对未标注数据的利用自然会要在多个模型中进行选择,而不恰当的选择可能会导致较差的性能。让半监督学习“更安全”的基本策略是优化最差情况下的性能,也许可以通过模型集成机制来实现。
关于半监督学习有大量的理论研究【4】,有些甚至要早于“半监督学习”这个词语的出现【38】。实际上最近有一篇研究,透彻研究了基于分歧的方法【39】。
3 不确切监督
不确切监督是指在某种情况下,我们有一些监督信息,但是并不像我们所期望的那样精确。一个典型的情况是我们只有粗粒度的标注信息。例如,在药物活性预测中【40】,目标是建立一个模型学习已知分子的知识,来预测一种新的分子是否能够用于某种特殊药物的制造。一种分子可能有很多低能量的形态,这种分子能否用于制作该药物取决于这种分子是否有一些特殊形态。然而,即使对于已知的分子,人类专家也只知道其是否合格,而并不知道哪种特定形态是决定性的。