Skip to content

第1章 绪论 ​

🎯 学习目标 ​

  • 理解机器学习的基本定义与核心思想
  • 掌握机器学习中的基本术语与概念
  • 理解假设空间与版本空间的含义
  • 认识归纳偏好及奥卡姆剃刀原理
  • 了解 NFL 定理的核心含义
  • 了解机器学习的发展历程与主要里程碑

章节导读 ​

机器学习是一门致力于研究如何通过计算的手段,利用经验来改善系统自身性能的学科。 —— 周志华《机器学习》

本章是全书的起点,将带你认识机器学习的核心概念。我们从「什么是机器学习」出发,介绍常用的基本术语,再深入探讨假设空间、归纳偏好和 NFL 定理等基础理论,最后回顾机器学习的发展历程。这些概念贯穿全书,是后续章节的基石。

1.1 引言 ​

🤖 什么是机器学习?

机器学习 (Machine Learning) 研究的是如何让计算机从数据中自动学习规律,并利用学到的规律对未知数据进行预测。

Tom Mitchell (1997) 给出了一个经典的形式化定义:

假设用 P 来评估计算机程序在某任务类 T 上的性能,若一个程序通过利用经验 E 在 T 中任务上获得了性能改善,则我们就说关于 T 和 P,该程序对 E 进行了学习。

简单来说,机器学习就是让计算机从数据(经验)中学习,而不是通过人工编写的显式规则来完成任务。

为什么需要机器学习? ​

在很多实际场景中,人工编写规则要么极其困难,要么不可能做到。例如:

📧 垃圾邮件过滤

垃圾邮件的特征不断变化,人工规则难以穷举。机器学习模型可以从大量标注邮件中自动学习判别规则,并不断适应新的垃圾邮件模式。

🎬 推荐系统

电商、视频平台通过分析用户的历史行为(浏览、购买、评分),利用机器学习算法预测用户的兴趣偏好,实现个性化推荐。

🖼️ 图像识别

让计算机理解图像内容(如识别人脸、分类物体),通过大量标注图像训练模型,使其学会从像素中提取有意义的特征。

🗣️ 语音识别

将语音信号转换为文字,涉及发音变化、口音差异等复杂因素,人工规则几乎无法覆盖,而机器学习模型通过大量语音-文字对进行训练,可以高效完成。

💡 核心思想

机器学习的核心是从数据中发现规律。当问题过于复杂、规则难以明确表述、或环境不断变化时,机器学习往往是更优的解决方案。

1.2 基本术语 ​

掌握基本术语是学习机器学习的第一步。以下术语将贯穿全书。

数据相关术语 ​

📊 数据集与样本

假设我们收集了一批西瓜的数据用于判断好瓜还是坏瓜:

编号色泽根蒂敲声好瓜
1青绿蜷缩浊响是
2乌黑蜷缩沉闷是
3浅白硬挺清脆否
  • 这个表格整体称为一个数据集 (dataset)
  • 每一行(一条记录)称为一个示例 (instance) 或样本 (sample)
  • 每一列(色泽、根蒂、敲声)称为一个属性 (attribute) 或特征 (feature)
  • 每个属性的具体取值称为属性值 (attribute value)

属性空间与特征向量 ​

📐 属性空间

每个样本可以用其属性值组成的向量来表示。例如上表中编号 1 的西瓜可以表示为:

x1=(青绿,蜷缩,浊响)
  • 属性张成的空间称为属性空间 (attribute space)、样本空间 (sample space) 或输入空间 (input space)
  • 每个样本在属性空间中对应一个点,其坐标由属性值决定,因此也称为特征向量 (feature vector)

一般地,令 D={x1,x2,…,xm} 表示包含 m 个示例的数据集,每个示例由 d 个属性描述,则每个示例 xi=(xi1;xi2;…;xid) 是 d 维样本空间 X 中的一个向量。d 称为样本的维数 (dimensionality)。

标记与学习任务 ​

