用户工具

站点工具


inductive_learning

归纳学习

归纳学习(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 中的归纳学习

LLM 的预训练同样可以理解为一种大规模归纳学习过程。

模型从大量文本中观察:

文本 → Token 序列 → 统计规律 → 参数

经过训练后,模型可以将学习到的规律应用于训练数据中没有出现过的新文本。

例如,模型可能从大量语言实例中学习:

* 语法结构 * 词语之间的关系 * 语义关系 * 知识之间的关联 * 不同文本形式的规律

然后将这些规律推广到新的上下文。

因此:

LLM 的预训练本质上仍然依赖“从有限数据学习规律并进行泛化”的归纳过程。

归纳学习的核心问题

归纳学习可以归结为一个经典问题:

从有限数据中,为什么以及如何能够得到对未知数据有效的规律?

这个问题涉及:

* Inductive Bias * Generalization * Overfitting * Underfitting * Statistical Learning Theory * Optimization * Representation 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

inductive_learning.txt · 最后更改: 由 holdsark