Appearance
第1章 绪论
🎯 学习目标
- 理解机器学习的基本定义与核心思想
- 掌握机器学习中的基本术语与概念
- 理解假设空间与版本空间的含义
- 认识归纳偏好及奥卡姆剃刀原理
- 了解 NFL 定理的核心含义
- 了解机器学习的发展历程与主要里程碑
章节导读
机器学习是一门致力于研究如何通过计算的手段,利用经验来改善系统自身性能的学科。 —— 周志华《机器学习》
本章是全书的起点,将带你认识机器学习的核心概念。我们从「什么是机器学习」出发,介绍常用的基本术语,再深入探讨假设空间、归纳偏好和 NFL 定理等基础理论,最后回顾机器学习的发展历程。这些概念贯穿全书,是后续章节的基石。
1.1 引言
🤖 什么是机器学习?
机器学习 (Machine Learning) 研究的是如何让计算机从数据中自动学习规律,并利用学到的规律对未知数据进行预测。
Tom Mitchell (1997) 给出了一个经典的形式化定义:
假设用
来评估计算机程序在某任务类 上的性能,若一个程序通过利用经验 在 中任务上获得了性能改善,则我们就说关于 和 ,该程序对 进行了学习。
简单来说,机器学习就是让计算机从数据(经验)中学习,而不是通过人工编写的显式规则来完成任务。
为什么需要机器学习?
在很多实际场景中,人工编写规则要么极其困难,要么不可能做到。例如:
📧 垃圾邮件过滤
垃圾邮件的特征不断变化,人工规则难以穷举。机器学习模型可以从大量标注邮件中自动学习判别规则,并不断适应新的垃圾邮件模式。
🎬 推荐系统
电商、视频平台通过分析用户的历史行为(浏览、购买、评分),利用机器学习算法预测用户的兴趣偏好,实现个性化推荐。
🖼️ 图像识别
让计算机理解图像内容(如识别人脸、分类物体),通过大量标注图像训练模型,使其学会从像素中提取有意义的特征。
🗣️ 语音识别
将语音信号转换为文字,涉及发音变化、口音差异等复杂因素,人工规则几乎无法覆盖,而机器学习模型通过大量语音-文字对进行训练,可以高效完成。
💡 核心思想
机器学习的核心是从数据中发现规律。当问题过于复杂、规则难以明确表述、或环境不断变化时,机器学习往往是更优的解决方案。
1.2 基本术语
掌握基本术语是学习机器学习的第一步。以下术语将贯穿全书。
数据相关术语
📊 数据集与样本
假设我们收集了一批西瓜的数据用于判断好瓜还是坏瓜:
| 编号 | 色泽 | 根蒂 | 敲声 | 好瓜 |
|---|---|---|---|---|
| 1 | 青绿 | 蜷缩 | 浊响 | 是 |
| 2 | 乌黑 | 蜷缩 | 沉闷 | 是 |
| 3 | 浅白 | 硬挺 | 清脆 | 否 |
- 这个表格整体称为一个数据集 (dataset)
- 每一行(一条记录)称为一个示例 (instance) 或样本 (sample)
- 每一列(色泽、根蒂、敲声)称为一个属性 (attribute) 或特征 (feature)
- 每个属性的具体取值称为属性值 (attribute value)
属性空间与特征向量
📐 属性空间
每个样本可以用其属性值组成的向量来表示。例如上表中编号 1 的西瓜可以表示为:
- 属性张成的空间称为属性空间 (attribute space)、样本空间 (sample space) 或输入空间 (input space)
- 每个样本在属性空间中对应一个点,其坐标由属性值决定,因此也称为特征向量 (feature vector)
一般地,令
标记与学习任务
🏷️ 标记与样例
- 标记 (label):示例结果的信息,如上表中的"好瓜"列(是/否)
- 样例 (example):拥有标记信息的示例,记为
,其中 是 的标记 - 标记空间 (label space) / 输出空间 (output space):所有标记的集合,记为
术语总览
| 中文术语 | 英文 | 含义 |
|---|---|---|
| 数据集 | dataset | 一组示例的集合 |
| 示例 / 样本 | instance / sample | 数据集中的每一条记录 |
| 属性 / 特征 | attribute / feature | 描述样本的某个方面 |
| 属性值 | attribute value | 属性的具体取值 |
| 属性空间 | attribute space | 属性张成的空间 |
| 特征向量 | feature vector | 样本在属性空间中的坐标表示 |
| 维数 | dimensionality | 属性的个数 |
| 标记 | label | 示例的结果信息 |
| 样例 | example | 拥有标记的示例 |
| 标记空间 | label space | 所有标记的集合 |
学习任务的分类
📌 训练与预测
- 训练 (training) / 学习 (learning):从数据中学习模型的过程。训练中使用的数据称为训练集 (training set),其中的每个样本称为训练样本 (training sample)
- 测试 (testing):用学到的模型对新样本进行预测。使用的数据称为测试集 (test set),其中的样本称为测试样本 (testing sample)
- 预测 (prediction):模型对新示例给出的判断
📊 分类 (Classification)
预测的是离散值,即样本属于哪个类别。
- 二分类:只有两个类别(如好瓜/坏瓜、垃圾邮件/正常邮件)
- 多分类:有多个类别(如手写数字识别 0-9)
📈 回归 (Regression)
预测的是连续值,即样本的某个数值属性。
- 如预测西瓜的成熟度(0.1 ~ 1.0)
- 如预测房价、股票价格
👨🏫 监督学习 (Supervised Learning)
训练数据拥有标记信息。分类和回归都属于监督学习。
🔍 无监督学习 (Unsupervised Learning)
训练数据没有标记信息。典型任务是聚类 (clustering):将样本自动分成若干组。
🌍 泛化能力
泛化 (generalization):模型对新样本的适应能力。我们期望模型学到的不是训练集的特有性质,而是数据背后的一般规律,从而能够正确预测从未见过的新样本。泛化能力是衡量模型好坏的核心标准。
1.3 假设空间
归纳学习
📚 归纳学习与演绎学习
- 归纳 (induction):从具体的事实出发,归纳出一般性规律。即「从特殊到一般」
- 演绎 (deduction):从一般性规律出发,推导出具体结论。即「从一般到特殊」
机器学习属于归纳学习 (inductive learning),即从训练样本中归纳出模型,然后用模型来预测新样本。
归纳学习又可分为:
- 狭义归纳学习:从训练数据中学得概念,也称概念学习 (concept learning)
- 广义归纳学习:从数据中学得任意类型的规律
假设空间
以西瓜问题为例来理解假设空间。假设我们只考虑三个属性:
| 属性 | 可能取值 |
|---|---|
| 色泽 | 青绿、乌黑、浅白 |
| 根蒂 | 蜷缩、稍蜷、硬挺 |
| 敲声 | 浊响、沉闷、清脆 |
🔍 假设空间的含义
假设 (hypothesis):对目标概念的一种可能的描述。例如「色泽=青绿 且 根蒂=蜷缩 且 敲声=浊响」就是一个假设,它表示满足这些条件的西瓜是好瓜。
假设空间 (hypothesis space):所有可能假设组成的集合。
对于上面的西瓜问题:
- 色泽:3 个取值 + 通配符
*(任意值)= 4 种选择 - 根蒂:3 个取值 + 通配符
*= 4 种选择 - 敲声:3 个取值 + 通配符
*= 4 种选择 - 还需加上一个特殊假设
(表示「没有好瓜」)
💡 假设空间枚举示例
部分假设举例:
| 假设编号 | 色泽 | 根蒂 | 敲声 | 含义 |
|---|---|---|---|---|
| 青绿 | 蜷缩 | 浊响 | 青绿、蜷缩、浊响的是好瓜 | |
| 青绿 | 蜷缩 | * | 青绿、蜷缩的是好瓜(不论敲声) | |
| * | * | * | 所有西瓜都是好瓜 | |
| 没有西瓜是好瓜 |
学习的过程就是在假设空间中搜索与训练集一致的假设。
版本空间
🎯 版本空间
版本空间 (version space):与训练集一致的假设集合,即假设空间中所有满足训练数据的假设。
假设我们有以下训练集:
| 色泽 | 根蒂 | 敲声 | 好瓜 |
|---|---|---|---|
| 青绿 | 蜷缩 | 浊响 | 是 |
| 乌黑 | 蜷缩 | 浊响 | 是 |
| 青绿 | 硬挺 | 清脆 | 否 |
那么与训练集一致的假设可能包括:
: (*, 蜷缩, 浊响) — 蜷缩且浊响的是好瓜 : (*, 蜷缩, *) — 蜷缩的是好瓜 : (*, *, 浊响) — 浊响的是好瓜
这些假设构成的集合就是版本空间。随着训练数据增加,版本空间会逐步缩小。
1.4 归纳偏好
⚠️ 核心问题
版本空间中可能存在多个与训练集一致的假设,学习算法应该选择哪一个?
不同的学习算法可能学到不同的假设,即使它们在训练集上表现相同。这是因为每个学习算法都有自己的归纳偏好 (inductive bias)。
🪒 奥卡姆剃刀 (Occam's Razor)
若有多个假设与观察一致,则选择最简单的那个。
奥卡姆剃刀是一种常用的归纳偏好原则。它认为更简单的模型更可能是正确的。
例如,在版本空间中:
: (*, 蜷缩, 浊响) — 需要满足两个条件 : (*, 蜷缩, *) — 只需满足一个条件
根据奥卡姆剃刀,如果两者都能解释训练数据,我们倾向于选择更简单的
💡 为什么需要归纳偏好?
没有归纳偏好,学习算法就无法在多个一致假设中做出选择,也就无法产生确定的学习结果。
但需要注意:
- 奥卡姆剃刀并非万能——什么是「更简单」本身就有不同的理解
- 对于不同的问题,不同的偏好可能更合适
- 这就引出了一个重要的理论结果——NFL 定理
1.5 NFL 定理
🍽️ 没有免费的午餐定理 (No Free Lunch Theorem)
NFL 定理证明了一个惊人的结论:脱离具体问题,空泛地谈论「哪个学习算法更好」毫无意义。
数学形式
设学习算法
NFL 定理表明,对于所有可能的真实目标函数
核心含义
📌 NFL 定理的启示
- 没有「万能」算法:不存在一个在所有问题上都最优的学习算法
- 算法好坏依赖于具体问题:一个算法在某些问题上表现好,必然在另一些问题上表现差
- 实践中的意义:学习算法的优劣必须结合具体问题来讨论。我们选择算法时,需要考虑数据的特性和问题的本质
- 前提条件:NFL 定理成立的前提是所有问题等概率出现。在实际中,我们面对的问题并非均匀分布的,因此某些算法在特定领域确实更好
💡 直观理解
想象你有一把万能钥匙,它能打开一半的锁,但同时打不开另一半的锁。另一把钥匙也是如此,只是打开和打不开的锁刚好相反。如果我们不知道面前是哪把锁,那这两把钥匙就「一样好」。
但如果我们知道面前的锁是什么类型,就可以选择更合适的钥匙。这就是为什么在实际应用中,「具体问题具体分析」如此重要。
1.6 机器学习的发展历程
机器学习的发展经历了多个阶段,从最初的理论探索到如今的广泛应用。
📜 发展时间线
1950s — 起步期
- 1950 年,Alan Turing 提出「图灵测试」,开启人工智能的思考
- 1957 年,Frank Rosenblatt 发明感知机 (Perceptron),这是最早的神经网络模型
1960s-1970s — 符号主义时期
- 以逻辑推理和知识表示为核心
- 1969 年,Minsky 和 Papert 指出感知机的局限性(无法解决异或问题),导致神经网络研究进入低谷
1980s — 连接主义复兴
- 1986 年,Rumelhart 等人提出反向传播算法 (Backpropagation),使多层神经网络的训练成为可能
- 决策树算法(ID3、C4.5)得到广泛应用
1990s — 统计学习时代
- 1995 年,Vapnik 提出支持向量机 (SVM),成为当时最强的分类器
- 集成学习方法(Boosting、Bagging)兴起
- 概率图模型得到深入研究
2000s — 核方法与集成学习
- 核方法的广泛研究与应用
- 随机森林 (Random Forest)、XGBoost 等集成方法表现突出
- 机器学习开始在工业界广泛应用
2010s 至今 — 深度学习时代
- 2012 年,AlexNet 在 ImageNet 竞赛中大幅领先,开启深度学习浪潮
- 2016 年,AlphaGo 战胜围棋世界冠军李世石
- 大语言模型 (LLM) 的出现推动了 AI 的新一轮革命
- 机器学习渗透到日常生活的方方面面
📖 学习建议
虽然深度学习是当前的热点,但经典的机器学习理论和方法依然是基础。本书将从基础出发,循序渐进地介绍各类机器学习方法,为后续深入学习打下坚实根基。
本章小结
本章介绍了机器学习的基本概念和理论基础:
- ✅ 机器学习的定义:从数据中学习规律,利用经验改善系统性能
- ✅ 基本术语:数据集、样本、属性、特征向量、标记、训练集、测试集等
- ✅ 学习任务分类:分类 vs 回归,监督学习 vs 无监督学习
- ✅ 假设空间:学习就是在假设空间中搜索与训练集一致的假设
- ✅ 版本空间:所有与训练集一致的假设组成的集合
- ✅ 归纳偏好:学习算法对假设的选择偏好,奥卡姆剃刀是常用原则
- ✅ NFL 定理:脱离具体问题,没有「最好」的算法
- ✅ 发展历程:从感知机到深度学习,机器学习经历了多次范式转变
🚀 下一步
掌握了基本概念后,下一章我们将学习如何评估和选择模型——这是将机器学习应用于实际问题时最重要的技能之一。