🏷️ 标记与样例

  • 标记 (label):示例结果的信息,如上表中的"好瓜"列(是/否)
  • 样例 (example):拥有标记信息的示例,记为 (xi,yi),其中 yi∈Y 是 xi 的标记
  • 标记空间 (label space) / 输出空间 (output space):所有标记的集合,记为 Y

术语总览 ​

中文术语英文含义
数据集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 种选择
  • 还需加上一个特殊假设 ∅(表示「没有好瓜」)
|假设空间|=4×4×4+1=65
💡 假设空间枚举示例

部分假设举例:

假设编号色泽根蒂敲声含义
h1青绿蜷缩浊响青绿、蜷缩、浊响的是好瓜
h2青绿蜷缩*青绿、蜷缩的是好瓜(不论敲声)
h3***所有西瓜都是好瓜
h4∅∅∅没有西瓜是好瓜

学习的过程就是在假设空间中搜索与训练集一致的假设。

版本空间 ​

🎯 版本空间

版本空间 (version space):与训练集一致的假设集合,即假设空间中所有满足训练数据的假设。

假设我们有以下训练集:

色泽根蒂敲声好瓜
青绿蜷缩浊响是
乌黑蜷缩浊响是
青绿硬挺清脆否

那么与训练集一致的假设可能包括:

  • h1: (*, 蜷缩, 浊响) — 蜷缩且浊响的是好瓜
  • h2: (*, 蜷缩, *) — 蜷缩的是好瓜
  • h3: (*, *, 浊响) — 浊响的是好瓜

这些假设构成的集合就是版本空间。随着训练数据增加,版本空间会逐步缩小。

1.4 归纳偏好 ​

⚠️ 核心问题

版本空间中可能存在多个与训练集一致的假设,学习算法应该选择哪一个?

不同的学习算法可能学到不同的假设,即使它们在训练集上表现相同。这是因为每个学习算法都有自己的归纳偏好 (inductive bias)。

🪒 奥卡姆剃刀 (Occam's Razor)

若有多个假设与观察一致,则选择最简单的那个。

奥卡姆剃刀是一种常用的归纳偏好原则。它认为更简单的模型更可能是正确的。

例如,在版本空间中:

  • h1: (*, 蜷缩, 浊响) — 需要满足两个条件
  • h2: (*, 蜷缩, *) — 只需满足一个条件

根据奥卡姆剃刀,如果两者都能解释训练数据,我们倾向于选择更简单的 h2。

💡 为什么需要归纳偏好?

没有归纳偏好,学习算法就无法在多个一致假设中做出选择,也就无法产生确定的学习结果。

但需要注意:

  • 奥卡姆剃刀并非万能——什么是「更简单」本身就有不同的理解
  • 对于不同的问题,不同的偏好可能更合适
  • 这就引出了一个重要的理论结果——NFL 定理

1.5 NFL 定理 ​

🍽️ 没有免费的午餐定理 (No Free Lunch Theorem)

NFL 定理证明了一个惊人的结论:脱离具体问题,空泛地谈论「哪个学习算法更好」毫无意义。

数学形式 ​

设学习算法 La 在训练集外的所有样本上的误差为:

Eote(La|X,f)=∑h∑x∈X−XP(x)⋅I(h(x)≠f(x))⋅P(h|X,La)

NFL 定理表明,对于所有可能的真实目标函数 f 的总误差,任意两个学习算法 La 和 Lb 是相等的:

∑fEote(La|X,f)=∑fEote(Lb|X,f)

核心含义 ​

📌 NFL 定理的启示

  1. 没有「万能」算法:不存在一个在所有问题上都最优的学习算法
  2. 算法好坏依赖于具体问题:一个算法在某些问题上表现好,必然在另一些问题上表现差
  3. 实践中的意义:学习算法的优劣必须结合具体问题来讨论。我们选择算法时,需要考虑数据的特性和问题的本质
  4. 前提条件: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 定理:脱离具体问题,没有「最好」的算法
  • ✅ 发展历程:从感知机到深度学习,机器学习经历了多次范式转变

🚀 下一步

掌握了基本概念后,下一章我们将学习如何评估和选择模型——这是将机器学习应用于实际问题时最重要的技能之一。

基于周志华《机器学习》教材