资讯

半监督支持向量机是什么?让分界线穿过无标签数据的稀疏地带

2026-11-053 分钟阅读百科
TL;DR半监督支持向量机(Semi-supervised SVM,S3VM)把支持向量机推广到同时利用有标签与无标签样本,在寻找最大间隔划分时要求分界面穿过数据的低密度区域,代表方法是 Joachims 在 1999 年提出的直推式支持向量机 TSVM,通过为无标签样本迭代指派并调整伪标签求解,用于文本分类等标注稀缺场景。

半监督支持向量机(Semi-Supervised Support Vector Machine,S3VM)是支持向量机在半监督学习中的推广。普通的支持向量机只利用有标签的样本来寻找分类的边界;半监督支持向量机则同时利用少量有标签的样本和大量没有标签的样本,让找到的分类边界既能正确地分开有标签的样本,又能穿过无标签样本分布稀疏的区域。

核心思想:低密度分隔

半监督支持向量机基于半监督学习中的“聚类假设”,也叫“低密度分隔”假设:数据往往会自然地聚成若干个簇,同一个簇中的样本很可能属于同一个类别,因此好的分类边界应该从数据稀疏的“空隙”中穿过,而不是从数据密集的区域中间切过去。

想象平面上有两团密集的点,中间隔着一条空隙,但我们只知道其中极少数几个点的类别。如果只用这几个有标签的点来训练普通的支持向量机,得到的分界线可能会斜着穿过某一团点的中间,把本应属于同一类的点分到了两边。而如果把所有无标签的点也考虑进来,就能清楚地看出两团点之间的那条空隙,让分界线从空隙中穿过,这样的边界显然更加合理。

它是怎么做的

支持向量机本身追求的是最大间隔:让分界线离两边最近的样本都尽可能地远。半监督支持向量机把这个要求扩展到了无标签的样本上:不仅要让有标签的样本与分界线之间保持较大的间隔,还要让无标签的样本也尽量远离分界线。由于不知道无标签样本的真实类别,算法会为它们指派一个可能的标签,并寻找一种标签指派和一条分界线,使得在考虑所有样本的情况下,间隔最大。

直推式支持向量机

最著名的半监督支持向量机是 Thorsten Joachims 在 1999 年提出的直推式支持向量机(TSVM)。“直推”的意思是,它的直接目标是给出这批特定的无标签样本的标签。它的求解过程大致如下:先用有标签的样本训练一个普通的支持向量机,用它为所有无标签的样本预测标签,作为初始的伪标签;然后把所有样本放在一起,重新训练支持向量机,此时对无标签样本的惩罚系数设得很小,表示不太相信这些伪标签;接着,找出那些很可能被标错的无标签样本对,交换它们的标签,再重新训练;然后逐步地增大对无标签样本的惩罚系数,让它们在训练中发挥越来越大的作用,直到它与有标签样本的惩罚系数相等为止。为了避免把所有的无标签样本都分到同一类,算法通常还会约束无标签样本中正负类的比例与有标签样本中的比例大致相当。Joachims 的实验表明,在文本分类任务中,当有标签的文档很少时,直推式支持向量机比普通的支持向量机效果好得多。

困难和局限

半监督支持向量机的优化问题是非凸的:因为要同时决定无标签样本的标签和分界线,可能的标签组合数量随着无标签样本的数量呈指数级增长,很难找到全局最优解,结果可能依赖于初始值。研究者提出了多种改进的求解方法,比如连续化方法、确定性退火、凹凸过程等,以及能够处理更大规模数据的方法。另外,它的效果依赖于聚类假设是否成立:如果数据中不同类别之间并不存在清晰的低密度空隙,无标签数据反而可能误导分类边界,导致效果比只用有标签数据还要差。