机器学习与模式识别 第十一章 优化于梯度下降 考点压缩

第十一章:Optimization and Gradient Descent --- 知识点笔记

综合来源:Lecture 11 PDF(62页)、课堂笔记(CSDN)


占位图

11.1 优化问题

一般形式

w∗=arg⁡min⁡w∈Θf(w)\mathbf{w}^* = \arg\min_{\mathbf{w}\in\Theta} f(\mathbf{w})w∗=argw∈Θminf(w)

  • f(w)f(\mathbf{w})f(w):目标函数(ML中=损失/误差函数,依赖数据)
  • Θ\ThetaΘ:约束集(ML中最常见=RD\mathbb{R}^DRD无约束)

凸函数 ⭐

定义 :∀w1,w2∈Θ,0≤t≤1\forall w_1,w_2\in\Theta, 0\leq t\leq 1∀w1,w2∈Θ,0≤t≤1:

f(tw1+(1−t)w2)≤tf(w1)+(1−t)f(w2)f(tw_1+(1-t)w_2) \leq tf(w_1)+(1-t)f(w_2)f(tw1+(1−t)w2)≤tf(w1)+(1−t)f(w2)

两点间的函数值 ≤\leq≤ 割线上的值

凸集:集合中任意两点连线仍在集合中。

  • 凸函数+凸约束→可高效求解
  • 最小二乘、逻辑回归→
  • 深度学习→非凸(但仍用凸优化技术)

11.2 梯度与Hessian ⭐

梯度

∇f(x)=∂f∂x1⋮∂f∂xD\nabla f(\mathbf{x}) = \begin{bmatrix} \frac{\partial f}{\partial x_1} \\ \vdots \\ \frac{\partial f}{\partial x_D} \end{bmatrix}∇f(x)= ∂x1∂f⋮∂xD∂f

  • 梯度指向最陡上升方向
  • 梯度=0 → 驻点(最小值/最大值/鞍点)
  • 梯度在定义域中(不在函数曲面上)

Hessian矩阵

H=∇2f=∂2f∂x12⋯∂2f∂x1∂xD⋮⋱⋮∂2f∂xD∂x1⋯∂2f∂xD2H = \nabla^2 f = \begin{bmatrix} \frac{\partial^2 f}{\partial x_1^2} & \cdots & \frac{\partial^2 f}{\partial x_1\partial x_D} \\ \vdots & \ddots & \vdots \\ \frac{\partial^2 f}{\partial x_D\partial x_1} & \cdots & \frac{\partial^2 f}{\partial x_D^2} \end{bmatrix}H=∇2f= ∂x12∂2f⋮∂xD∂x1∂2f⋯⋱⋯∂x1∂xD∂2f⋮∂xD2∂2f

  • Hessian描述函数的局部曲率
  • 特征值决定临界点类型:
特征值 驻点类型
全部>0 局部最小值
全部<0 局部最大值
混合 鞍点

11.3 梯度下降算法 ⭐⭐

核心公式

w(τ+1)=w(τ)−η∇E(w(τ))w^{(\tau+1)} = w^{(\tau)} - \eta \nabla E(w^{(\tau)})w(τ+1)=w(τ)−η∇E(w(τ))

超参数

  • η\etaη:学习率(典型小值0<η<1)
  • τmax\tau_{max}τmax:最大迭代次数

停止条件 :权重变化 < 阈值ϵ\epsilonϵ

为什么叫"Batch" GD

每次更新使用全部训练数据计算梯度

损失曲线

  • 训练误差:持续下降
  • 验证误差:先降后升→过拟合→选验证误差最低点

11.4 二次近似与收敛性 ⭐⭐

二阶泰勒展开

E(w)≈E(w^)+(w−w^)Tb+12(w−w^)TH(w−w^)E(w) \approx E(\hat{w}) + (w-\hat{w})^T b + \frac{1}{2}(w-\hat{w})^T H (w-\hat{w})E(w)≈E(w^)+(w−w^)Tb+21(w−w^)TH(w−w^)

  • b=∇E(w^)b = \nabla E(\hat{w})b=∇E(w^)(梯度向量)
  • H=∇2E(w^)H = \nabla^2 E(\hat{w})H=∇2E(w^)(Hessian矩阵)

在驻点处(b=0b=0b=0)

Hessian特征分解 Hui=λiuiHu_i = \lambda_i u_iHui=λiui,变量代换 w−w∗=∑αiuiw-w^* = \sum \alpha_i u_iw−w∗=∑αiui:

