首页 / 章节目录 / 第 7 章
CHAPTER · 07

机器学习

Machine Learning

如果说知识表示赋予机器"记忆",推理赋予机器"思维",那么机器学习赋予机器的便是"成长"的能力—— 从经验和数据中自动改进性能。本章梳理学习系统的基本模型与机器学习的分类体系, 精讲决策树等符号学习、以神经网络为代表的连接学习、以支持向量机为代表的统计学习, 以及以试错为核心的强化学习。章末提供可在二维平面上亲手训练分类器的感知机演示。

7.1

机器学习的基本概念

西蒙对学习有一个经典定义:"学习是使系统在不断重复的工作中对本身能力的增强或改进,使得系统下次执行同样或类似任务时,比现在做得更好、更有效率。"用今天的语言说,机器学习是让计算机从经验(数据)中自动产生模型、并用模型对新数据做出判断或决策的方法与技术。汤姆·米切尔的形式化定义是:若程序在任务 T 上的性能 P 随经验 E 而提高,就称它从经验 E 中学习。

◆ 三个关键词:T / E / P

以垃圾邮件识别为例:T = 判断邮件是否为垃圾邮件;E = 大量人工标注的邮件;P = 判断的准确率。学习算法从 E 中归纳出判别模型,使 P 随数据增加而提高——程序员不再手写"包含某词即为垃圾邮件"的全部规则,而是让程序自己找到规则。

学习系统的基本模型

1970 年代,西蒙等人提出学习系统的四环节结构,至今仍是理解机器学习系统的基本框架:

① 环境(Environment)

向系统提供外部信息——训练数据、实例与反馈。信息的质量与完备程度决定学习的起点。

② 学习环节(Learning Element)

核心算法部分,对环境信息进行归纳、抽象与改进,形成或更新知识库中的知识(模型参数)。

③ 知识库(Knowledge Base)

存放学到的知识:规则、决策树、网络权重、概率模型等。

④ 执行环节(Performance)

用所学知识完成实际任务,并把执行结果(成功/失败、误差)反馈给学习环节,形成闭环改进。

机器学习的分类

按训练数据中监督信号的形式,机器学习分为四大范式:

范式数据特点目标典型任务/算法
监督学习输入带有正确标签 (x, y)学习 x→y 映射分类、回归;决策树、SVM、神经网络
无监督学习只有输入 x,无标签发现数据内在结构聚类(K-Means)、降维(PCA)、关联规则
半监督学习少量有标签 + 大量无标签利用结构信息降低标注成本自训练、协同训练
强化学习环境反馈奖励信号(无标准答案)学习使累计奖励最大的行动策略Q-learning、策略梯度、AlphaGo

按所用方法的内在机理,又可分为符号学习(归纳规则与树)、连接学习(神经网络)、统计学习(概率模型与核方法)与进化学习(遗传算法等)。

◆ 重要概念:泛化与过拟合
  • 泛化能力:模型对未见过的新数据的预测能力,是机器学习的真正目标;
  • 过拟合:模型把训练数据的噪声、特例也"背"了下来,训练误差很低但测试误差很高;
  • 欠拟合:模型过于简单,连训练数据的规律都未学到;
  • 常用对策:划分训练/验证/测试集、交叉验证、正则化(L1/L2)、剪枝、早停、增加数据、Dropout。
7.2

符号学习

符号学习从示例或经验中归纳出符号化的知识——规则、决策树或逻辑表达式,其结果可读、可解释,是机器学习最早成熟的分支。主要类型包括:

  • 记忆学习(机械学习):最基本的学习,直接存储输入输出对应关系,使用时检索即可,如查表、早期跳棋程序的"残局字典";
  • 示例学习(归纳学习):从若干正例与反例中归纳一般性概念或规则,如"版本空间"方法;
  • 观察发现学习:对观察数据进行概念聚类或规律发现;
  • 决策树学习:从数据中学习一棵以属性测试为节点的分类树,应用最为广泛。

决策树与 ID3 算法

决策树是一棵由"属性提问"构成的倒立树:每个内部节点是对某个属性的测试,每条分支对应一个取值,叶节点给出类别结论。预测新样本时,从根开始沿分支行走,到达的叶节点类别就是答案。

关键问题是:每一步应当先问哪个属性?昆兰(J. R. Quinlan)的 ID3 算法用信息增益回答这个问题。信息论中,熵度量集合的不纯度:

