读书笔记 - 人工智能:现代方法,第五部分:机器学习
第19章:样例学习
本章围绕监督学习展开,重点介绍如何通过示例数据训练模型,并探讨了机器学习的关键概念、方法和理论。主要内容包括:
1. 学习的基本形式
- 监督学习:通过带标签的输入-输出对 ((x, y)) 学习函数 (y = h(x))。
- 分类(输出离散类别,如垃圾邮件检测)。
- 回归(输出连续值,如房价预测)。
- 无监督学习:从无标签数据中发现模式(如聚类)。
- 强化学习:通过奖励/惩罚信号优化行为(如游戏AI)。
2. 关键目标
- 泛化能力:模型需在未见过的数据上表现良好,而非仅拟合训练数据。
- 偏差-方差权衡:
- 高偏差(欠拟合):模型过于简单(如线性模型拟合非线性数据)。
- 高方差(过拟合):模型过于复杂(如高阶多项式拟合噪声数据)。
- 奥卡姆剃刀原则:优先选择能解释数据的最简单假设。
3. 决策树学习
- 表示能力:可表达任意布尔函数,但可能过于复杂。
- 信息增益:选择分裂属性时,优先降低不确定性(熵)。
- 剪枝:通过验证集防止过拟合(如χ²剪枝)。
- 优缺点:易解释,但对噪声敏感,可能不稳定。
4. 模型评估与选择
- 训练/验证/测试集:
- 用验证集调参(如树深度),测试集评估最终性能。
- 交叉验证(如k折)在小数据集中更有效。
- 学习曲线:展示测试准确率随训练数据量的变化,判断是否需要更多数据。
- 损失函数:量化预测误差(如0/1损失、均方误差),分类问题需考虑类别不平衡。
5. 线性模型
- 线性回归:最小化平方误差损失,闭式解或梯度下降优化。
- 逻辑回归:用Sigmoid函数输出概率,适合分类。
- 正则化:
- L1(Lasso):产生稀疏权重,自动特征选择。
- L2(Ridge):平滑权重,防止过拟合。
6. 非参数模型
- k近邻(k-NN):基于局部相似性预测,无需显式训练,但计算开销大。
- 维度灾难:高维数据中距离度量失效,需特征缩放或降维。
- 核方法:如局部加权回归,对邻近点赋予更高权重。
7. 支持向量机(SVM)
- 最大间隔分类器:寻找分离超平面,最大化边界。
- 核技巧:通过核函数(如多项式、高斯核)隐式映射到高维空间,解决非线性可分问题。
8. 集成学习
- Bagging(如随机森林):通过自助采样构建多个模型,投票降低方差。
- Boosting(如AdaBoost):迭代调整样本权重,聚焦难例,减少偏差。
- 梯度提升树(GBRT):用梯度下降优化加法模型,高效处理结构化数据。
- Stacking:组合不同基模型的输出,用元模型学习最优加权。
9. 实践要点
- 数据工程:清洗、归一化、处理缺失值/异常值,特征工程至关重要。
- 模型解释性:
- 决策树、线性模型易解释。
- 黑箱模型(如神经网络)需LIME等工具提供事后解释。
- 部署与监控:
- 应对数据分布漂移(如垃圾邮件策略变化)。
- 自动化测试、版本控制、性能仪表盘。
10. 理论保障
- PAC学习:在概率近似正确框架下,分析样本复杂性和假设空间大小。
- 没有免费午餐定理:不存在万能最优算法,需针对问题选择合适模型。
关键公式与算法
- 信息增益:$\text{Gain}(A) = H(Y) - H(Y \vert A)$。
- 逻辑回归更新:$w_i \leftarrow w_i + \alpha (y - h_w(x)) h_w(x)(1 - h_w(x)) x_i$。
- AdaBoost权重更新:$w_k \leftarrow w_k \cdot \beta^{\mathbb{I}(y \neq h_k(x))}$。
总结
本章系统介绍了监督学习的核心方法,从决策树到线性模型、核方法、集成学习,并强调模型选择、评估及实际部署中的挑战。理解这些基础为后续复杂模型(如神经网络)的学习奠定基础。
第21章:学习概率模型
21.1 统计学习
本章探讨了如何通过观察数据学习概率模型,将学习视为一种不确定推理形式。贝叶斯学习通过计算假设的后验概率进行预测,结合先验和似然,适用于噪声和过拟合问题。最大后验(MAP)和最大似然(ML)学习是简化方法,前者引入假设先验,后者假设均匀先验。贝叶斯方法在小数据集中表现更优,而ML在大数据下近似贝叶斯。
21.2 完整数据下的学习
- 最大似然参数学习(离散模型) 通过最大化似然函数估计参数,如糖果例子中通过频率估计类别比例。多项式分布和朴素贝叶斯是典型应用。
- 朴素贝叶斯模型 假设特征条件独立,适合大规模分类问题,但对强相关特征可能过于自信。
- 生成模型与判别模型 生成模型(如朴素贝叶斯)建模联合分布,判别模型(如逻辑回归)直接学习决策边界。生成模型在小数据中表现更好。
- 连续模型的最大似然学习 高斯分布的参数通过样本均值和方差估计,线性回归的平方误差最小化等价于高斯噪声下的最大似然估计。
- 贝叶斯参数学习 引入先验分布(如Beta分布),通过数据更新后验。适用于小数据集,避免极端估计。
- 贝叶斯线性回归 通过贝叶斯推断处理参数不确定性,预测方差随数据点距离增加,更符合实际。
- 贝叶斯网络结构学习 通过搜索和评分选择最优结构,需权衡模型复杂度和拟合度。结构EM算法同时优化结构和参数。
- 非参数密度估计 如k近邻和核方法,直接依赖数据点分布,无需固定参数形式,灵活性高。
21.3 隐变量学习:EM算法
- 无监督聚类(高斯混合模型) EM算法迭代优化模型参数:E步计算隐变量后验,M步更新参数。适用于数据类别未知的情况。
- 贝叶斯网络隐变量参数学习 通过EM推断隐变量后验,更新网络参数。结构学习需处理隐变量引入的非可识别性问题。
- 隐马尔可夫模型学习 用EM估计转移概率,平滑算法计算状态后验。
- EM算法通用形式 E步计算隐变量期望,M步最大化似然。适用于多种概率模型,近似推断方法(如MCMC)可扩展至复杂网络。
- 隐变量的贝叶斯网络结构学习 结构EM同时优化结构和参数,但计算复杂,需高效近似方法。
总结
统计学习方法从简单统计到复杂概率模型构建,广泛应用于多个领域。核心思想包括:
- 贝叶斯学习通过先验和似然结合实现奥卡姆剃刀。
- MAP和ML学习简化计算,后者需大数据支持。
- EM算法处理隐变量,适用于混合模型、贝叶斯网络和HMM。
- 结构学习需平衡模型复杂度与拟合度,非参数方法灵活但计算量大。
未来研究方向包括更高效的结构学习算法和非参数贝叶斯方法的扩展。统计学习在理论和实践上的进步使其成为AI的核心工具之一。
第22章 深度学习总结
本章概述
本章介绍了深度学习的基本概念、技术方法及其在人工智能各子领域的重大影响。深度学习通过梯度下降学习多步程序,使用复杂的代数电路作为假设形式,其中”深度”指电路通常组织成多层结构。
主要内容
22.1 简单前馈网络
- 网络结构:前馈网络形成有向无环图,信息单向流动;循环网络则将中间或最终输出反馈回自身输入
- 单元计算:每个单元计算前驱节点输入的加权和,然后应用非线性激活函数
- 激活函数:常用函数包括逻辑S型函数、ReLU函数、softplus函数和tanh函数
- 通用逼近定理:仅需两层计算单元(第一层非线性,第二层线性)即可任意精度逼近任何连续函数
22.2 深度学习计算图
- 输入编码:连续属性直接使用,分类属性采用独热编码
- 输出层与损失函数:常用softmax层处理多类分类,线性输出层处理回归问题
- 隐藏层:通过多层转换形成数据的中间表示,深层网络通常比浅层网络表现更好
22.3 卷积网络
- 核心思想:利用局部连接和权重共享处理网格拓扑数据(如图像)
- 卷积操作:使用核在输入上滑动计算局部特征
- 池化:通过平均池化或最大池化降低分辨率
- 残差网络:通过添加残差连接解决梯度消失问题,支持极深层网络
22.4 学习算法
- 训练方法:主要使用随机梯度下降(SGD)及其变体
- 反向传播:通过计算图高效计算梯度,应用链式法则
- 批归一化:标准化每层的输入,加速训练并提高稳定性
22.5 泛化
- 网络架构选择:卷积网络适合图像,循环网络适合序列数据
- 权重衰减:L2正则化防止过拟合
- Dropout:随机禁用单元,近似训练多个网络
22.6 循环神经网络
- 基本RNN:通过循环连接保持内部状态,但存在梯度消失/爆炸问题
- LSTM:引入记忆单元和门控机制,有效学习长期依赖
22.7 无监督学习与迁移学习
- 无监督学习:包括表示学习和生成模型,如变分自编码器(VAE)和生成对抗网络(GAN)
- 迁移学习:通过预训练模型在新任务上微调,减少对标注数据的需求
22.8 应用领域
- 计算机视觉:图像分类、目标检测等
- 自然语言处理:机器翻译、文本生成等
- 强化学习:游戏AI、机器人控制等
历史背景
深度学习起源于McCulloch和Pitts(1943)对大脑神经元网络的早期建模工作。经历了多次兴衰,直到2012年AlexNet在ImageNet竞赛中的突破性表现才引发广泛关注。随着大数据、GPU计算和算法改进,深度学习已成为AI领域最成功的方法之一。
现状与挑战
尽管深度学习在许多任务上表现优异,但仍面临解释性差、对抗样本脆弱、数据需求大等挑战。未来研究可能集中在提高效率、增强鲁棒性和发展新型架构等方面。
第23章总结:强化学习
23.1 从奖励中学习
- 监督学习与强化学习的区别:监督学习通过被动观察输入-输出对学习,而强化学习通过主动与环境交互,从成功或失败中学习。
- 奖励信号的优势:奖励信号比标记数据更易于指定,且不需要专家提供具体行为示例。
- 稀疏奖励问题:稀疏奖励环境下,学习效率较低,可通过提供中间奖励(如游戏得分或赛车进度)加速学习。
23.2 被动强化学习
- 直接效用估计:将状态效用定义为从该状态开始的期望总奖励,通过样本平均收敛到真实效用。但忽略了状态间的关联性。
- 自适应动态规划(ADP):通过学习环境模型并求解MDP,利用动态规划计算效用函数。效率高但计算复杂度高。
- 时序差分学习(TD):通过调整效用估计使其与后续状态一致,无需模型,计算简单但收敛较慢。
23.3 主动强化学习
- 探索与利用的权衡:贪婪策略可能导致局部最优,需通过探索策略(如GLIE)平衡。
- 安全探索:在不可逆动作或危险环境中,需确保策略的安全性,如使用贝叶斯强化学习或鲁棒控制理论。
- Q学习:学习动作-效用函数Q(s, a),无需模型,直接选择最优动作。SARSA是Q学习的变体,适用于在线策略学习。
23.4 强化学习中的泛化
- 函数逼近:在大状态空间中,使用线性或非线性函数(如神经网络)逼近效用函数或Q函数。
- 深度强化学习:通过深度神经网络逼近Q函数或策略,已在游戏和机器人控制中取得显著成果。
- 奖励塑形与分层强化学习:通过中间奖励和分层策略解决稀疏奖励和长序列动作问题。
23.5 策略搜索
- 策略表示:参数化策略(如基于Q函数的策略或随机策略),通过优化参数提升性能。
- 策略梯度方法:通过梯度上升优化策略值,适用于随机策略和非确定性环境。
23.6 学徒学习与逆强化学习
- 模仿学习:通过专家行为样本学习策略,但可能缺乏鲁棒性。
- 逆强化学习(IRL):从专家行为推断奖励函数,生成鲁棒策略。适用于复杂任务(如自动驾驶)。
23.7 强化学习的应用
- 游戏:如TD-Gammon和AlphaGo,通过深度强化学习实现超人类表现。
- 机器人控制:如倒立摆和直升机飞行,结合策略搜索和模仿学习解决复杂控制问题。
总结
强化学习通过奖励信号和交互学习,适用于广泛领域。核心方法包括模型学习、时序差分、Q学习和策略搜索。深度强化学习在复杂任务中表现突出,但仍需解决泛化性和安全性问题。未来发展方向包括更高效的探索策略和分层学习方法。