目录
[2、归纳学习 和 直推学习](#2、归纳学习 和 直推学习)
[(1)Meta Co-Training (协同训练)](#(1)Meta Co-Training (协同训练))
[(4)Temporal Ensembling (时序集成)](#(4)Temporal Ensembling (时序集成))
[(5)Mean Teacher (平均教师模型)](#(5)Mean Teacher (平均教师模型))
[(6)Adversarial Training (对抗训练)](#(6)Adversarial Training (对抗训练))
[(1)仅使用带标签数据的 GMM(最大似然估计)](#(1)仅使用带标签数据的 GMM(最大似然估计))
[(2)考虑带标签和未标注数据的 GMM](#(2)考虑带标签和未标注数据的 GMM)
[4、生成式模型用于半监督学习: 除了EM之外](#4、生成式模型用于半监督学习: 除了EM之外)
[7、相关方法: 聚类标签法(Cluster-and-label)](#7、相关方法: 聚类标签法(Cluster-and-label))
[6. 其他推导及变体](#6. 其他推导及变体)
[2.1 平滑项](#2.1 平滑项)
[2.2 正则项(对已标记样本的约束)](#2.2 正则项(对已标记样本的约束))
[5.1 预测规则](#5.1 预测规则)
[5.2 标记修正](#5.2 标记修正)
[1、Transfer Learning(迁移学习)](#1、Transfer Learning(迁移学习))
[2、One/Few-shot Learning(单样本/小样本学习)](#2、One/Few-shot Learning(单样本/小样本学习))
[3、Un/Self-Supervised Learning(无监督/自监督学习)](#3、Un/Self-Supervised Learning(无监督/自监督学习))
[4、Domain Adaptation(领域自适应)](#4、Domain Adaptation(领域自适应))
[6、Zero-shot Learning(零样本学习)](#6、Zero-shot Learning(零样本学习))
[7、Continual / Lifelong-learning(持续/终身学习)](#7、Continual / Lifelong-learning(持续/终身学习))
[8、Active Learning(主动学习)](#8、Active Learning(主动学习))
[1、S3VM light 详解](#1、S3VM light 详解)
[(1)问题背景:半监督 SVM 的难点](#(1)问题背景:半监督 SVM 的难点)
[1.1 半监督 SVM (S3VM) 的基本形式](#1.1 半监督 SVM (S3VM) 的基本形式)
[(2)S3VMlight 的核心思路](#(2)S3VMlight 的核心思路)
[2.1 算法结构概览](#2.1 算法结构概览)
[3.1 目标函数](#3.1 目标函数)
[3.2 翻转判断条件](#3.2 翻转判断条件)
一、半监督学习简介
1、半监督学习的定义和基本思想
半监督学习(Semi-Supervised Learning,SSL)结合了监督学习和无监督学习的特点。它的基本思想是使用少量的标注数据和大量的无标注数据进行学习。标注数据相对较贵且稀缺,而无标注数据通常可以轻松获得,因此半监督学习能够在实际应用中发挥巨大作用。
- 监督学习:依赖大量标注数据,通过标注数据训练模型进行分类或回归任务。
- 无监督学习:使用未标注数据进行训练,主要用于聚类或数据表示学习,不依赖标签。
半监督学习的核心优势是它能充分利用无标注数据的结构信息(例如数据分布、聚类结构等),同时又保持了监督学习对标注数据的依赖。
2、归纳学习 和 直推学习
在半监督学习中,归纳学习 和 直推学习 是两种不同的学习方法,它们的主要区别在于模型的应用和预测的范围。
(1)归纳学习
-
定义:归纳学习是指从已知的训练数据(包括标注数据和无标注数据)中学习一个泛化的学习函数(或模型),该函数可以用来对新的、未见过的测试数据进行预测。
-
特点 :归纳学习的目标是学到一个泛化的函数,这个函数不仅能够对训练集进行拟合,而且能够对未来的、未见过的数据进行准确的预测。归纳学习假设我们学到的模型是适用于整个数据空间的。
-
数学表示 :给定训练数据
,其中
为输入特征,
为对应标签。无标注数据为
。目标是学习一个分类器
,使其能够对未知的测试数据
进行预测。
-
应用实例:在图像分类任务中,归纳学习的目标是从训练数据(标注的图像和标签)学习到一个分类器,该分类器不仅能够对训练集中的图像进行分类,还能够对未来的未标注图像进行预测。
(2)直推学习
-
定义 :直推学习与归纳学习不同,它不关注学到一个泛化的模型,而是直接关注如何利用训练数据(标注数据)来对测试数据进行预测。直推学习的目标是尽可能好地对测试数据进行预测,而不需要考虑如何将学习到的知识推广到其他未知数据。
-
特点:在直推学习中,模型是针对特定的测试集进行训练的,因此它在学习过程中并不假设模型能够泛化到所有数据。它专注于给定的测试数据集,在该数据集上进行准确的预测。
-
数学表示 :给定训练数据
,无标注数据
,直推学习通过对测试集
进行预测,不要求学到的模型具有对其他数据的泛化能力。
-
应用实例:在网络链接预测中,直推学习可以根据现有的已知链接信息和无标注的数据推测新的链接,而不要求该模型能够广泛地应用于其他场景。
3、半监督学习的作用与优势
- 少量标注数据与大量无标注数据结合:这种数据组合可以让模型在保证标注数据的准确性的同时,借助无标注数据的结构信息来提高模型的泛化能力。
- 有效利用无标注数据:无标注数据虽然没有标签,但它们可以通过相似性或聚类结构帮助模型进行学习,例如基于数据的几何结构或类簇结构来推测未标注数据的标签。
4、半监督学习的关键假设
半监督学习的有效性依赖于一些关键的假设,例如:
-
高密度平滑假设(Smoothness Assumption):如果两个点在特征空间中很接近,那么它们的标签应该相似。这种假设强调了数据点之间的相似性对预测标签的影响。例如,如果数据在某个区域内密集,那么该区域内的点可能属于同一个类。
-
聚类假设(Cluster Assumption):在某些区域内,数据点可能会形成聚类,且属于同一类。聚类假设假定,数据点在同一簇内更可能属于同一类。等价形式:低密度分割:决策边界应该在低密度区域。
-
流形假设(Manifold Assumption):高维数据常常分布在低维流形上,相邻的点通常具有相似的标签。在图像中提到的数据流形假设展示了如何利用流形结构来改进学习过程。
5、半监督学习的应用
- 图像识别:大量无标注的图像可以帮助模型学习图像的潜在结构,从而提高分类精度。
- 文本分类:对于有标注的少量文本数据和大量无标注的文本数据,半监督学习能够结合两者的优势,提高文本分类的准确性。
6、半监督学习的常见方法
-
生成式模型:这类方法通过建模数据的生成过程来处理无标注数据。在这种方法中,我们假设数据是从一个潜在的生成模型中生成的,标注数据和无标注数据共同参与模型的训练。
-
图模型与图传播:基于图模型的方法利用数据点之间的相似性来推断无标注数据的标签,通过图传递标签信息来提升分类或回归精度。
7、半监督学习的挑战与问题
- 噪声问题:无标注数据可能存在噪声,因此如何处理噪声成为半监督学习的一大挑战。
- 模型选择问题:如何选择合适的模型来利用标注数据和无标注数据的优势是一个值得深入研究的问题。
半监督学习算法
二、自我训练
1、自我学习算法的假设和步骤
假设:
自我训练法假设输出的高度置信的预测是正确的。这意味着,对于无标注数据,我们会基于现有模型的预测信心来决定是否将其添加到标注数据集。模型会对那些被认为是最有可能正确的样本进行标注,并不断通过这些标注数据进行自我学习。
自我学习步骤:
自我训练法的步骤如下:
- 步骤 1: 从少量的标注数据集
开始,使用这些数据训练一个初始分类器 fff。
- 步骤 2: 计算分类器对无标注数据
的预测结果
。
- 步骤 3: 选择预测信心最强的无标注数据样本,并将这些样本及其预测标签添加到标注数据集中,形成新的训练集。
- 步骤 4: 使用新的训练集更新分类器,并重复步骤 2 和 3。
这种方法依赖于每次迭代中通过选择分类器预测最有信心的样本来扩大标注数据集。
2、自我学习的变体
自我训练法有几个变体,常见的有:
- 添加高度置信的预测结果: 每次训练后选择最有信心的无标注数据进行标注,添加到训练数据集。
- 全量数据添加: 每次都将所有无标注数据与其预测结果添加到训练集,而不进行置信度筛选。
- 根据置信度赋予不同的权重: 对于每个无标注数据的预测结果,可以根据预测的置信度给予不同的权重,来调整模型对不同数据点的关注程度。
4、自我学习的优缺点
优点:
- 最简单且易于实现: 自我训练法是最简单的半监督学习方法之一,易于实现并且不需要复杂的计算或算法。
- 适用性强: 可以应用到已经存在的分类器上,甚至是复杂的分类器(如KNN等)。这种方法通过不断迭代,可以有效提高分类器的性能。
- 提高模型的泛化能力: 自我训练能够利用大量的无标注数据,逐步扩展训练集,增强模型的泛化能力。
缺点:
- 早期错误的放大: 如果分类器在初期阶段做出了错误的预测,错误会被不断地放大。即使是少数的错误预测,也可能对模型的学习产生负面影响。
- 依赖预测的准确性: 自我训练法高度依赖分类器的预测信心。如果分类器在初期预测时不准确,可能会导致错误的标签进入训练集,从而影响模型的性能。
- 缺乏对错误的保护: 自我训练法本身没有针对预测错误的保护机制,这可能导致学习过程中的不稳定性。
5、总结
自我训练法是一种简单且有效的半监督学习方法,它能够通过不断扩大标注数据集来提高模型的性能。虽然它存在一些早期错误的放大问题,但在合适的场景下,它仍然是一种非常实用的半监督学习技术。
三、协同训练------多视角学习
1、协同训练介绍
协同训练是自训练到多个监督分类器的扩展。
-
基本思想:在标注数据上迭代训练多个分类器,多个分类器互相教对方:将各自最有信心的预测加到其他分类器的标注数据。
-
协同训练中基础学习器的预测必须相关性不太强:多样性标准
-
为了促进分类器的多样性
- 数据的多个不同视图:多视图学习。
- 学习算法本身的多样性:不同超参数的分类器、不同的基础分类器。
2、网页分类的例子:图像和文本两个视角特征分裂
在网页分类的任务中,我们可以将网页的特征分为两个视角(特征分裂):图像特征和文本特征。这两个视角在协同训练中可以作为两个不同的分类器进行训练。
- 图像特征:包括网页中的图片内容。
- 文本特征:包括网页的HTML文本。
这些视角相互补充,图像和文本分别代表了网页的不同部分。通过训练两个分类器(分别基于图像和文本),我们可以从这两个视角的预测中提取最有信心的预测结果,进一步扩展训练集。

3、多视角学习的假设
多视角学习的基本假设包括:
- 特征可分裂:每个样本的特征可以分裂成多个部分。
- 视角独立性:两个视角(特征子集)在给定类别后是条件独立的。
- 充分性:特征子集单独对于训练一个好的分类器是充分的。
4、协同训练算法
协同训练的步骤如下:
- 训练两个分类器 :从标注数据
学习两个分类器
和
,分别基于不同的特征视角(例如图像特征和文本特征)。
- 扩展训练集 :使用两个分类器
和
分别对无标注数据
进行预测,将每个分类器最有信心的
个预测结果加入到标注数据集。
- 重复上述步骤:将新加入的预测样本作为标注数据,继续训练两个分类器,并迭代执行,直到达到预期的效果。
5、协同训练的优缺点
优点:
- 简单且易实现:协同训练是基于简单的 wrapper 方法,可以很容易地应用到已经存在的多个分类器中。
- 鲁棒性较强:相比自我训练,协同训练对错误的敏感性较低,因为它依赖于多个分类器的协同作用。
缺点:
- 特征分裂的自然性问题:并非所有问题都能自然地将特征分成多个独立的视角,这可能在某些任务中造成困难。
- 全特征模型可能更好:在一些情况下,使用所有特征的模型可能比单独使用每个视角的模型效果更好。
6、协同正则化
协同正则化是一种通过正则化不同分类器之间的行为一致性来提升模型性能的技术。在协同训练中,我们希望多个分类器在无标注数据上的预测尽可能一致。为了实现这一目标,引入了协同正则化作为一个策略,目的是将分类器之间的不一致性最小化。
工作原理:
- 协同正则化的核心思想是,训练的不同分类器应该在无标注数据上的输出保持一致。换句话说,两个分类器分别在各自的视角下对同一数据进行预测时,它们的预测结果应当相似。
- 具体地,我们会在优化目标函数中引入一个正则化项,用来衡量不同分类器在无标注数据上的预测差异。通过最小化这个正则化项,可以促进分类器的预测一致性。
目标函数:
公式:
这个目标函数包括了两个部分:
-
第一部分:监督学习损失与正则化项
这里的
是监督学习中的损失函数,用于计算分类器对标注数据的预测误差,
是分类器
对样本
的预测,
是实际标签。
是正则化项,用于约束分类器模型的复杂度,避免过拟合。
-
第二部分:协同正则化损失
这个部分衡量不同分类器之间对无标注数据的预测一致性。对于每一个无标注数据
,
和
是不同分类器的预测结果,通过最小化它们之间的差异来增强它们的协同作用。
作用:
通过协同正则化,两个分类器不仅会在标注数据上进行优化,同时也会通过最小化它们在无标注数据上的不一致性来共同学习。
7、多视角学习的本质分析
(1)为什么多视角学习能学得更好?
- 学习过程实质上是搜索最好的分类器
- 通过强迫多个分类器的预测一致性, 缩小了搜索空间
- 希望在较少的训练数据能够找到最好的分类器
(2)对于测试数据,融合多个分类器
- 例如:投票、共识等
(3)理论支持:半监督学习和集成学习的自然过渡
- 集成学习观点:使用多个学习器,可将弱学习器性提升
- 半监督学习观点:使用未标记样本,可将弱学习器性能提升
8、多视图的构造方法
在标注数据上训练多个模型:
- 相同数据,不同结构的神经网络或不同的学习算法
- 对有标签数据进行Bootstrap采样,对每个Bootstrap训练一个模型
- 对数据(标注数据和无标签数据)增加噪声/数据增广
- 多个不同辅助任务训练的基础模型生成的嵌入表示(Meta Co-Training)
多个模型分别对无标签数据进行预测,若多个模型的结果一致(如超过 一半模型)
- 将该无标签的数据的标签标为模型的预测结果,视为有标签数据
- 只将该数据加入到不一致的那些模型(view)中
9、协同训练的例子
(1)Meta Co-Training (协同训练)
这部分展示了 Meta Co-Training 方法,它是一种半监督学习的策略,主要用于处理带有少量标注数据和大量未标注数据的情况。图中展示了两个模型 Model 1
和 Model 2
,分别对未标注数据进行预测,并通过相互交换标注来提升模型的性能。

- 图的结构 :
U
表示未标注数据,L
表示标注数据。在模型训练过程中,模型相互合作(通过交换信息),使得每个模型的预测能够进一步提高准确性。最终,合并了两者的学习结果。 - 数据集的结果:展示了不同模型在单视图和双视图上的 Top-1 准确率。双视图策略相较于单视图策略能够显著提升准确率,尤其在数据较少时更为明显。
(2)Pseudo-Label (伪标签)
主要思想:伪标签的方法通过结合已标注数据的损失(Llabel
)和未标注数据的伪标签损失(Lunlabel
)来计算总损失。对于未标注的样本,对样本进行扰动,扰动前后分别使用模型进行预测,将其中的一个预测结果强制变成伪标签(即将可能性大的视为1,可能性小的视为0)。另一个预测结果和伪标签的交叉熵即为未标注数据的伪标签损失(对于一个好的模型轻微扰动前后的预测应该是相近的)。 未标注数据的损失通过权重系数 α_t
进行加权,从而决定伪标签在训练中的影响程度。随着训练的进行,伪标签的权重逐渐增加(图中的右侧曲线)。

训练过程:最初,伪标签对损失函数的贡献较小(目的是首先要以有标注的样本为主),但随着训练进展,伪标签的影响逐渐加大,模型能够更加依赖伪标签来改进预测。
(3)π-Model (π-模型)
为什么叫 π-模型:因为模型对样本进行两次增广长得像平躺的 π 。
核心思想:和伪标签类似。模型对有标签和无标签的样本都进行两次增广(扰动),分别让模型进行预测,对于有标签的样本,让其结果和真实值进计算交叉熵损失,对于无标签的样本,让其两个的输出尽可能相近,所以它的损失是他们之间的差异。最后加权有标签损失和无标签损失得到总的损失。

(4)Temporal Ensembling (时序集成)
核心思想:时序集成方法借鉴了 π-模型的思想,但它通过多个过去时刻的模型预测结果的加权组合进行集成,加权值通常是指数衰减,进一步提高模型的泛化能力。
- 模型结构:通过 EMA(Exponential Moving Average)存储过去时刻的模型参数或预测结果,并将这些结果进行加权平均,用于计算最终损失。
- 优势:通过考虑多个历史时刻的模型预测,可以减少过拟合,并提升在未标注数据上的表现。

(5)Mean Teacher (平均教师模型)
平均教师模型是半监督学习中的经典方法之一,类似于时序集成,但指数平均的不是预测值,而是模型参数,它的核心思想是通过一个"学生模型"和一个"教师模型"来协同训练。
- 结构说明:在该方法中,学生模型和教师模型共享参数。学生模型是普通的神经网络,而教师模型通过 EMA 更新。教师模型的预测结果用于指导学生模型的学习,从而使得学生模型逐步学习到更好的表示。
- 优势:教师模型的稳定性和一致性有助于提高学生模型的性能,尤其是在缺乏标注数据时。

(6)Adversarial Training (对抗训练)
对抗训练通过生成具有挑战性的对抗样本来训练模型。该方法通过对图像生成两个不同的视角(或对抗样本),并确保模型在这两个视角下的预测一致。
- 模型结构:图中展示了如何利用两个不同的视角(first view 和 second view)生成对抗样本,并通过计算它们之间的预测差异来强化模型的鲁棒性。
- KL Divergence:两种视角之间的预测差异通过 KL 散度来衡量,目标是减少这两个视角之间的差异,从而提升模型对未标注数据的适应能力。

(7)MixUp
MixUp 是一种数据增强技术,主要通过对两张图像进行加权组合来生成新的图像,从而增强模型的鲁棒性。它通过生成新的样本和目标来改善模型的泛化能力,尤其是在缺乏标注数据的情况下。

-
过程:
- 图中左侧的
Labeled Sample
表示标注数据,(xi, yi)
是输入图像和标签。 - 图中右侧的
Unlabeled Samples
表示未标注数据,(uj)
是未标注数据。 - MixUp 在未标注数据上使用
Mixλ(uj, uk)
,这是对两张未标注图像uj
和uk
的加权组合,生成新的样本um
。 - 然后通过模型对每个样本(标注和未标注样本)进行预测,生成预测结果
ŷi
,ŷj
, 和ŷk
,这些预测结果将被用于计算损失。 - 最终的损失函数由两部分组成:监督损失 (用于标注数据)和 一致性损失(用于未标注数据)。一致性损失通过计算不同视角(增强过的数据)下的预测结果之间的差异来衡量。
- 图中左侧的
-
加权系数:
- λ 值从 Beta 分布中抽取,控制混合比例。通过这个加权系数,可以控制两个样本在生成的新样本中的比例。
-
公式:
λ ∼ Beta(α, α)
:表示从 Beta 分布中抽取一个值 λ。λ' = max(λ, 1 - λ)
:确保 λ 在 [0, 1] 范围内。- 生成的加权样本和标签:
x' = λ * x1 + (1 - λ) * x2
,p' = λ * p1 + (1 - λ) * p2
。
(8)MixMatch
MixMatch 是结合了多种技术的方法,它结合了 MixUp 和多种数据增强策略,目的是提高半监督学习的效果。MixMatch 通过对未标注数据进行多次数据增强,然后利用平均值和锐化操作来生成新的目标。

-
过程:
- 图中展示了未标注图像的多次增强(
K augmentations
),即对每个未标注图像进行多次不同的增强操作。 - 经过增强的每个图像被送入分类器进行预测。
- MixMatch 通过对多次增强的结果进行平均(
Average
),得到每个图像的最终预测结果。 - 然后,通过对这些平均结果进行"锐化"操作(
Sharpen
),从而得到最终的伪标签,这些伪标签被用于半监督学习中的训练。
- 图中展示了未标注图像的多次增强(
-
优势:
- 数据增强:通过对同一未标注数据进行多次增强,MixMatch 通过多样化的视角来增加数据的多样性。
- 平均化与锐化:通过对预测结果的平均化和锐化,MixMatch 能够平滑预测,同时增加最终目标的可信度,提升模型的泛化能力。
四、生成模型
1、生成式模型概述
假设所有数据(带标签&不带标签)都由一个潜在的模型生成
- 模型参数将无标记数据与学习目标联系起来
- 无标记数据的标记可视为模型的缺失参数,通常可基于EM算 法进行极大似然估计求解
2、生成式模型用于半监督学习
生成式模型假设:
- 完全的生成式模型
生成式模型用于半监督学习:
-
我们所感兴趣的量:
其中,
是带标签的数据,
是未标注的数据,
是带标签数据的标签,
是未标注数据的标签,
是模型参数。
-
寻找
的极大似然估计,或最大后验估计(贝叶斯估计)。
生成式模型的例子:
在半监督学习中经常使用:
- 高斯混合模型(GMM)
- 混合多项分布 (朴素贝叶斯)
- 隐马尔科夫模型(HMM)
3、高斯混合模型GMM
生成式模型中的 高斯混合模型 (GMM) 是一种常用于半监督学习的概率模型。在此模型中,我们假设数据集来自于多个高斯分布的混合,每个高斯分布代表一个潜在的类别。这些类别的参数包括均值、协方差和类别的概率。
(1)仅使用带标签数据的 GMM(最大似然估计)
对于简单的二分类任务,GMM可以通过最大似然估计(MLE)来估计参数。具体来说,假设我们仅使用带标签的数据 ,其目标是最大化似然函数。
-
计算对数似然函数:
这里,
是模型参数,包括高斯分布的均值和协方差矩阵。
-
MLE 计算过程 :
使用最大似然估计方法,模型会根据带标签数据来计算高斯分布的频率(即每个类别的比例),样本均值和样本协方差。GMM通过估计这些参数来拟合数据。
(2)考虑带标签和未标注数据的 GMM
对于半监督学习,我们不仅使用带标签的数据,还会考虑未标注的数据 ,模型需要处理带标签和未标注数据的混合情况。这个过程通常涉及对未标注数据的"伪标注",即通过估计类别概率来推断它们的标签。
-
计算包含未标注数据的对数似然函数:
这个式子包括了两个部分:一部分是带标签数据的对数似然,另一部分是对未标注数据的对数似然,其中我们对每个未标注样本进行类别推断。
-
EM算法 :由于MLE计算可能非常复杂,尤其是当涉及未标注数据时,常用 EM(期望最大化)算法(迭代) 来优化参数。
- E步:根据当前的模型参数对未标注数据进行分类估计,计算每个数据点属于各类别的后验概率。
- M步:更新模型参数(均值、协方差和类别概率),同时使用带标签数据和伪标签数据来估计模型参数。
- 重复上面步骤(迭代)
(3)EM算法在高斯混合模型中的应用
EM算法 在高斯混合模型中的应用包含了三个主要步骤:
-
初始化 :在带标签数据
上,使用最大似然估计(MLE)来估计参数
。
- 类别的比例:
- 类别的均值:
- 类别的协方差矩阵:
- 类别的比例:
-
E步:计算每个未标注样本的类别概率,即估计未标注数据属于每个类别的后验概率:
其中
是类别
的后验概率。
-
M步:使用带标签数据和未标注数据的伪标签来重新估计模型参数:
- 更新类别的权重:
- 更新均值:
- 更新协方差矩阵:
- 更新类别的权重:
(4)EM算法的迭代过程
- 在图像中展示的过程,通过逐步迭代,模型不断调整其高斯分布参数,直到收敛。在每次迭代中,EM算法通过更新类别的均值和协方差,使得每个数据点在高斯混合模型中的概率分布逐渐变得更加准确。
可视化迭代过程:

4、生成式模型用于半监督学习: 除了EM之外
核心是最大化:
EM只是最大化该概率的一种方式
其他能计算出使其最大化参数的方法也是可行的,如变分近似,或 直接优化
5、生成式模型用于半监督学习的优缺点
优势
- 清晰,基于良好理论基础的概率框架
- 如果模型接近真实的分布,将会非常有效
缺点
- 验证模型的正确性比较困难
- 模型可辨识问题(Model identifiability)
- EM局部最优
- 如果生成模型是错误,无监督数据会加重错误
6、减少风险的启发式方法
(1)需要更加仔细地构建生成模型,能正确建模目标任务
例如:每个类别用多个高斯分布,而不是单个高斯分布
(2)降低无标注数据的权重
7、相关方法: 聚类标签法(Cluster-and-label)
除了使用概率生成模型,任何聚类算法都可以被用于半监督学习:
- 在
运行某种你挑选的聚类算法.
- 通过计算簇内占多数的类别,将簇内所有的点标记为该类别.
- 优点: 利用现有算法的一种简单方法.
- 缺点: 很难去分析它的好坏。如果簇假设不正确,结果会很差.
五、半监督SVM
1、半监督学习与S3VM的基本背景
半监督学习 介于监督学习和无监督学习之间,利用少量有标签数据和大量无标签数据进行训练。其基本假设是,无标签数据在某些方面能够帮助分类,特别是当数据在某种空间中呈现聚集趋势时。常见的半监督学习方法包括图模型 、标签传播 (Label Propagation)、半监督支持向量机 (S3VM) 等。
半监督SVM (S3VM) 是一个结合了支持向量机(SVM)和无标签数据的半监督学习算法。它的目标是通过最小化有标签样本的分类误差,同时考虑无标签样本的影响,使得分类决策边界尽可能平滑。其核心思想是利用无标签数据帮助确定最优的分类超平面,同时尽量保持分类边界的最大间隔。
2、S3VM的核心思想
S3VM的基本假设是:
- 对于所有可能的标签配置,通过计算一个新的支持向量机来建立一个对应的模型,并选择使间隔最大化的那个模型。也就是说,S3VM不仅考虑有标签数据,还在优化过程中使用无标签数据的信息,从而更好地找到一个适合所有数据的分隔超平面。
具体而言,S3VM目标是最小化以下目标函数:
其中:
- w 是SVM的权重,定义了分类超平面;
是样本
的预测输出;
是样本
的标签,L 是有标签数据的数量;
和
是正则化参数,控制有标签样本和无标签样本的影响;
是硬边距损失(对于有标签数据);
是软边距损失(对于无标签数据)。
3、半监督SVM的优化问题
S3VM的优化目标是通过最大化所有数据点之间的间隔,构建一个最佳分类超平面,同时考虑无标签数据对分类决策边界的影响。具体来说,目标函数包含两部分:
- 有标签数据的分类误差项:用于最小化有标签数据点的分类误差;
- 无标签数据的损失项:用于调整无标签数据点对决策边界的影响。
对比标准SVM:
标准SVM只考虑有标签数据,目标是最大化"有标签数据的间隔",并通过最小化有标签样本的分类误差来训练模型。
而S3VM通过在目标函数中加入对无标签数据的控制,使得分类边界不仅符合有标签数据的约束,还考虑了无标签数据的分布情况,进而增强了分类模型的泛化能力。
求解过程:
-
目标函数: 对于有标签样本,使用标准的SVM损失函数
,对于无标签样本,使用类似的损失函数,但是对标签的"松弛"程度更大。无标签样本的目标是使它们的预测值
尽可能接近0,即尽量不与已有标签发生冲突。
-
优化过程: 对上述目标函数求解权重参数 w 和偏置 b,即通过调整超平面来使损失最小化,平衡有标签数据的损失和无标签数据的损失。
4、标签传播与无标签数据的利用
在S3VM中,无标签数据的利用方式类似于"标签传播"的思想。S3VM的关键是根据有标签数据确定模型,并根据无标签数据的分布来推断标签的潜在值。具体过程如下:
-
标签传播 (Transductive SVM) :
无标签数据通过与有标签数据的关系被"推测"出标签。这种推测并不是直接预测类别,而是基于间隔的平滑性假设,即无标签数据应该位于有标签数据的附近或者边界附近。
-
影响边界 :
S3VM的目标是通过构造一个分类超平面,使得所有数据(包括有标签和无标签数据)之间的间隔最大化。无标签数据的作用是通过这些点的位置帮助"调整"超平面的位置,最大化整体数据集的分类间隔。
5、S3VM的目标函数和损失函数
目标函数的两个主要部分是:
- 有标签数据的损失:使有标签数据的分类误差最小,形式类似标准SVM。
- 无标签数据的损失 :对于无标签样本,其损失函数为
,意图尽量减少其对分类边界的影响,且其对分类边界的影响逐渐减小,随着训练的进行,模型逐步修正对无标签数据的分类决策。
通过最小化上述目标函数,S3VM模型能够在训练过程中平衡有标签数据和无标签数据之间的影响,从而找到一个适合整个数据集的分类边界。
6、训练过程与求解难度
S3VM的训练过程可以采用以下两种方法:
- 精确方法:例如使用混合整数规划(Mixed Integer Programming) 来准确求解最优模型,但是这种方法计算复杂度高,适合数据规模较小的情况。
- 近似方法:例如使用梯度下降法(gradient descent) 或 自标记启发式方法(如S3VMlight),这些方法通过迭代优化逐步逼近最优解,适合大规模数据集。
S3VMlight是针对S3VM的一个高效实现,能够在大规模数据集上进行训练。它通过局部组合搜索(Local Combinatorial Search)来逐步调整标签,并优化模型。
《S3VM light更详细的思想见附录1》
7、S3VM的优势与挑战
优势:
- **适应性强:**S3VM可以在任何SVM的框架中应用,具有广泛的适用性。
- **数学框架清晰:**通过精确的数学公式,S3VM能够有效地解决多种半监督学习问题。
挑战:
- **优化困难:**S3VM的优化过程比标准SVM复杂,需要处理标签的交互和无标签数据的影响。
- **局部最优问题:**类似于许多半监督学习方法,S3VM也可能面临局部最优解,难以找到全局最优解。
8、S3VM的应用与实际实现
- **应用范围:**S3VM可以应用于任何需要处理标签稀缺或成本较高的情形,尤其在文本分类、图像识别等任务中表现良好。
- 实际实现:常见的实现包括 S3VMlight,它是一个基于局部组合搜索的实现方法,能够通过迭代优化算法来逐步改进模型。
9、总结
半监督支持向量机 (S3VM) 结合了SVM的强大分类能力与无标签数据的潜在信息。通过构建一个优化问题,S3VM可以在有标签数据和无标签数据之间找到一个最佳的分类超平面,同时保持分类间隔的最大化。尽管它在理论和实际应用中都表现出了显著的优势,但其优化过程相对复杂,并且计算成本较高。
六、基于图的算法
1、问题背景与基本思路
在半监督学习场景中,我们通常只有一部分样本有标签(记为L),而大部分样本没有标签(记为U)。基于图的半监督学习方法通过以下思路来利用无标签数据的结构信息:
-
构建图:
将所有样本(有标签与无标签)视为图中的节点,用边的权重表示样本之间的相似度(或距离的某种函数)。
-
平滑性假设(流形假设):
相似的样本(即在图上相邻或距离较近的节点)应当有"相似"的标签。
- 在数学上,一种常见的"平滑性"约束可以表示为:若节点
和节点
在图上有较高权重
,则模型给出的函数值
与
应该相近。
- 在数学上,一种常见的"平滑性"约束可以表示为:若节点
-
标签传播:
根据已知的少量有标签样本,通过图结构将标签"扩散"或"传播"到无标签节点上。
- 这通常可以通过最小化某种"平滑性"损失函数,或者通过随机游走的思想来实现。
2、图的构建
(1)节点与边
-
节点(
):
包括所有训练样本,既包括有标签的样本集合
,也包括无标签的样本集合
。记节点总数为
。其中
,
,且
。
-
边(
)及权重
:
常见做法是基于样本特征向量之间的相似度来定义边的权重。例如,可以先根据欧式距离或核函数等得到相似度,再设定一个邻域(如k-近邻或 ε -半径球)来决定是否连接,以及连接边的权重大小。
一种常见的相似度定义是:
其中 σ 是一个平滑参数,用于控制相似度衰减的速度。若
和
不在彼此的k-近邻或距离超过 ε ,则可令
。
(2)权重矩阵W与度矩阵D
-
权重矩阵
:
由
组成的对称矩阵(若使用对称相似度),对角元素通常为0 (
)。
-
度矩阵
:
对角矩阵,其对角元素
,即节点iii的度数(连接强度之和)。
-
图拉普拉斯矩阵
:
一般定义为
在图的平滑性中,L起到非常重要的作用。
在半监督学习中,我们通常把矩阵进行分块,按照有标签样本和无标签样本进行拆分。例如,将节点按照进行排序,则
这里下标L表示与有标签节点相关的行/列,下标U表示与无标签节点相关的行/列。
3、图的平滑性约束与目标函数
在图上,如果我们用向量表示对每个节点的"标签函数值"(若是分类,可用one-hot向量或实值打分表示),我们希望相连(相似度大)的节点函数值越相似越好。这常用下面的"平滑性"损失来度量:
它可以写成矩阵形式(这里省略了 常数因子不影响最终求解):
其中 L = D - W 就是图拉普拉斯矩阵。
在半监督情形下,我们还要求在有标签的节点 上,
必须"贴合"已有的标签
。常见的做法有两种:
-
硬约束(hard constraint):
有标签节点
的
固定为
,不参与自由优化,只在无标签节点U上优化。
-
软约束(soft constraint):
在有标签节点上加入一个与
偏差的惩罚项,如
。
这种形式在后续"标签传播"(label spreading)等算法中会出现。
下文我们先以硬约束 为例进行推导:即在 中,前
个有标签节点值固定,后u个无标签节点值需要通过最小化图的平滑性得到。
4、标签传播的解析解(硬约束情况)
(1)分块表示
令 ,其中:
:已知标签(固定为
)
:未知标签,需要优化
图拉普拉斯矩阵L相应地分块:
由于 固定,不作为优化变量,最小化目标函数
等价于最小化
展开后与 相关的部分为:
其中是常数项,与
无关,最小化时可以忽略。故可关注:
(2)求导并设为零
对求偏导并令其为零:
因此得到
假设可逆(在实际中,常需要对L进行某些正则化,或保证图是连通的并在无标签部分足够"非退化"以使
可逆),则
这就是一个闭式解,表示无标签节点的函数值可由有标签节点的值通过图拉普拉斯矩阵的子块来计算。
在实际实现时,为了数值稳定或满足一定正则化,通常会对 L 进行修改(例如加上一个小的对角项),或者使用**正规化拉普拉斯
**等变体,但核心思想相同。
5、随机游走观点:标签传播的迭代实现
除了上面基于"最小化图平滑损失"并加上"已知标签硬约束"来求闭式解的思路,还有一条思路是**随机游走(RW, Random Walk)**或"传播矩阵" P 的迭代更新方法。常见的标签传播算法(如Zhu & Ghahramani提出的Label Propagation)就是基于以下原理:
-
定义传播矩阵
。
- 其中
是度矩阵的逆,对节点 i 做归一化,使得每一行的和为1。这样
可以理解为"从节点
随机跳到
"的转移概率。
- 其中
-
迭代更新公式
- 记
表示第
次迭代时,每个节点的标签(或分布)打分。
- 传播过程可以写作:
, 即每个节点的标签向邻居扩散或从邻居获取信息。
- 若有标签节点在迭代过程中保持不变(硬约束),则在每次迭代时,将有标签节点重新置为其真实标签,或使用"
-重启"方式进行修正(见后述)。
- 记
-
收敛分析
- 在一定条件下,该迭代会收敛到一个平稳分布
,此时满足
。
- 如果再考虑"有标签节点保持固定"的操作,可以通过修改更新规则或在每次迭代后重置有标签节点为真值,最终无标签节点的值也会稳定。
- 在一定条件下,该迭代会收敛到一个平稳分布
(1)带有"保持有标签节点不变"的修正
一个常见实现是:
其中是只在有标签节点上非零(为真实标签),在无标签节点上为0的矩阵/向量。
是平衡参数,控制每一步对邻居信息的采纳程度与对原始标签信息的保留程度。
- 这种算法也称为标签传播Label Spreading,因其在邻域中不断平滑 / 扩散的过程。
在足够多次迭代后, 会收敛到一组稳定解
,并且有标签节点与无标签节点之间达成某种平滑一致性。
6. 其他推导及变体
(1)矩阵形式的随机游走解
在随机游走框架中,若定义转移矩阵,并将节点按有标签(L)和无标签(U)进行分块,可写成:
令为已知标签(
个),
为未知标签(
个),则迭代更新有时可写成:
若我们要求收敛到,则在稳定状态有
这与前面拉普拉斯方法得到的形式在本质上是一致的(只是使用了矩阵而非
矩阵)。在实际中,为了确保
可逆,通常要求图是连通并且
的谱半径<1(或者进行适当的正则化)。
(2)加正则的平滑损失
如前所述,有些算法会将硬约束改为软约束,目标函数可写为:
其中在有标签位置给出
,在无标签位置可为0,
为平衡系数。
通过对 求导,最终也能得到一个闭式解:
这就是Label Spreading算法的一个典型形式。
7、总结与示例
-
核心思想:图+平滑性
- 基于相似度构建图,通过最小化
来保证相似样本标签尽量相似。
- 基于相似度构建图,通过最小化
-
两种主要推导思路:
- 最小化平滑损失并对有标签点做硬约束 :
- 得到闭式解
- 或在软约束下得到
- 得到闭式解
- 随机游走(或传播矩阵)迭代 :
- 定义
,反复迭代
,并在有标签节点固定/重置标签。
- 最终收敛得到
- 定义
- 最小化平滑损失并对有标签点做硬约束 :
-
实现注意点:
- 权重矩阵W的构建:选择合适的相似度度量、k-近邻或 ε 邻域及 σ 等超参数。
- 正则化:图拉普拉斯 L 或传播矩阵 P 有时需要加对角项或进行对称正规化,以避免奇异或数值不稳定。
- 迭代收敛:若用迭代方式实现,需要在每步迭代后将有标签节点的值"锁定"或进行 α -重启(对比PageRank思想)。
- 多分类情形 :
可以是
矩阵,每个节点对 C 个类别的打分,通过同样的图传播公式对每一列(类别)做传播,最后选取最大打分的类别即可。
-
示例

8、基于图的多分类半监督学习(标记扩散)
(1)多分类的标签矩阵表示
在多分类场景下,我们有C个类别,训练集中有L个带标签样本以及U个无标签样本,总样本数为 。为了同时对所有类别进行打分,通常将每个样本
的标签表示为一个**C-维向量**:
-
对于有标签样本(
),令其真实类别为
。可以用**独热编码(One-Hot)**方式初始化一个标签矩阵
,其中
这样,
的第
行就是样本
在C个类别上的"初始标签分布",带标签样本对应的行只有在真实类别处为1,其它位置为0;无标签样本对应的行全为0。
-
在算法中,我们要学习一个标记矩阵
,其中
表示"模型对于样本
属于类别
的打分"或"后验概率近似"。最后的预测规则一般取
这样就能实现多分类预测。
(2)带正则项的目标函数
典型的正则化目标函数,用来平衡图上的平滑性 和对有标签样本的拟合。其形式为:
其中:
- no1:图平滑项
- no2:正则项(对已标记样本的约束)
表示第
行(对应样本
)的C-维打分向量;
是样本
和
之间的边权(通常基于相似度);
是节点
的度;
是平衡系数,控制"保持与初始标签一致"与"在图上尽量平滑"之间的权重。
2.1 平滑项
平滑项 可以视作"归一化图拉普拉斯"的刻画:若节点
与
相似度
大,则
和
应当相近,从而减少该项的损失。
2.2 正则项(对已标记样本的约束)
表示:
- 当
很大时,算法更倾向于"严格贴合"初始标签
;
- 当
较小时,算法可以"牺牲"一部分对
的拟合,从而在图上进行更大范围的平滑,也允许"修正"可能有噪声的标签。
(3)解析解及矩阵形式
在论文或教材中,通过对 求导并令其为零,或者利用图拉普拉斯矩阵的性质,可以得到一个闭式解 (即一次性求得
)。结果是:
或者常用的一种等价写法是先定义
则
这是因为
经过代数变形即可得到如上形式。
(4)迭代求解:
在很多实际应用中,不直接用矩阵逆来求 ,而是用迭代更新的方式来求解,既能减少计算量,也能在大规模数据上更灵活地实现。
-
初始化:
(即初始时刻,把有标签样本的行设为独热向量,无标签样本的行全为0)
-
迭代公式:
其中
,
。
- 可以理解为:每一步将当前
在图上扩散(
),再部分回退到原始标签(
)。
- 可以理解为:每一步将当前
-
收敛结果:
当
,
将收敛到
这与前述解析解完全一致。
(5)多分类预测与"标记可能被修正"的现象
5.1 预测规则
当算法收敛后,我们得到 。对于任何样本
,包括原先无标签的样本(
),可按下式预测类别:
这样就完成了对无标签样本的多分类预测。
5.2 标记修正
在最终收敛结果中,原有的标记样本 (即 )的标签向量
也可能和初始
有所不同,甚至可能导致
发生变化。这是因为我们在目标函数中并没有对有标签样本做"硬约束",而是用
这种软约束 。如果图的整体结构和其他样本的分布强烈"推翻"了某个标签,算法就会倾向于修正它,从而一定程度上对噪声标签具有鲁棒性。
(6)总结与要点
-
多分类标签矩阵
- 每一行对应一个样本,每一列对应一个类别。
- 通过独热编码初始化
,再利用图结构进行扩散和修正。
-
正则化目标
- 第一项(平滑性):鼓励在相似度高的节点之间
接近;
- 第二项(拟合有标签):鼓励与初始标签
保持一致,但允许带噪声的标签被纠正。
- 第一项(平滑性):鼓励在相似度高的节点之间
-
解析解 vs. 迭代解
- 解析解:
- 迭代解:
,
收敛到
。
- 迭代方法在大规模数据中往往更实用,也可以更方便地与稀疏矩阵操作结合。
- 解析解:
-
最终预测
- 对每个样本
,取
- 如果
在已标记样本上也发生了"修正",说明算法对疑似错误的标签进行了一定程度的纠正。
- 对每个样本
9、基于图的算法的总结
优点:
- 清晰的数学框架
缺点:
- 图质量差的时候性能差
- 对图的结构和权重敏感
- 存储需求大
七、半监督聚类
半监督聚类(semisupervised clustering)是一种结合有标签数据和无标签数据的聚类方法,旨在提升聚类算法的性能,尤其是在有少量标记数据时。这种方法的基本思想是:通过引入一些先验信息(如已知的相似关系、约束条件等),来改进聚类算法对无标签数据的处理方式。
1、半监督聚类的基本概念
-
聚类的定义: 聚类是一种无监督学习方法,通过把样本划分成若干个子集(簇),使得同一簇内的样本之间相似度较高,而不同簇之间的样本相似度较低。常见的聚类算法包括K-means、层次聚类等。
-
半监督聚类: 在传统的聚类方法中,我们没有标签信息,只有数据本身的相似性或者距离信息。而半监督聚类则通过结合部分已知标签信息来提高聚类的准确性。标记信息可以来自于先验知识(例如已知的某些样本属于同一类或者属于不同类)。
在半监督聚类中,通常有以下几种类型的知识可以引导聚类过程:
-
簇之间的相似性: 例如,通过用户提供的"必须连接(must-link)"或"不能连接(cannot-link)"关系,告诉算法哪些样本必须在同一簇内,哪些样本不能在同一簇内。
-
标记点: 用户可以提供一小部分带标签的样本,用来指导无标签样本的聚类过程。
2、半监督聚类的应用和原理
-
基于已有标签的区域知识:
通过引入标记数据,可以帮助算法确定数据点之间的关系。例如,已经标记的样本可以帮助划定数据集中的类别区域,进而帮助聚类算法推测无标签样本的类别。
具体来说,半监督聚类算法通过在数据的特征空间中创建一系列不同的簇,进而利用已有标签的样本指导聚类过程。这些标签帮助算法"知道"哪些样本应当属于同一类别,并且能够在没有标签的样本上进行推理。
-
基于用户提供的标签进行初步分类:
提供部分标记样本(例如,红色、蓝色样本),通过这些标记样本,可以帮助算法明确数据集中的分类区域,并逐步调整和优化数据点的聚类位置。这种方法可以通过一些聚类算法(如K-means或谱聚类)实现,其中初始簇的中心可以基于标签数据来选择。
-
数据分配与更新:
通过对已有标签数据点进行计算(例如计算均值或重心),将样本分配到相应的簇中,并更新簇中心。算法会在迭代过程中反复更新聚类结果,直到满足收敛条件。
3、约束条件的引入
在半监督聚类中,约束条件是十分重要的,它们能够帮助算法从有标签样本中获取更多的信息,进而优化无标签样本的聚类效果。常见的约束包括:
-
必须连接(must-link):
这种约束指定了两个样本必须属于同一簇。例如,用户可以提供这样的先验知识:"样本A和样本B应该在同一类中"。
-
不能连接(cannot-link):
这种约束则指定了两个样本不能属于同一簇。例如,用户可以提供这样的先验知识:"样本C和样本D不应该在同一类中"。
通过这些约束,半监督聚类算法能够在进行聚类时考虑到更多的先验知识,从而更好地将数据分配到合适的簇中。
4、半监督聚类的算法流程
半监督聚类算法流程。这里以K-means为例进行说明:
-
初始化:
- 随机选择数据点或基于标签数据选择簇的中心。
- 如果有标签数据,选择标签数据点作为初始簇中心。
-
计算距离并分配簇:
- 对每个样本,计算其与各簇中心的距离,并将样本分配到距离最小的簇。
-
更新簇中心:
- 计算每个簇的均值或重心,更新簇的中心位置。
-
考虑约束条件:
- 如果样本之间有"必须连接"或"不能连接"的约束,更新簇的分配和簇中心位置,确保满足这些约束。
-
迭代:
- 重复步骤2至步骤4,直到聚类结果收敛(即簇中心不再变化)。
5、迭代过程与收敛
在算法的实现中,收敛通常意味着簇中心不再发生变化,或者变化非常微小。当簇中心稳定时,表示聚类过程完成。在收敛过程中,约束条件(如must-link和cannot-link)帮助算法调整簇的划分,确保样本被正确地归类。
八、更多半监督学习算法(简)
1、Transfer Learning(迁移学习)
核心思想:
在一个源领域(source domain)已经训练好了模型,或积累了大量知识(包括预训练模型),将其迁移到另一个目标领域(target domain)或目标任务(target task)上,以提高目标任务的学习效率或性能。
与半监督学习的关系:
- 都是解决标注数据有限 的问题,但着眼点不同:
- 半监督学习通常是在同一数据分布下,用少量有标签数据 + 大量无标签数据进行学习;
- 迁移学习通常是跨分布(源域和目标域可能分布不同),利用源域已有的模型或知识来帮助目标域。
- 实际中常常结合使用:在目标域仅有少量标签的情况下,可以先用迁移学习(从大规模源域数据中获得预训练模型),再用半监督学习(利用目标域的无标签数据进行微调)。
2、One/Few-shot Learning(单样本/小样本学习)
核心思想:
在极少量(甚至只有1个或很少几个)有标签样本的情况下,仍能有效地完成分类、识别等任务。
与半监督学习的关系:
- 同样面对标签极度匮乏的情形;
- One/Few-shot Learning 通常依赖度量学习(metric learning) 、元学习(meta-learning) 、预训练表征等方法,从而在仅有少量样本时也能泛化;
- 半监督学习则更偏向于"充分利用大量无标签数据"来约束或丰富决策边界。
- 两者可以结合,如在小样本场景下,还可以额外利用无标签数据帮助学习更好的特征或决策边界。
3、Un/Self-Supervised Learning(无监督/自监督学习)
核心思想:
- 无监督学习 (Unsupervised Learning):仅使用无标签数据进行聚类、降维、密度估计等。
- 自监督学习 (Self-Supervised Learning):构造"预训练任务"或"伪标签",在大量无标签数据上学习可泛化的特征表示,之后在下游任务上微调。
与半监督学习的关系:
- 半监督学习介于监督与无监督之间;
- 自监督学习是当前非常热门的表征学习手段,能与半监督学习相结合:先对无标签数据进行自监督预训练,得到通用特征,再用少量标签微调或半监督微调;
- 二者的共同点是都希望最大化对无标签数据的利用,但自监督更多是通过设计预训练任务(如对比学习、遮挡预测、旋转预测等)来学习表征,半监督则在同一个任务下直接利用有无标签数据进行训练。
4、Domain Adaptation(领域自适应)
核心思想:
在目标领域数据上几乎没有标签(或只有极少量标签)的情况下,通过源领域数据(有较多标签)来帮助目标领域的学习。与迁移学习类似,但更关注"分布差异"导致的模型失配问题,强调对分布差异进行校正或对齐(domain alignment)。
与半监督学习的关系:
- 二者都涉及"无标签数据"的使用,但 Domain Adaptation 更关注源域与目标域分布不同时如何对齐;
- 半监督学习多在同一分布假设下,仅是标签缺乏;
- 当目标域有少量或无标签数据时,往往结合半监督思路,对目标域无标签样本进行"自适应"或"伪标签"生成,从而改进分类器。
5、Meta-Learning(元学习)
核心思想:
"学习如何学习"(learn to learn),希望通过在多个任务上的训练,学到一种快速适应新任务 的能力。常见思路是利用元任务集合训练一个元模型,使得它能在遇到新任务时仅需少量样本或少量训练就能获得较好性能。
与半监督学习的关系:
- 都可用于小数据场景;
- 元学习通常依赖在许多相关任务上进行"训练",从而在新的任务中实现高效学习;
- 半监督学习则更多是"同一个任务下,有标签样本少,但无标签样本多"。
- 两者可以结合:先用元学习得到对小样本的快速适应能力,再利用新任务中大量无标签数据做半监督增强。
6、Zero-shot Learning(零样本学习)
核心思想:
模型在训练时从未见过某些类别的任何样本,但可以基于类别的语义描述(如词向量、属性、描述文本等)来识别这些全新类别的样本。常见于图像识别中的"零样本分类"。
与半监督学习的关系:
- Zero-shot Learning 关注"完全没有 目标类别的训练样本",更多借助类别属性 或辅助信息(如文本描述)来建立模型;
- 半监督学习依赖"同分布的大量无标签样本"来帮助学习决策边界;
- 二者的思路不同,但都面向"标签不足"问题,且都需要额外信息或假设(Zero-shot 需要类别语义信息,半监督需要无标签数据分布信息)。
7、Continual / Lifelong-learning(持续/终身学习)
核心思想:
模型持续不断地接收新任务或新数据流,需要在不忘记之前学到的知识(避免灾难性遗忘)的同时,逐渐累积、更新模型能力。
与半监督学习的关系:
- 半监督学习主要解决同一阶段有无标签数据混合的学习问题;
- 持续/终身学习强调时间序列上的学习过程,模型要随着数据流不断学习新知识;
- 在实际应用中,如果在新阶段拿到大量无标签数据,也可采用半监督思路;若在每个阶段只有少量标签,也可能结合半监督技术来利用无标签数据。
8、Active Learning(主动学习)
核心思想:
模型可以从未标注的数据池中"主动"挑选最有价值的样本请求人工标注,从而用最少的标注成本得到最佳模型性能。
与半监督学习的关系:
- Active Learning 假设可以交互式地获取标签,但标注成本较高,需要"精挑细选"要标注的样本;
- 半监督学习假设大部分数据是无标签且暂时无法标注,只能在已有少量标签和大量无标签数据下被动训练;
- 二者可结合成主动半监督学习:先对最具价值的无标签样本进行标注,再利用半监督方法对剩余的无标签数据进行学习。
9、小结
这张幻灯片中的各个学习范式都与"标签匮乏 "或"数据分布差异"相关,但各自关注的角度、所做的假设和技术手段并不相同:
- 半监督学习:同一分布下,少量有标签 + 大量无标签,充分利用无标签数据的信息。
- 迁移学习 / 领域自适应:跨域、跨任务的知识迁移,强调分布差异下的模型复用或对齐。
- 小样本学习 / 元学习:极少量样本学习,通常借助元学习或度量学习在多任务上提炼"快速适应"能力。
- 自监督学习 / 无监督学习:不依赖外部人工标签,通过设计预训练任务或聚类等方式提取数据结构或特征表示。
- 零样本学习:对从未见过样本的类别进行识别,需要辅助信息(类别属性、描述等)。
- 持续 / 终身学习:随时间不断学习新知识,避免灾难性遗忘。
- 主动学习:主动选择最具价值的样本进行标注,以最少标注成本达成最好性能。
在实际应用中,这些方法往往相互结合,根据任务需求、数据特点、标注成本等因素来制定合适的学习策略。
附录
1、S3VM light 详解
对 S3VMlight (一种求解半监督支持向量机 S3VM 的近似方法)做详细分析与推导。S3VMlight 最早由 T. Joachims 提出,用于在大规模数据集上以较快的速度迭代求解半监督 SVM,核心是一个"局部组合搜索(Local Combinatorial Search)"策略,避免了直接对所有无标签样本的标签配置进行穷举。
(1)问题背景:半监督 SVM 的难点
1.1 半监督 SVM (S3VM) 的基本形式
在半监督场景下,我们有:
个带标签样本
,其中
。
个无标签样本
,但我们并不知道其真实标签。
S3VM 的目标是同时学习到分类器 以及无标签样本的"最优"标签指派
,使得所有样本(带标签+无标签)的间隔最大化、分类错误(或离边界过近)的样本最少。一个常见的目标函数是:
配合如下的约束(或损失):
- 对于有标签数据
,使用与标准 SVM 相同的软间隔约束:
,且
- 对于无标签数据
,令其"标签"也作为变量
。对应的软间隔
要满足:
. 换言之,我们同时要决定
和
,让所有样本尽量远离分界面。
因为无标签样本的"标签"也是待优化变量,这会形成一个组合优化 问题:无标签数据量为 时,标签配置空间多达
,直接穷举显然不可行。S3VMlight 便是为解决此困难而提出的一种高效近似方法。
(2)S3VMlight 的核心思路
S3VMlight 的核心可以用"局部搜索 + SVM 子问题"来概括:
- 固定无标签数据的某个标签配置(如初始时将所有无标签样本设为 +1,或用简单启发式给定);
- 求解标准 SVM 子问题 :在上述固定标签配置下,问题退化为一个有标签数据集(包括真实有标签数据和"临时标注"的无标签数据)的标准 SVM,能用现成的 SVM 优化算法(如 SMO、QP 求解等)快速得到最优解
;
- 试探性地修改(翻转)部分无标签样本的标签:例如将某个无标签样本从 +1 改为 -1,或者从 -1 改为 +1,然后再次训练 SVM,观察目标函数是否下降;若能改进,就接受这次翻转;
- 不断重复,直到无法通过翻转单个(或小批量)无标签样本标签而进一步降低目标函数。
这种"翻转 + 重训练"形成了一种局部组合搜索("local combinatorial search"),每次只在邻域内(翻转少数样本)寻找更优解,因而算法不会因无标签量大而彻底失控。虽然可能会陷入局部最优,但在大规模数据上往往效果可观。
2.1 算法结构概览
假设无标签样本索引为 ,初始为每个
赋予标签
。然后迭代如下步骤:
- 训练 SVM :
固定(第
次迭代的标签配置),用标准 SVM 优化求解
,得到
。
- 尝试翻转 :
在无标签集合中,依次试着翻转单个或小批量样本的标签:
, 重新训练 SVM 并计算目标函数值(或近似目标值),若下降则接受翻转,否则回退。
- 重复,直到所有样本都无法进一步通过翻转降低目标函数时,输出当前解。
在实际实现中,S3VMlight 还会用到启发式来加速翻转决策、减少反复完整训练的次数(例如:只挑"边缘附近"的无标签点尝试翻转,或一次性评估多个点的翻转对目标函数的影响等)。
(3)目标函数的本质与翻转判断
3.1 目标函数
从S3VM的角度看,完整目标函数可写为(带松弛变量):
当我们固定了无标签数据的标签配置 ,该问题就变成了一个标准的有标签 SVM (只不过超参数和样本数量增加了);而当我们尝试翻转某个样本
的标签时,就相当于把它从正样本变成负样本(或反之),需要重新求解一遍 SVM 子问题并比较新的目标函数值是否更优。
3.2 翻转判断条件
S3VMlight 中,翻转判断一般采用"若翻转标签能显著降低目标函数,则执行翻转"的规则。翻转后再解一次标准 SVM 子问题,若目标值(或者近似值)更小,就说明翻转是有利的。
在实现层面,直接每次都完整训练 SVM 的计算开销较大,因此 S3VMlight 通常会用一些启发式近似 来估计翻转对目标函数的影响,比如利用当前解 的梯度信息、松弛变量
的大小、或距离决策边界的远近等,做快速筛选,然后再对少数"翻转可行性高"的样本做精确重训练检验。