认为学习凸优化理论比较合适的路径是:
-
学习/复习线性代数和(少量)高等数学的知识。
实际上,凸优化理论综合使用了线性代数和微积分的相关知识,比如方向导数,雅克比矩阵,海森矩阵,KKT条件等。这里强烈推荐MIT公开课《线性代数》,Gilbert Strang教授主讲,完全不是照本宣科,而是注重几何解释,非常具有启发性,学完之后,你会对线性代数有全新的认识。 -
学习《Optimization Model》
实际上,这本书分为三部分,分别是线性代数模型、凸优化模型、工程应用。时间紧的同学可以直接学习第二部分, 不过我强烈建议你把第一部分也复习一遍。另外,可以结合方述诚教授的《线性规划》(该课程已下线),学习效果更佳。《Optimization Model》真的是凸优化学习之路上的第一本书啊。整本书好像知道初学者哪里不会,哪里不懂似的,总是在你理解有困难的时候提供帮助。而且,本书在最开始还提供了线性代数的相关知识,对于后续课程的学习大有裨益,这也是Boyd的书所缺乏的。后来才知道,这本书是美国加州大学伯克利分校上课的教材,作者Laurent El Ghaoui确实了解学生学习的难度。电子版资料:下载优化模型 - 12 MB (zlib.pub)
-
陆教授写了一本书《Practical Optimization Algorithms and Engineering》,而该课程基本上就是按照这本书的内容讲授,只不过速度比较快。陆老师讲课深入浅出,非常让人容易接受。课程内容也是干货十足,不仅有传统的线性规划,还讲到了正定规划和多项式规划。加拿大维多利亚大学陆吾生教授在华东师范大学讲授的暑期课程,视频详解:陆吾生最优化课程2007_哔哩哔哩_bilibili,线上阅读:Practical Optimization: Algorithms and Engineering Applications | Andreas Antoniou, Wu-Sheng Lu | download on Z-Library
-
学习《Convex Optimization》
有了1和2的准备,其实《Convex Optimization》这本书已经差不多学习了80%,剩下的就是丰满自己的羽翼啦,把各个知识点串起来,形成网络。Boyd的《凸优化》分分为三部分:理论,应用和算法。理论部涉及:凸集合,凸函数,凸优化问题,优化条件,对偶等内容。应用部分主要是将工程中常见的问题抽象为凸优化问题。而算法部分主要是以内点法为主。这一阶段,建议观看中科大老师凌青(现已跳槽中山大学)的视频课程《最优化理论》, 其内容安排和书基本一致,凌老师讲课细致入微,由浅入深,广受好评。[凸优化-中文字幕]Boyd斯坦福公开课:[凸优化-中文字幕]Boyd斯坦福公开课_哔哩哔哩_bilibili 凸优化资源合集 - Boyd著作中英双语版及学习资料:凸优化资源合集-Boyd著作中英双语版及学习资料:本仓库汇聚了《Convex Optimization》的宝贵资源,包括Boyd原著的英文版以及王会宁先生翻译的中文版。此外,我们还囊括了一系列辅助学习材料,如讲义、英文版问题解答等,旨在为对凸优化感兴趣的学者和学生提供一站式学习解决方案。凸优化在众多领域中扮演着核心角色,涉及从工程设计到机器学习的广泛应用。本书由Stephen P. Boyd教授所著,是该领域的经典之作。它不仅深入浅出地介绍了凸集与函数的基础概念,还详尽解析了各类凸优化问题的结构,并展示了如何高效解决这些问题 - GitCodehttps://gitcode.com/open-source-toolkit/73a6b/overview?utm_source=tools_gitcode&index=bottom&type=card&&isLogin=1 -
(建议)如果你有时间,还可以再看看台湾Chong -yung Chi老师写的一本书《Convex Optimization in signal and communication》,虽然书名是一本应用导向的书,但其实主要内容是理论和算法,真正应用的部分不算多。关键是讲解很细致。
参考:我的凸优化学习之路 | 韩鼎の个人网站 (deanhan.com)