知识点:凸和非凸优化

知识点概述

凸优化是研究在凸集上极小化凸函数的问题,它是非线性规划中性质最好、理论最完善、算法最有效的分支。其核心特点是任何局部最优解都是全局最优解。

教材原文

凸优化问题是指最小化问题 (1.1.1) 中的目标函数和可行域分别是凸函数和凸集。如果其中有一个或者两者都不是凸的,那么相应的最小化问题是非凸优化问题。因为凸优化问题的任何局部最优解都是全局最优解,其相应的算法设计以及理论分析相对非凸优化问题简单很多。

详细解释

  • 凸优化 (Convex Optimization):
    • 形式: s.t. ,其中 是凸函数, 是凸集。
    • 核心性质: 局部最优即全局最优。这使得我们不必担心算法会陷入一个不好的局部解。
    • 理论与算法: 拥有成熟的对偶理论和高效的算法(如内点法),可以可靠地求解大规模问题。
  • 非凸优化 (Non-convex Optimization):
    • 形式: 目标函数非凸,或可行域非凸。
    • 特点: 可能存在多个局部最优解,它们的值可能远差于全局最优解。找到全局最优解通常是NP难的。
    • 求解: 算法(如梯度下降)通常只能保证收敛到局部最优解或稳定点。深度学习就是最典型的非凸优化应用。

学习要点

  • 掌握凸优化的定义(凸函数 + 凸集)。
  • 牢记凸优化的黄金法则:“局部最优即全局最优”。
  • 理解凸优化与非凸优化在求解难度上的巨大差异。
  • 能够判断一个简单问题是否为凸问题。

实践应用

  • 凸优化: 线性规划、二次规划、支持向量机、LASSO、几何规划等。
  • 非凸优化: 深度神经网络训练、矩阵分解、聚类问题、大部分整数规划问题。

关联知识点