归纳学习(Inductive Learning) 是 Machine Learning 中一种从有限的具体样本中学习一般规律,并将其应用于未见样本的学习方式。
归纳学习的核心问题可以概括为:
已知有限的训练数据,如何学习一个能够推广到未知数据的规律?
其基本过程是:
训练数据 → 学习规律 → 建立模型 → 预测未见数据
归纳学习是现代监督学习以及许多其他机器学习方法的基本思想。
假设给定训练数据:
D = {(x₁, y₁), (x₂, y₂), ..., (xₙ, yₙ)}
其中 xᵢ 是输入,yᵢ 是对应的输出。
归纳学习的目标是从数据 D 中学习一个函数:
f : X → Y
使得对于训练数据之外的新样本 x,模型仍然能够给出合理的预测:
f(x) ≈ y
这里最重要的并不是模型在训练数据上的表现,而是它对未见数据的预测能力,即 Generalization。
有限训练数据通常不能唯一决定一个规律。
例如,只知道:
f(1) = 1
f(2) = 4
f(3) = 9
可以猜测:
f(x) = x²
但实际上存在无穷多个函数都能够满足这三个训练样本。
因此,机器学习并不能仅仅依靠数据本身确定唯一的模型,而需要对“什么样的规律更合理”作出一定假设。
这种假设称为 Inductive Bias(归纳偏置)。
因此可以简单表示为:
训练数据 + 归纳偏置 → 学习得到的模型
归纳学习和 Supervised Learning 并不是完全相同的概念。
监督学习通常从带标签的数据中学习:
(x, y) → f
而归纳学习描述的是更加一般的思想:
从已有实例中学习一般规律,并将规律推广到新的实例。
因此,大多数监督学习方法都可以看作归纳学习。
例如:
* Classification:从已经标记的类别样本学习分类规律。 * Regression:从输入与连续数值之间的关系学习预测规律。 * Neural Network:通过训练数据学习参数化函数。 * Deep Learning:通过多层神经网络学习复杂表示和映射。
归纳学习通常可以从假设空间(Hypothesis Space)的角度理解。
假设空间 H 是模型可能选择的所有函数或假设的集合。
学习过程可以理解为:
训练数据 D
↓
假设空间 H
↓
寻找能够解释训练数据的假设 h
↓
得到最终模型
例如,如果规定模型只能是线性函数:
h(x) = wx + b
那么假设空间就只包含线性函数。
如果使用一个大型 Neural Network,其假设空间通常会非常庞大。
因此,模型的结构实际上限制了它能够学习什么样的规律,这也是 Inductive Bias 的来源之一。
许多归纳学习算法可以通过经验风险最小化(Empirical Risk Minimization,ERM)来理解。
给定损失函数 L,希望寻找模型:
h* = arg minₕ Σ L(h(xᵢ), yᵢ)
也就是说,在训练数据上寻找一个能够尽可能减少预测误差的模型。
但只降低训练误差并不能保证模型具有良好的泛化能力。
例如,一个模型可以直接记住所有训练样本,使训练误差接近 0,但面对新数据却表现很差。
这种现象称为 Overfitting(过拟合)。
因此归纳学习的真正目标是:
不是记住训练数据,而是从训练数据中学习可以推广到未知数据的规律。
由于有限数据通常无法唯一确定正确规律,因此归纳学习必须引入某种归纳偏置。
不同算法的归纳偏置不同。
例如:
Linear Regression → 偏向于线性关系
CNN → 偏向于局部空间结构和位置共享
RNN → 偏向于序列结构
Transformer → 通过 Attention 建立不同位置之间的关系
因此,不同模型实际上是在用不同的假设解释同一批数据。
归纳学习最核心的目标就是 Generalization。
训练数据:
D_train
测试数据:
D_test
模型首先从 D_train 学习,然后在没有参与训练的 D_test 上进行预测。
如果:
训练集表现好 + 测试集表现也好
说明模型学习到了具有一定普遍性的规律。
如果:
训练集表现很好 + 测试集表现很差
则说明模型可能发生了 Overfitting。
因此:
归纳学习的核心不是拟合已知数据,而是从已知数据归纳出能够用于未知数据的规律。
归纳学习与 Deductive Learning 可以进行对比。
归纳学习:
具体实例 → 一般规律
例如:
样本 A 有特征 P 样本 B 有特征 P 样本 C 有特征 P ↓ 推测具有 P 的对象可能属于类别 X
演绎学习:
一般规律 → 具体结论
例如:
所有 X 都具有性质 P 对象 A 属于 X ↓ 对象 A 具有 P
因此:
归纳是从经验中学习规律,演绎是根据已有规律推出结论。
归纳学习还需要与 Transductive Learning(直推学习)区分。
归纳学习:
训练数据 → 学习一般规律 → 预测未来未知数据
直推学习:
训练数据 + 特定的未标记数据 → 推断这些特定数据的结果
例如,一个分类器如果学习一个一般性的分类函数,然后用于未来出现的任意图片,这是归纳学习。
如果算法只关心当前给定的一批未标记图片,并针对这批图片进行预测,则更接近直推学习。
从更高层次来看,机器学习可以被理解为:
通过数据和经验获得模型,使模型能够对未知情况进行预测或决策。
其中:
经验 → 训练数据 学习 → 参数优化 规律 → 模型 未知情况 → 测试数据 / 新输入 推广能力 → Generalization
因此,归纳学习实际上描述了机器学习中非常核心的一种思想:
从有限经验中获得可以用于未知情况的知识。
在 Deep Learning 中,归纳学习通常通过优化神经网络参数实现。
例如一个神经网络:
f(x; θ)
其中 θ 是模型参数。
训练过程通过 Gradient Descent 等优化方法寻找参数:
θ* = arg minθ L(f(x; θ), y)
最终得到:
f(x; θ*)
这个模型并不是简单地保存训练样本,而是通过参数表示从训练数据中学习到的统计规律。
不过,现代深度学习模型通常具有极大的参数量,因此“模型究竟是学习了规律还是记住了数据”成为研究 Generalization 的重要问题。
LLM 的预训练同样可以理解为一种大规模归纳学习过程。
模型从大量文本中观察:
文本 → Token 序列 → 统计规律 → 参数
经过训练后,模型可以将学习到的规律应用于训练数据中没有出现过的新文本。
例如,模型可能从大量语言实例中学习:
* 语法结构 * 词语之间的关系 * 语义关系 * 知识之间的关联 * 不同文本形式的规律
然后将这些规律推广到新的上下文。
因此:
LLM 的预训练本质上仍然依赖“从有限数据学习规律并进行泛化”的归纳过程。
归纳学习可以归结为一个经典问题:
从有限数据中,为什么以及如何能够得到对未知数据有效的规律?
这个问题涉及:
* Inductive Bias * Generalization * Overfitting * Underfitting * Statistical Learning Theory * Optimization * Representation Learning
其中一个重要观点是:
如果没有任何归纳偏置,仅凭有限数据通常无法确定唯一的正确规律。
因此,机器学习的能力不仅取决于数据量,也取决于模型的假设空间、结构、训练方法以及数据本身的分布。
* Inductive * Inductive Bias * Generalization * Machine Learning * Supervised Learning * Transductive Learning * Overfitting * Deep Learning
* Tom M. Mitchell, 1997, Machine Learning * Vladimir N. Vapnik, 1998, Statistical Learning Theory * Christopher M. Bishop, 2006, Pattern Recognition and Machine Learning * Shai Shalev-Shwartz and Shai Ben-David, 2014, Understanding Machine Learning: From Theory to Algorithms