摘要#

在现实机器学习任务中,标注数据往往稀缺且获取成本较高,而未标注数据却大量存在。如何有效利用未标注数据提升模型性能,成为半监督学习的重要研究方向。本章围绕三类经典半监督学习方法展开——自训练(Self-Training)、标签传播(Label Propagation)以及标签扩散(Label Spreading),系统介绍其基本思想、数学原理与实现方法,使读者能够掌握从“少量标注 + 大量未标注”数据中挖掘信息的核心技术路径。

本章首先介绍自训练算法,它是一种基于模型自学习的迭代方法:模型先在少量标注数据上训练,然后对未标注数据进行预测,并将高置信度的预测结果加入训练集反复迭代优化。通过这种“自我增强”的机制,模型能够逐步扩大训练数据规模并提升泛化能力。本章不仅给出Self-Training的核心思想与算法流程,还通过示例代码与从零实现过程,帮助读者理解其在实际任务中的应用方式与潜在风险,如错误累积问题。

在图结构学习方法部分,本章重点介绍标签传播(Label Propagation)算法,该方法基于图论思想,将样本视为图中的节点,通过样本间相似度构建边权矩阵,并在图结构中进行标签信息的迭代传播,使未标注样本逐步获得类别信息。本章详细讲解其数学原理、计算过程与收敛性分析,并通过具体示例展示标签如何在图结构中逐步扩散。同时,本章提供迭代法与非迭代法两种实现方式,帮助读者从不同角度理解算法机制。

在此基础上,本章进一步介绍标签扩散(Label Spreading)算法,它在标签传播的基础上引入平滑约束,使标签传播过程更加稳定,对噪声更加鲁棒。通过对比标签传播与标签扩散的差异,读者可以理解不同正则化策略对半监督学习效果的影响。此外,本章同样从收敛性角度分析算法性质,并提供从零实现的完整代码路径,使理论与实践紧密结合。

通过本章学习,读者将系统掌握三类经典半监督学习方法的核心思想与实现方式,理解如何在标注数据不足的情况下充分利用数据结构信息,从而提升模型性能。这些方法不仅在传统机器学习中具有重要价值,也为现代图学习与弱监督学习奠定了重要基础。

本章内容

13.1 Self-Training 自训练算法

在本节内容中,我们首先介绍了半监督学习的基本概念,即它是通过少量有标签的数据和大量无标签的数据来完成整个模型训练的过程;然后介绍了半监督学习中最简单的Self-Training算法,包括其思想与具体原理以及它在sklearn中的使用方法;

13.2 Label Propagation算法

在上一节内容中,我们详细地介绍了半监督学习算法中一种用于分类问题的Self-Training算法,其核心思想是先通过少量的标注数据来训练一个弱分类器,其次再通过这个弱分类器来对无标签样本进行标注并选择其中的有效部分作为样本的真实标签,然后再 …

13.3 Label Spreading 算法

在上一节内容中,我们介绍了一种基于图结构的标签传播算法。标签传播算法的核心思想认为,在样本空间中距离越相近的样本点越有可能具有相同的标签。因此,对于样本空间中的所有样本点,可以通过构建一个有向完全图来表示样本点之间的位置关系,并以此为基础构 …