Entropy(S) = − Σi pi log2 pi
Gain(S, A) = Entropy(S) − Σv∈Values(A) |Sv|/|S| · Entropy(Sv)

信息增益表示"按属性 A 划分后,类别不确定性平均下降了多少"。ID3 每次选择信息增益最大的属性作为当前节点,递归建树,直到节点中的样本同类或无属性可用。

◆ 直觉示例:是否打网球

数据集记录天气(阴晴雨)、温度、湿度、风力及当天是否打球。14 个样本中 9 个"打"、5 个"不打",根节点熵为 0.94 bit。计算各属性的信息增益:天气约 0.25、湿度约 0.15、风力约 0.05、温度最小——因此根节点先问天气。晴天再按湿度细分,雨天按风力细分,最终得到一棵可直接阅读的判定树。后续 C4.5 算法改用信息增益率以克服偏好多值属性的缺陷,CART 则使用 Gini 系数并支持回归。

决策树的优点是模型直观、可解释性强、能处理混合类型特征;单棵树易过拟合,实践中常用集成学习把多棵树组合:随机森林(Bagging + 随机选特征)与梯度提升树(GBDT、XGBoost),后者长期是表格数据竞赛与工业界的主力模型。

7.3

连接学习

连接学习即基于神经网络的学习:知识表现为网络的连接权重,学习表现为按训练样本不断调整权重。其技术谱系在第 6 章已展开,这里从"学习"的角度梳理关键脉络。

  • 单层感知机(1958):最早的监督连接学习,误差驱动的权重修正规则,只能学习线性判别边界;
  • BP 多层网络(1986):用误差反向传播训练含隐藏层的网络,使连接学习能够解决 XOR 等非线性问题;
  • 深度学习(2006 至今):深层网络 + 大数据 + GPU,自动进行表示学习——从原始像素逐层学出边缘、部件、物体概念;CNN 统治视觉,Transformer 统治语言并走向多模态。

训练深度学习模型时,除了过拟合,还常面临梯度消失/爆炸(链式求导在深层累乘)、训练不稳定等问题,对应的工程手段包括 ReLU 激活、批归一化(BatchNorm)、残差连接(ResNet 的 skip connection)、各种优化器(Adam 等)与学习率调度。

7.4

统计学习

统计学习把学习问题视为在概率框架下从数据中估计依赖关系,代表算法有朴素贝叶斯、逻辑回归、隐马尔可夫模型、支持向量机(SVM)等,理论支柱包括 VC 维与结构风险最小化。

支持向量机(SVM)

面对线性可分的两类点,存在无数条能分开它们的直线。SVM 的回答是:选择离两类样本间隔(margin)最大的那条分类超平面——离超平面最近的点称为支持向量,最大间隔意味着对未见数据最"宽容",泛化能力有坚实的理论保证。

优化目标(软间隔) min ½‖w‖² + C·Σξi, 约束 yi(w·xi + b) ≥ 1 − ξi,ξi ≥ 0

对于线性不可分问题:

  • 软间隔:引入松弛变量 ξ 允许少量样本越界,参数 C 权衡"间隔大"与"错误少";
  • 核技巧(Kernel Trick):用核函数 K(xi, xj) 隐式计算高维空间中的内积,把数据映射到可分的高维空间,却无需显式表示——常用的有多项式核、高斯 RBF 核。经典的例子是二维中被圆环内外分开的两类点,在加入 x²+y² 维后变得线性可分。

SVM 在中小规模高维数据(文本分类、生物信息)上表现出色、可解释性好;随着数据规模爆炸与深度学习兴起,其使用比重下降,但最大间隔、核方法、结构风险等思想仍是机器学习理论的重要组成。

7.5

强化学习

强化学习(Reinforcement Learning,RL)研究智能体如何在与环境的试错交互中学会最优行动。没有人告诉它正确答案,它只能得到一个数值奖励信号,并以最大化长期累计奖励为目标。这与行为主义"奖惩塑造行为"的思想一脉相承。

五个基本要素

要素含义
智能体 Agent学习与决策的主体。
环境 Environment智能体所处并交互的世界,状态随动作改变。
状态 S / 动作 A对局面的描述;智能体可执行的操作。
奖励 R环境对动作的即时评价(得分、代价)。
策略 π状态到动作的映射,是学习的最终产物。

