自训练#
术语解释#
在机器学习领域,自训练(Self-Training)是一种介于有监督学习和无监督学习之间的半监督学习(Semi-supervised learning)方法。它通过少量有标签数据和大量无标签数据来完成整个模型的训练过程。
自训练是一种通过迭代扩展训练集来提升模型性能的半监督学习方法,从本质上来讲Self-Training并不是一种特定的算法而是一种训练策略,也就是说任何一种有监督算法都可以通过自训练这一策略来进行学习,如图所示便是Self-Training的核心思想图。

核心思想:
-
初始训练:先通过少量的标注数据训练一个“弱分类器”。
-
标签预测:用这个弱分类器对大量无标签数据进行预测。
-
样本筛选:按照某种策略(例如预测概率大于设定阈值 $p$ )挑选出置信度较高的样本,并将其预测结果视为“真实标签”。
-
模型迭代:将这些新标注的样本扩充到原始标注数据集中,再次训练模型并重复上述预测与筛选过程,直到达到停止条件。
自训练是半监督学习中最简单易懂的方法之一,它最大的价值在于其作为“外壳”的适配能力,让传统分类器能快速在小样本、多噪声的现实场景中发挥作用。
更多相关内容可以参见「13.1 Self-Training:半监督学习自训练算法详解」。
出现动机#
-
降低标注成本:在实际应用中,数据标注通常非常耗费时间且成本高昂,甚至需要引入领域专家。
-
有效利用数据:有监督学习需要大量标注数据,而现实中往往存在海量的无标签数据。自训练旨在利用这些易于获取的无标签数据来增强模型的学习能力。
-
通用性需求:开发者需要一种能够快速将已有的有监督学习算法(如逻辑回归、SVM等)直接应用于半监督建模场景的通用策略。
优点缺点#
-
优点:
-
极高的灵活性与通用性:自训练本质上不是一种特定的算法,而是一套训练策略。这意味着几乎任何有监督算法都可以通过这一策略进行半监督学习,无需改变算法本身的结构。
-
简单易懂:其逻辑直观,实现门槛相对较低,能够直接复用现有的成熟模型。
-
加速学习:在标注数据极度匮乏的情况下,能够通过迭代快速获得更多的“可用”训练样本。
-
-
缺点:
-
依赖筛选策略(阈值敏感):自训练的关键在于如何筛选预测结果。如果设定的概率阈值不当,模型会将预测错误的标签也当作真实标签加入训练,从而导致误差累积。
-
对低置信度样本利用率低:如果模型的预测概率总是小于阈值,这些无标签样本将一直被归为无标签类别,无法参与模型优化。
-
初始模型的质量至关重要:整个迭代过程高度依赖最初通过少量标注数据训练出来的弱分类器。如果初始分类器存在严重偏差,后续产生的伪标签也会出现大面积错误(即“步步错”)。
-
相关术语#
-
Self-Training 自训练算法
-
Label Propagation算法