8 周系统学习计划:《Convex Optimization》
30 Jun 2025基于 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.每周详细执行
- 阅读+笔记
- 梳理「定义/定理/直观几何图示」
- 练习题
- 每章挑重点 3–5 题:动手推导+编码实现
- 代码复现
- 用 CVX/CVXPY 或自实现算法,复现实验里的核心例子
- 周末小结
- 1–2 页短文:最难点、收获、未解疑问
3.拓展资源
- Stanford EE 364a 公开课(Boyd 授课,视频+习题)
- CVX 官方文档与示例(内点法实践)
- Boyd 等《Distributed Optimization and Statistical Learning via ADMM》
- GitHub 上 Convex Optimization 习题库与代码
Tip:开工前,先自评目标——“理论深究” 或 “工程应用”,我可帮你进一步微调节奏与侧重。祝学习愉快!