Transductive Learning(直推学习)是机器学习中的一种学习范式。与Inductive Learning不同,直推学习并不试图从训练数据中学习一个能够泛化到任意未知样本的通用函数,而是利用已有的训练数据以及当前给定的无标签测试数据,直接推断这些特定测试样本的标签。
“Transductive”这一术语由 Vladimir Vapnik 等人在统计学习理论的发展过程中系统使用。Vapnik 在 1998 年出版的《Statistical Learning Theory》中明确讨论了 transductive inference,并将其与传统的 inductive inference 区分开来。
其核心思想可以概括为:
Inductive Learning:从已知样本学习一般规律,再应用于未来未知样本。
Transductive Learning:针对当前已经知道的目标样本,直接完成推断。
假设有:
* 有标签训练集 Dₗ = {(x₁, y₁), …, (xₗ, yₗ)} * 无标签目标数据 Dᵤ = {xₗ₊₁, …, xₗ₊ᵤ}
在Inductive Learning中,希望学习一个函数:
f: X → Y
然后将 f 应用于未来可能出现的任意 x。
而在直推学习中,主要目标是直接预测:
yₗ₊₁, …, yₗ₊ᵤ
也就是说,目标并不是一定要得到一个能够处理任意未来数据的完整模型,而是:
已知训练数据 + 已知目标数据 → 目标数据的预测结果
两者最核心的区别在于是否需要对未来未知样本进行泛化。
| Inductive Learning | Transductive Learning | |
|---|---|---|
| 中文 | 归纳学习 | 直推学习 |
| 学习目标 | 学习一般规律 | 预测特定目标样本 |
| 测试数据是否已知 | 通常未知 | 训练时可以知道其无标签特征 |
| 输出 | 一个通用模型/函数 | 目标样本的预测 |
| 关注重点 | Generalization | 对当前目标数据的推断 |
| 典型问题 | 分类、回归 | 半监督分类、图上的标签传播等 |
可以简单理解为:
Inductive:
训练集 → 学习 f → 新数据 → 预测
Transductive:
训练集 + 目标数据 → 推断目标数据标签
在普通监督学习中,模型只使用:
(xᵢ, yᵢ)
但在直推学习中,目标测试数据的特征 x 也可以参与学习过程。
例如:
训练集:
猫 → 猫 狗 → 狗 猫 → 猫
同时已经拿到了另外一批测试图片,但不知道它们的标签。
Inductive Learning 的做法是:
带标签数据 → 学习分类器 f → 对未来图片进行分类。
而直推学习可以直接利用:
带标签数据 + 无标签目标图片
共同推断这些目标图片的标签。
因此,即使某种方法没有得到一个适用于未来所有图片的分类函数,只要能够有效预测当前目标样本,它仍然可以属于 Transductive Learning。
Transductive Learning 与Semi-Supervised Learning(半监督学习)关系非常密切,但两者不是完全等价的概念。
半监督学习通常利用:
少量有标签数据 + 大量无标签数据
来提高学习效果。
而这些无标签数据可能是:
* 当前测试集; * 未来测试数据; * 额外收集的无标签数据。
如果目标明确限定为当前这一批无标签测试样本,就属于典型的直推学习。
因此:
Semi-Supervised Learning 描述的是数据监督程度;Transductive Learning 描述的是学习目标和推断方式。
二者可以重叠,但不能简单画等号。
假设我们需要判断 100 张图片属于猫还是狗。
已有 10 张带标签图片:
猫、猫、狗、猫、狗……
同时已经拿到了另外 90 张测试图片,但它们没有标签。
Inductive Learning 的做法是:
10 张带标签图片 → 学习分类器 f → 对未来图片进行分类。
而直推学习可以直接利用:
10 张带标签图片 + 90 张无标签测试图片
共同推断这 90 张图片的标签。
Transductive Learning 并不是一种特定算法,而是一种学习范式。常见方法包括:
* Semi-Supervised Learning * Graph-Based Learning * 标签传播(Label Propagation) * 标签扩散(Label Spreading) * Transductive Support Vector Machine(TSVM) * Manifold Learning * 一些利用目标数据分布的Domain Adaptation方法
其中 Transductive SVM 是经典代表。
传统 SVM 希望找到能够泛化到未知数据的分类超平面,而 Transductive SVM 则同时考虑已标记数据和目标无标签数据的分布,希望找到更加适合当前目标数据的决策边界。
在图学习中,直推学习尤其常见。
假设构造一个图:
节点 = 样本
边 = 样本之间的相似关系
部分节点具有标签,其他节点没有标签。
可以利用图的结构将标签从已标记节点传播到未标记节点:
已标记节点 → 图结构 → 未标记节点
例如在Graph Neural Network出现之前,标签传播就是经典的图直推学习方法。
在Graph Neural Network中,这一区别尤其重要。
Transductive Setting:
训练时已经知道整个图的结构以及测试节点,只是不知道测试节点的标签。
例如:
训练节点有标签 ↓ 整个图结构已知 ↓ 利用图结构学习 ↓ 预测测试节点
Inductive Setting:
测试阶段可能出现训练期间完全没有见过的新节点,甚至新图。
因此:
Transductive:
测试节点已经存在于训练所看到的图中。
Inductive:
测试阶段可能出现训练阶段不存在的新节点或新图。
这也是Node Classification中经常出现的一个重要区别。
直推学习并不意味着完全没有Generalization。
更准确地说,它的泛化目标发生了变化。
Inductive Learning 关注:
从训练样本推广到未来未知样本。
Transductive Learning 更关注:
从已有信息推断当前给定的目标样本。
因此可以把两者理解为两种不同的推断任务:
Inductive → 学习一个一般规则 Transductive → 针对特定目标进行推断
这也是 Vapnik 提出传导推断的重要理论背景。
* 可以利用目标数据的无标签分布信息。 * 当目标数据与训练数据存在明显结构时,可能获得比纯监督学习更好的预测效果。 * 特别适合测试数据集合已经提前确定的场景。 * 在图学习等任务中非常自然。
* 模型通常依赖于当前目标数据。 * 如果目标数据发生变化,可能需要重新进行推断。 * 不一定能够直接处理未来出现的新样本。 * 如果错误地利用测试数据标签或其他信息,会产生Data Leakage。 * 不适合所有实际部署场景,因为真实系统通常无法提前获得未来测试数据。
从学习理论角度,可以将二者放在一起理解:
有限样本 → 学习一般规律 → Generalization → 未知数据
Transductive Learning:
有限有标签数据 + 已知无标签目标数据 → 推断目标标签
因此,Inductive Learning 更强调“学会一个可以推广的规律”,而 Transductive Learning 更强调“解决当前给定的预测问题”。
随着深度学习、Semi-Supervised Learning、Graph Neural Network和Domain Adaptation的发展,直推学习已经不再只是传统统计学习理论中的概念。
它提供了一个重要的视角:
机器学习并不一定总是要学习一个适用于所有未来数据的函数;如果目标数据本身已经可见,那么目标数据的结构也可以成为学习过程的一部分。
不过在现代LLM和大规模 AI 系统中,更常见的仍然是 Inductive Setting,因为部署后的模型需要处理训练阶段没有见过的新输入。
* Inductive * Inductive Learning * Inductive Bias * Generalization * Semi-Supervised Learning * Graph Neural Network * Domain Adaptation * Transductive SVM
* Vapnik, V. N. (1998). Statistical Learning Theory. Wiley. * Vapnik, V. N. (1998). The Nature of Statistical Learning Theory. Springer. * Joachims, T. (1999). Transductive Inference for Text Classification using Support Vector Machines. * Zhu, X. & Ghahramani, Z. (2002). Learning from Labeled and Unlabeled Data with Label Propagation.