跳至内容
Fubune's Wiki
用户工具
登录
站点工具
搜索
工具
显示页面
过去修订
反向链接
最近更改
媒体管理器
网站地图
登录
>
最近更改
媒体管理器
网站地图
您的足迹:
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]] 其中一个重要观点是: **如果没有任何归纳偏置,仅凭有限数据通常无法确定唯一的正确规律。** 因此,机器学习的能力不仅取决于数据量,也取决于模型的假设空间、结构、训练方法以及数据本身的分布。 ===== 相关条目 ===== * [[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*
inductive_learning.txt
· 最后更改:
2026/09/14 10:59
由
holdsark
页面工具
显示页面
过去修订
反向链接
回到顶部