8 周系统学习计划:《Convex Optimization》

基于 Boyd & Vandenberghe 著《Convex Optimization》,配合动手实践与阅读笔记,帮助你扎实掌握凸优化理论与算法。


0.前期准备

  • 线性代数:向量/矩阵运算、特征值分解
  • 凸集与凸函数基本概念、最小二乘
  • 安装好 MATLAB+CVX,或 Python+CVXPY 环境

1.周计划总览

周次 主题 核心内容 周任务
第 1 周 第 1 章 凸集与凸子集 凸集定义、凸组合、Carathéodory 定理 习题 1.1–1.5;用 Python 画不同凸集示例
第 2 周 第 2 章 凸函数与凸分析 凸函数判定(Hessian)、Jensen 不等式、次梯度 习题 2.1–2.6;手推二次函数、指数函数凸性;实现次梯度算法
第 3 周 第 3 章 凸优化模型与例子 LP/QP/SOCP/SDP 基本形式;稀疏回归、正则最小二乘实例 习题 3.1–3.4;CVX 写 Lasso 回归和带约束最小二乘示例
第 4 周 第 4 章 对偶性与最优性条件 Lagrangian 构造;弱/强对偶;KKT 条件 习题 4.1–4.5;推导线性规划对偶;验证具体 KKT 实例
第 5 周 第 5 章 无约束与等式约束优化 梯度下降、最速下降;牛顿法;收敛性分析 习题 5.1–5.3;Python 实现牛顿法解简单非线性问题
第 6 周 第 6 章 不等式约束优化与内点法 Log-barrier/中心路径;原始-对偶内点法 习题 6.1–6.4;CVX 求解含不等式约束 QP,并对比内点法收敛效果
第 7 周 第 7 章 ADMM 与分布式优化(选读) 交替方向乘子法(ADMM)框架;分布式优化思路 ADMM 求 Lasso;对比集中式 vs 分布式收敛速度
第 8 周 综合项目与拓展阅读 基于凸优化的 SVM/Sparse PCA/自拟小课题 撰写项目报告并分享代码;选读《Convex Optimization Applications》

2.每周详细执行

  1. 阅读+笔记
    • 梳理「定义/定理/直观几何图示」
  2. 练习题
    • 每章挑重点 3–5 题:动手推导+编码实现
  3. 代码复现
    • 用 CVX/CVXPY 或自实现算法,复现实验里的核心例子
  4. 周末小结
    • 1–2 页短文:最难点、收获、未解疑问

3.拓展资源

  • Stanford EE 364a 公开课(Boyd 授课,视频+习题)
  • CVX 官方文档与示例(内点法实践)
  • Boyd 等《Distributed Optimization and Statistical Learning via ADMM》
  • GitHub 上 Convex Optimization 习题库与代码

Tip:开工前,先自评目标——“理论深究” 或 “工程应用”,我可帮你进一步微调节奏与侧重。祝学习愉快!