【Boyd 凸优化】1. Introduction

0. 前言

斯坦福大学的 Stephen Boyd 教授课程: Convex Optimization 凸优化

1. Introduction

1.1 Mathematical optimization problems 最优化问题

最优化问题的形式为:
minimize         f 0 ( x ) subject to       f i ( x ) ≤ b i , i = 1 , . . . , m \begin{align} &\text{minimize }\;\;\; f_0(x) \\ &\text{subject to } \;\;f_i(x) \leq b_i, i=1,...,m \end{align} minimize f0(x)subject to fi(x)bi,i=1,...,m

  • x = ( x 1 , . . . , x n ) x=(x_1,...,x_n) x=(x1,...,xn): optimization variables.
  • f 0 : R n → R f_0: \mathbb{R}^n\rightarrow \mathbb{R} f0:RnR 为 objective function (目标函数).
  • f i : R n → R f_i: \mathbb{R}^n\rightarrow \mathbb{R} fi:RnR 为 constraint functions (约束函数).
  • 最优解 x ∗ x^* x: 满足约束条件且 f 0 ( x ∗ ) ≤ f 0 ( x ) f_0(x^*)\leq f_0(x) f0(x)f0(x), 其中 x x x 为任意满足约束的向量.

最优化问题可以应用于很多场景, 比如投资, 设计电子元件等, 对于学计算机的学生来说, 最熟悉的应用就是模型的优化或数据的拟合, 比如

  • x x x 是模型的参数.
  • f i f_i fi 为参数的限制条件.
  • f 0 f_0 f0为模型预测的错误率/ 损失函数等.

优化问题往往都很难解, 但也有一些例外, 比如 least squares problems (最小二乘), linear programs (线性规划) 和 convex optimization (凸优化). 其中, 最小二乘问题和线性规划问题可以视为凸优化的特殊形式. 在分别介绍它们之前, 让我们了解下 linear 和 convex 两个概念:

1.1.1 Linear function 线性函数

如果函数 f ( x ) f(x) f(x) 满足以下等式, 则称为线性函数:
f ( α x 1 + β x 2 ) = α f ( x 1 ) + β f ( x 2 ) f(\alpha x_1+\beta x_2) = \alpha f(x_1) + \beta f(x_2) f(αx1+βx2)=αf(x1)+βf(x2)
其中 α , β \alpha, \beta α,β 为标量.
如果目标函数和约束函数均为线性函数, 此时的优化问题称为 linear program.

1.1.2 Convex function 凸函数

如果函数 f ( x ) f(x) f(x) 满足以下不等式, 则称为 convex function:
f ( a x 1 + b x 2 ) ≤ a f ( x 1 ) + b f ( x 2 ) f(a x_1+b x_2) \leq a f(x_1) + b f(x_2) f(ax1+bx2)af(x1)+bf(x2)
其中 a , b ∈ [ 0 , 1 ] a, b \in [0,1] a,b[0,1]. 相反, 若不等号为大于等于, 则函数称为 concave function
(convex 例子: x 2 , ∣ x ∣ x^2, |x| x2,x; concave 例子: log ⁡ x , x \log x, \sqrt{x} logx,x ).
如果目标函数和约束函数均为凸函数, 此时的优化问题称为 convex optimization.

1.2 Least-square problems 最小二乘问题

minimize  f 0 ( x ) = ∣ ∣ A x − b ∣ ∣ 2 2 \text{minimize } f_0(x)=||Ax-b||_2^2 minimize f0(x)=∣∣Axb22
没有约束且目标函数是向量 A x − b Ax-b Axb ℓ 2 \ell_2 2 norm 的平方, 即每个元素的平方之和.

  • 这类问题能够推出 analytical solution (解析解): x ∗ = ( A T A ) − 1 A T b x^*=(A^T A)^{-1}A^T b x=(ATA)1ATb.
  • 已有高效且可靠的算法和软件能够解决这类问题.
  • 计算的时间复杂度为 n 2 k n^2 k n2k ( k k k 为矩阵 A A A 的另一维度), 技术成熟

初学机器学习时大家应该都见过这个形式, i.e. 在 regression 中, A A A 为数据点组成的矩阵, b b b 为数据点对应的值, 选择 square loss function 则可以得到这个解析解; 在 maximum likelihood estimation (最大似然估计) 中, 若选择 Gaussian noise 和 square loss function, 同样得到以上形式. 可见 least square problems 的应用性.

1.3 Linear programming 线性规划

minimize         c T x subject to       a i T x ≤ b i , i = 1 , . . . , m \begin{align} &\text{minimize }\;\;\; c^T x \\ &\text{subject to }\;\; a_i^T x \leq b_i, i=1,...,m \end{align} minimize cTxsubject to aiTxbi,i=1,...,m
其中, c , a i , x c, a_i, x c,ai,x 都是 n 维向量, b i b_i bi 是标量. 显然, 目标函数和约束都是线性的.

  • 这类问题没有解析解, 但同样地, 已有高效且可靠的算法和软件能够解决这类问题.
  • 计算的时间复杂度为 n 2 m n^2 m n2m, 技术成熟

1.4 Convex optimization 凸优化

minimize         f 0 ( x ) subject to       f i ( x ) ≤ b i , i = 1 , . . . , m \begin{align} &\text{minimize }\;\;\; f_0(x) \\ &\text{subject to } \;\;f_i(x) \leq b_i, i=1,...,m \end{align} minimize f0(x)subject to fi(x)bi,i=1,...,m
其中目标函数和约束均为凸函数, 即满足前面1.1.2 中的不等式.

  • 这类问题没有解析解, 已有高效且可靠的算法能够解决这类问题.
  • 计算的时间复杂度为 max ⁡ { n 3 , n 2 m , F } \max\{n^3, n^2 m, F\} max{n3,n2m,F} ( F F F 为计算目标函数和约束一阶二阶导的消耗)

可以发现, 当给定了目标函数和约束函数, 这些问题都有相对成熟的解决技术. 但在应用中, 如何用数学将问题表达成(5)(6)这样的凸优化形式并不容易. 所以这本书的主要目的就是教会大家如何使用一些技术将问题转化为 convex 形式, 并用凸优化技术解决问题.

1.5 Nonlinear optimization

又称为 nonlinear programming, 非线性规划, 这类问题中的目标函数和约束是非线性的且未知是否为 convex.

  • Local optimization methods
    即寻找函数局部的最优解, 这种方式的计算很快(i.e. 函数求导), 能处理大规模问题, 且应用广泛.
    但解决这类问题需要有优化参数的初始假设, 得到的结果与这个初始值有很大关系. 且算出的局部最优解对寻找全局最优解没什么帮助.
  • Global optimization methods
    即寻找函数整个定义域上的最优解, 计算复杂度高, 难度大.
  • 19
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Manigoldo_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值