E(α)=E(w∗)+12∑iαi2λiE(\alpha) = E(w^*) + \frac{1}{2}\sum_i \alpha_i^2 \lambda_iE(α)=E(w∗)+21i∑αi2λi

GD收敛条件

αi(τ)=(1−ηλi)ταi(0)\alpha_i^{(\tau)} = (1 - \eta\lambda_i)^\tau \alpha_i^{(0)}αi(τ)=(1−ηλi)ταi(0)

收敛要求 :∣1−ηλi∣<1|1-\eta\lambda_i| < 1∣1−ηλi∣<1 对所有iii

→ η<2λmax\eta < \frac{2}{\lambda_{max}}η<λmax2


11.5 条件数与收敛速度 ⭐

条件数

κ=λmaxλmin\kappa = \frac{\lambda_{max}}{\lambda_{min}}κ=λminλmax

  • κ\kappaκ小→良态→GD收敛快
  • κ\kappaκ大→病态→慢!
  • 最慢收敛维度:∣1−2λmaxλmin∣≈1−2κ|1-\frac{2}{\lambda_{max}}\lambda_{min}| \approx 1-\frac{2}{\kappa}∣1−λmax2λmin∣≈1−κ2

GD的问题

问题 原因 效果
收敛慢 误差曲面平坦 η\etaη太小→步长小
震荡 病态条件 η\etaη太大→在陡方向来回跳

11.6 动量(Momentum)⭐

公式

Δw(τ)=−η∇E(w(τ))+μΔw(τ−1)\Delta w^{(\tau)} = -\eta \nabla E(w^{(\tau)}) + \mu \Delta w^{(\tau-1)}Δw(τ)=−η∇E(w(τ))+μΔw(τ−1)

w(τ+1)=w(τ)+Δw(τ)w^{(\tau+1)} = w^{(\tau)} + \Delta w^{(\tau)}w(τ+1)=w(τ)+Δw(τ)

  • μ∈[0,1)\mu \in [0,1)μ∈[0,1):动量超参数(典型0.9)

动量如何帮助

场景 效果 有效学习率
平坦方向(梯度≈恒定) 加速 η1−μ\frac{\eta}{1-\mu}1−μη(几何级数累加)
震荡方向(梯度交替变号) 减速 η1+μ\frac{\eta}{1+\mu}1+μη(交替级数抵消)

动量=历史梯度的指数加权移动平均→加速平坦方向+平滑震荡方向


笔记中的图片索引

序号 图片内容描述 来源位置
图1 凸函数vs非凸函数 Lecture 11 第8页
图2 梯度指向最陡上升方向 Lecture 11 第16-17页
图3 最小值vs最大值vs鞍点 Lecture 11 第20页
图4 GD迭代直观过程 Lecture 11 第24-34页
图5 Hessian特征值决定临界点类型 Lecture 11 第51页
图6 病态条件数导致GD震荡 Lecture 11 第58页
图7 动量效应:平坦加速+震荡减速 Lecture 11 第60-61页

笔记整理时间:2026年6月28日

相关推荐
想会飞的蒲公英1 小时前
TF-IDF + 随机森林中文文本分类全链路实战:从训练脚本到 Flask API + Streamlit 前端
人工智能·pytorch·python·随机森林·分类·flask·tf-idf
AI服务老曹1 小时前
摄像机安装AI视频分析参数配置说明:POC现场交付全流程指南
人工智能·音视频
FriendshipT1 小时前
Ultralytics:解读C3模块
人工智能·pytorch·python·深度学习·目标检测
极光代码工作室1 小时前
基于深度学习的异常行为检测系统
人工智能·python·深度学习·神经网络·机器学习
阿拉斯攀登1 小时前
RAG 性能优化:缓存、批量与并发
人工智能·缓存·性能优化·embedding·agent·loop·rag
次旅行的库1 小时前
解决ValueError: too many values to unpack (expected 2)
linux·人工智能·深度学习·机器学习·推荐算法
小呀小叮当~1 小时前
OpenAI Codex 桌面版(Windows / macOS)体验分享:AI 编程效率再次提升
人工智能·windows·macos
syty20201 小时前
对深度学习的理解
人工智能·深度学习
东坡肘子2 小时前
当 Linux 成为“空气”:容器、Agent 与不再重要的“桌面之争” -- 肘子的 Swift 周报 #143
人工智能·swiftui·swift