问题通常被形式化为马尔可夫决策过程(MDP)(S, A, P, R, γ):下一状态只依赖当前状态与动作(马尔可夫性),γ∈[0,1) 是折扣因子,体现"眼前奖励比远期奖励更重要"。智能体追求最大化折扣累计回报 G = Σ γt rt。

价值函数与 Q-learning

动作价值函数 Q(s,a) 表示在状态 s 执行动作 a、之后按最优策略行事,能获得的期望累计回报。经典的 Q-learning 用时间差分(TD)方式迭代更新:

Q(s,a) ← Q(s,a) + α [ r + γ · maxa'Q(s',a') − Q(s,a) ]

方括号内是"实际拿到的 r 加上下一状态的估计"与"旧估计"之差,即 TD 误差——用后继状态的新估计修正当前估计,是一种自举(bootstrapping)学习。动作选择需在探索(尝试新动作)与利用(选择当前最优)之间平衡,常用 ε-贪心策略。

当状态空间巨大时,Q 表无法枚举,于是用神经网络近似 Q 函数,即 DQN(深度强化学习)——AlphaGo、游戏 AI、机器人控制、大模型的对齐训练(RLHF)都建立在深度强化学习之上。强化学习的主要困难是样本效率低、奖励设计难、训练不稳定。

◆ 四大范式一句话辨析
  • 监督学习:老师拿着标准答案批改;
  • 无监督学习:自己找资料中的规律与类别;
  • 半监督学习:少量带答案的题 + 大量没答案的题;
  • 强化学习:在奖惩中摸爬滚打学做事。
7.6

交互演示:感知机线性分类

下面的二维平面就是感知机的训练现场。红色实心点与绿色空心点代表两个类别,金线是当前的分类边界 w1x + w2y + b = 0。你可以:

  • 点击"生成可分数据"获得一组围绕某条直线分布的线性可分样本,再点"连续训练",观察边界如何在误差驱动下旋转、平移,直到完全分开两类;
  • 选择类别后在画布上点击添加自己的样本,亲手构造数据;
  • 试着把两类点交错放置(线性不可分),观察边界为何始终无法稳定——体会明斯基指出的感知机局限。

感知机训练台

PERCEPTRON · ONLINE LEARNING
训练轮次 0 本轮正确率 — 随机初始化
◆ 观察与思考

① 边界的每次移动都对应某一个被分错样本的修正,这正是 w ← w + η·(t−y)·x 的几何效果。② 当两类线性可分时,感知机收敛定理保证算法在有限步内找到某条分界直线——但它找到的不一定是间隔最大的那条(那是 SVM 的追求)。③ 若数据线性不可分,权重将持续震荡,这一局限正是多层网络与核方法登场的原因。

7.7

自测与思考

什么是过拟合?列举至少三种缓解过拟合的方法。
过拟合指模型在训练集上表现极好,却把数据中的噪声与偶然细节也学了进去,导致在新数据上泛化很差。缓解方法:① 增加训练数据或数据增强;② 降低模型复杂度(决策树剪枝、减少网络规模);③ 正则化(L1/L2 权重惩罚);④ 交叉验证选择超参数;⑤ 早停、Dropout、集成学习(Bagging)等。
ID3 算法为什么选择信息增益最大的属性?
信息增益衡量按该属性划分后类别熵(不确定性)下降的平均幅度。增益最大意味着一次提问最大限度地"消除不确定性",使各分支中的样本尽可能纯,从而用更少的问题完成分类、得到更浅更小的树。
SVM 中的"最大间隔"为什么有利于泛化?核技巧解决了什么问题?
最大间隔超平面离两类样本都尽可能远,为新样本的测量误差与分布波动留出最大缓冲,因此在理论上有最好的泛化界。核技巧通过核函数隐式计算高维特征空间中的内积,使在原空间线性不可分的数据在高维空间变得可分,却无需显式构造高维映射,巧妙绕开了维数灾难。
强化学习与监督学习最本质的区别是什么?ε-贪心策略为何必要?
监督学习获得的是每个输入对应的正确标签;强化学习没有标准答案,只有延迟的、评价性的奖励信号,智能体必须通过试错发现哪个动作序列带来更大累计回报,且其动作会改变后续状态分布。ε-贪心以小概率随机探索、其余时间利用当前最优动作:只利用不探索可能错过更优策略并陷入局部最优,纯探索则学不到稳定策略,二者必须平衡。