Convex Optimization Note 1 | Introduction

凸优化,或叫做凸最优化,凸最小化,是数学最优化的一个子领域,研究定义于凸集中的凸函数最小化的问题。凸优化在某种意义上说较一般情形的数学最优化问题要简单,譬如在凸优化中局部最优值必定是全局最优值。凸函数的凸性使得凸分析中的有力工具在最优化问题中得以应用,如次导数等。凸优化应用于很多学科领域,诸如自动控制系统,信号处理,通讯和网络,电子电路设计,数据分析和建模,统计学(最优化设计),以及金融。在近来运算能力提高和最优化理论发展的背景下,一般的凸优化已经接近简单的线性规划一样直捷易行。许多最优化问题都可以转化成凸优化(凸最小化)问题,例如求凹函数 f 最大值的问题就等同于求凸函数 -f 最小值的问题。[1]下面的这些理论证明等主要来自于NESTEROV的书[2]

凸优化和机器学习

假设我们有两个空间,样本空间 \mathcal{X},标签空间 \mathcal{Y},还有一个参数空间 \mathcal{H} 包括了从样本到标签的映射,引入它们之间的Loss Function L:\mathcal{Y}\times\mathcal{Y} \rightarrow \mathbb{R},如果已经知道这些样本和标签 \mathcal{X}\times\mathcal{Y} 的分布 P

经验风险最小

\mathcal{L}_{P}=\mathbb{E}_{P} [L(h(x), y)].

学习的目标就是求解一个最优化问题:

\min_{h\in \mathcal{H}}\mathcal{L}_{P}(h).

常规的做法就是使得经验风险最小,也就是把训练样本全部跑一遍,然后使得通过我们的误差函数累计计算出来的值最小。

\min_{h\in \mathcal{H}}\sum^{n}_{i=1}L(h(x_i), y_{i})=\min_{\theta}\sum^{n}_{i=1}L(h_{\theta}(x_{i}),y_{i}).

当标签是离散值的时候看作是分类任务,当标签是连续值的时候看作是回归任务

一般情况下,求解这种任务是 NP 难的问题,所以引入另一种替代的办法,用Hinge Loss表示[0, 1]误差,这样也就使得其有了梯度,而且这种代价函数和原来的代价函数是等价的。引入松弛变量构造一个带约束的最优化函数。

\min_{\omega}\sum^{n}_{i=1}\zeta_{i}
s.t.\quad \begin{array}{l} y_{i}(x_{i}^{T}w+b) + \zeta_{i} \geq 1, \\ \zeta_{i} \geq 0, \\ ||w||^2_{2} \leq \Lambda \end{array}

最后一项||w||^2_{2} \leq \Lambda 是用于约束回归参数的复杂度,用于防止过拟合。一般用拉格朗日乘子法可以对原来约束条件下的方程进行改写得到:

\min_{\omega}\sum^{n}_{i=1}\zeta_{i} + ||w||^2_{2} - \lambda \Lambda
s.t.\quad \begin{array}{l} y_{i}(x_{i}^{T}w+b) + \zeta_{i} \geq 1, \\ \zeta_{i} \geq 0. \end{array}

还有几种常用的损失函数:

  1. Square loss: \Phi_{s}(y,y')=(1-yy')^2.
  2. Logistic loss: \Phi_{l}(y,y')=\frac{1}{ln2}ln(1-e^{-yy'}).
  3. Cross entropy loss: \Phi_{c}(y,y')=-tln(y')-(1-t)ln(1-y'). 其中 t=(1+y)/2.

极大似然视角下

极大似然估计法下,一个似然函数P(X,Y|\theta)的估计可以通过下面的公式得到。

\begin{array}{rl} \theta_{MLE} & = \text{argmin}_{\theta}P(X,Y|\theta) = \text{argmax}_{\theta}\log P(X, Y|\theta) \\ & = \text{argmax}_{\theta}\log \prod_{i}P(x_i, y_i|\theta) \\ & = \text{argmax}_{\theta}\sum^{n}_{i=1}\log P(x_{i}, y_{i}|\theta)\end{array}

极大后验视角下

如果将其中的极大似然估计替换成极大后验估计,可以改写成下面这样的形式。

\begin{array}{rl} \theta_{MAP} & = \text{argmax}_{\theta}P(X, Y|\theta) P(\theta) =\text{argmax}_{\theta} \log\{ P(\theta)P(X,Y|\theta) \}\\ &=\text{argmax}_{\theta}\log \{ P(\theta)\prod_{i}P(x_{i}, y_{i}|\theta) \}\\ &=\text{argmax}_{\theta} \{ \log P(\theta) + \sum^{n}_{i=1}P(x_{i}, y_{i}|\theta) \} \\ \end{array}

问题泛化

x 是一个n 维实向量:

x=(x^{(1)},\dots, x^{(n)} )^{T} \in \mathbb{R}^{n},

S\mathbb{R}^{n} 一个子集,且f_{0}(x),\dots,f_{m}(x)x 的一些实值函数,一般的约束问题都写成下面的形式:

\min f_{0}(x)
s.t. \begin{array}{l} f_{j}(x) \leq 0, j=1,\dots m,\\ x\in S. \end{array}

以上的 f_{0}(x) 是我们的目标(objective)函数,而考虑最小化问题只是一种分析习惯,其他形式的优化也可以改写成这种形式,向量函数
f(x)=(f_{1}(x),\dots, f_{m}(x))^{T}
称为函数约束(functional constraints)向量,集合S 称为基本可行集(basic feasible set),并且集合
Q=\{x\in S|f_{j}(x) \leq 0, j=1\dots m\}
称为问题的可行集(basic set)。如果Q\neq \emptyset 则说明这是一个可行的问题,如果存在x\in \int Q,对于所有不等式约束都满足 f_{j}(x)<0 则称为严格可行的(strictly feasible)。

问题的自然分类

  • 有约束问题(constrained problems):Q\subset\mathbb{R}^{n}
  • 无约束问题(unconstrained problems):Q\equiv \mathbb{R}^{n}
  • 光滑问题(smooth problems):所有的f_{i}(x) 是可微的。
  • 非光滑问题(nonsmooth problems):存在不可微的分量f_{k}(k)

对于线性约束问题(linearly constrained problems):所有泛函数约束都是线性的。线性约束问题可以继续分为:

  • 线性优化问题:如果 f_{0}(x) 也是线性的,那么这个最小化问题就是一个线性优化问题。
  • 二次优化问题:如果 f_{0}(x) 是二次的,那么这就是一个二次优化问题
  • 二次约束的二次问题:如果所有的 f_{j} 是二次的,那么这就是一个二次约束的二次问题(quadratically constrained quadratic problem)。

解的定义

这种最优化问题中一般会存在多种解:

  • x^{*} 是全局解(global solution),如果对于所有的 x\in Q, 有
    f_{0}(x^{*}) \leq f_{0}(x).
    在这种情况下,f_{0}(x^{*}) 称为问题的(全局)最优值(optimal value)。
  • x^{*} 如果只是在一个局部x\in NBR(x^{*}, \delta)\cap Q,有
    f_{0}(x^{*}) \leq f_{0}(x).
    则称之为局部解。

非线性优化式非常重要和有前途的应用理论。它覆盖了几乎所有的运筹学和数值分析的需求(包括现在大量的机器学习内容)虽然总体上看,优化问题是无解的。

数值方法的性能

特定的问题因为它本身可能存在个各种特别的性质,某些方法可以有非常独特的求解性能。所以要对一类问题(\mathcal{P}\in \mathcal{F})来讨论某些方法的性能,在这类问题中都存在相似的特点,而某种数值方法会对这些方法都有一定的性能。

因此,一个方法 \mathcal{M} 在整个类 \mathcal{F} 上的性能(performance)是它的效率的一个自然特性。

符号约定

  • 模型:问题 \mathcal{P} 的一个已知(known)的“部分”,称为问题的模型 (model)。我们用 \Sigma 来表示模型。通常,模型包含了问题形式,泛函分量的类型描述,等等。
  • Oracle:为了识别问题 \mathcal{P}(并且求解它),方法应该能够搜集关于 \mathcal{P} 的特定的信息。为了方便,搜集数据的过程被描述为一个 oracle。一个 oracle \mathcal{O} 就是一个单位,它回答方法连续的询问。方法 \mathcal{M} 试图通过搜集和处理回答,来求解问题 \mathcal{P}
  • 求解一个问题所需要的努力程度(computational efforts)的总量是一个方法 \mathcal{M} 的性能。
  • 逼近解:求解一个问题要找到一个准确度为 \varepsilon > 0 的逼近解。

常规求解流程

给定初始点 x_{0} 和准确度 \varepsilon>0 和初始化:k=0,初始的信息I_{-1}=\emptyset

  1. x_{k} 调用oracle \mathcal{O}
  2. 更新信息集:I_{k}=I_{k-1}\cap (x_{k},\mathcal{O}(x_{k}))
  3. I_{k} 运用方法 \mathcal{M} 的规则,形成点 x_{k+1}
  4. 检查停止条件 \mathcal{T}_{\varepsilon}。如果满足条件,则形成输出 \bar{x}。否则设置 k:=k+1 循环步骤。

真正对于求解问题起作用的是步骤1和环步骤3,这两个步骤也是计算代价集中的地方,我们对这些步骤进行更加具体的分析,有

  • 解析复杂性(analytical complexity):求解问题 \mathcal{P},达到准确率 \varepsilon 所需要调用的orcal的数量。
  • 算术复杂性(arithmetical complexity):求解问题 \mathcal{P},达到准确率 \varepsilon,所需要的算术操作的总数量(包括Oracle方法的工作)。

Oracle

一般用局部黑盒概念(local black box concept)假设oracle能让我们得到优化问题解析复杂度的大部分结果,而距离测试点 x(或者叫当前的采样点)很远的小问题变化不会影响在 x 的回答。

继续沿用上面最小化问题的问题表述形式,针对这样一种泛化模型(functional model)假定根据函数的光滑性程度,可以使用不同类型的oracle:

  • 零阶oracle(zero-order oracle):
    返回 f(x) 的值。
  • 一阶oracle(first-order oracle):
    返回 f(x) 和梯度 f'(x)的值。
  • 二阶oracle(second-order oracle):
    返回 f(x),梯度 f'(x),和Hessian f''(x) 的值。

全局优化中复杂度的界

Lipschitz连续

  • Lipschitz continuous: 函数被一次函数上下夹逼
  • Lipschitz continuous gradient :函数被二次函数上下夹逼
  • Lipschitz continuous Hessian :函数被三次函数上下夹逼

|f(x)-f(y)| \leq L||x-y||_{\infty}

其中,L 是某个Lipschitz常量(Lipschitz constant)

范数 l_{\infty} 测量 \mathbb{R}^{n} 中的距离:

||x||_{\infty}=\max_{1\leq i \leq n}|x^{(i)}|.

上界分析

根据Lipschitz连续我们可以构造一种零阶的求解方法(它的另一个名字应该是暴力枚举在一定精度下的全部可行解)。在每个维度上都把坐标平均间隔成 p 个点,然后在所有点中找到 \bar{x},使得目标函数具有最小的值。如果令 f^{*} 是问题的全局最优值。其中点构造为
x_{\alpha}=((\frac{2i_{1}-1)}{2p}), (\frac{2i_{2}-1)}{2p}), \dots, (\frac{2i_{n}-1)}{2p}))^{T}
那么
f(\bar{x})-f^{*} \leq \frac{L}{2p}.

证明:给定一个多维索引 \alpha=(i_1, \dots, i_n)\in \{1, \dots, p\}^{n}.,定义这个点步长以内的领域范围
X_{\alpha}=\{ x\in \mathbb{R}^{n}: ||x-x_{\alpha}||_{\infty} \leq \frac{1}{2p} \}.

很明显这些坐标的全部集合就是函数的可行域:\cap_{\alpha\in \{1,\dots, p\}^{n}}X_{\alpha}=B_{n},如果这个函数存在一个全局最优解,则在网格离散的点上一定有一个索引值 \alpha^{*} 索引的网格点 的连续邻域内存在最优解(就是这个最优解在它的框框内) x^{*}\in X_{x_{a^{*}}} 满足||x^{*}-x_{\alpha^{*}}||_{\infty} \leq \frac{1}{2p}.,因此有,

f(\bar{x}) - f(x^{*}) \leq f(x_{a^{*}})-f(x^{*}) \leq \frac{L}{2p}.

把这个问题推广到一系列的问题就有:

\text{Find}~\bar{x}\in B_{n}:\quad f(\bar{x})-f^{*} \leq \varepsilon.

也就有如果要得到精度在 \varepsilon 以内的解,这个方法的复杂度就在
\mathscr{A}(\mathscr{G}=(\lfloor \frac{L}{2\varepsilon}\rfloor+1)^{n},
所以令 p=\lfloor \frac{L}{2\varepsilon}\rfloor+1 \geq \frac{L}{2\varepsilon} 也就有 f(\bar{x}-f^{*}) \leq \frac{L}{2p} \leq \varepsilon. 也就需要调用 p^n 次oracle,这是这个方法的复杂度上界。

实际上这还不够,也许在这种问题形式下还有更好的方法,或者实际上方法 \mathscr{G} 的性能更好,所以再进一步分析求解这种问题的下界,下面的分析基于一些特点:

  • 它们基于黑盒(black box)的概念。
  • 这些界对于所有合理的迭代方案都有效,因此,它们给我们提供的是对于这个问题类的解析复杂度的下估计(lower estimate)。
  • 这些界都用了抵抗 oracle(resisting oracle)的思想。
    • 对于每个特定方法(for example,\mathscr{G}(\mathscr{p}),一个抵抗oracle试图创建一个最坏(worst)问题:
      • 它从一个“空”的函数开始,并且试图用最坏可能的方式回答这个方法的每一个调用。
      • 这个回答必须和前面的回答以及问题类的描述兼容(compatible)

下界分析

首先定义下面这样的问题,有模型 \min_{x\in \mathbb{B}_{n}}f(x)f(x)\mathbb{B}_{n} 上是 \mathscr{C}_{\infty} Lipschitz 连续的。用于收集信息的 Oracle是一个零阶黑盒。目标是为了寻找一个逼近解 \bar{x}\in \mathbb{B}_{n}:f(\bar{x})-f^{*} \leq \varepsilon。根据我们的分析要取得 \varepsilon 的精度,问题 \mathscr{C} 的解析复杂度至少为 (\lfloor \frac{L}{2\varepsilon}\rfloor)^n(\geq 1)
我们假设有一种方法可以使得 N < p^{n} 以内把问题 \mathscr{P} 解决掉,然后再弄一个Oracle,它在任意测试点都返回 f(x)=0,然而因为有 N < p^n 所以还会存在一个多维索引 \hat{\alpha} 使得在箱子 X_{\hat{\alpha}} 内不存在测试点。写成数学形式如下

\bar{f}(x)=\min\{ 0, L||x-x_{*}||_{\infty}-\varepsilon \}.

构造出来的这个函数是满足常数 L\mathscr{C}_{\infty}-Lipschitz 连续。它的全局最有解为 -\varepsilon 这样,如果搜索的量小于 p^n 那结果肯定不可能超过 \varepsilon 这是根据比较一般的形式构造出的满足条件的最好的情况了,如果连这个都不能达到,那在最普遍情况下也就达不到更好的结果了。

所以我们可以确定在使用暴力的网格法求解的下界:
\mathscr{G}:(\lfloor \frac{L}{2\varepsilon} \rfloor + 1)^n \Leftrightarrow \text{Lower bound:}\lfloor \frac{L}{2\varepsilon} \rfloor^n.

可以看到这种问题几乎是时间上不可解的,而且推导出的下界也未必比上界更好一些。把这结果和那种NP-难问题的上界进行比较,是组合优化中经典的困难问题,真是让人失望。而像这种网格法在数值计算中还是满常见的,比如数值积分[3]

松弛和逼近

非线性优化中,简单的目标是找到可微函数的局部最小值。但是很多情况下这些函数的全局结构不会比 Lipschitz 连续函数更简单。所以目前大部分的一般非线性优化的方法基于松弛(relaxation)思想:

  • 一个序列 \{a_{k}\}^{\infty}_{k=0} 如果 a_{k+1}\leq a_{k}, \forall~k\geq 0. 它是一个松弛序列(relaxation sequence)
  • 逼近意味着一个简化的目标函数替换初始的目标函数,在属性上简化函数和原函数的距离非常接近

在非线性优化中常用非线性函数的导数来使用局部(local)逼近。这些就是一阶和二阶逼近(或者也叫线性和平方逼近)。

一阶逼近

如果 f(x)\bar{x} 是可微的,那么对于 y\in \mathbb{R}^{n},我们有
f(y)=f(\bar{x})+\langle \nabla f(x), y-\bar{x} \rangle + o(||y-\bar{x}||).

线性函数 f(\bar{x})+\langle \nabla f(\bar{x}), y-\bar{x} \rangle 称为 f\bar{x} 的线性逼近(linear approximation),其中 \langle \cdot, \cdot \rangle 表示内积。

\nabla f(x)=(\frac{\partial f(x)}{\partial x^{(1)}}, \dots, \frac{\partial f(x)}{\partial x^{(n)}})^{T}

将函数 f(x) 的次层集(sublevel set)记作 \mathscr{L}_{f}(\alpha) (也可以看作是等高线以下内容):
\mathscr{L}_{f}(\alpha)=\{x\in \mathbb{R}^{n} | f(x) \leq \alpha \}.

考虑在 \bar{x} 上和 \mathscr{L}_{f}(f(\bar{x})) 相切方向集合:
S_{f}(\bar{x})=\left \{ s\in \mathbb{R}^{n}|s= \lim_{y_k \rightarrow \bar{x}, f(y_{k})=f(\bar{x})} \frac{y_k - \bar{x}}{||y_k - \bar{x}||}, \text{for some}~\{y_k\} \rightarrow \bar{x}~\text{with}~f(y_k)=f(\bar{x}) \forall k \right \}.

如果 f(y_k)=f(\bar{x}),我们有
f(y_k)=f(\bar{x}) + \langle \nabla f(\bar{x}), y_k - \bar{x} \rangle + o(||y_k - \bar{x}||)=f(\bar{x}).
因为 \lim_{r \downarrow 0}\frac{1}{r}o(r)=0, o(0)=0 所以等号两边同时除以 ||y_k-\bar{x}|| 然后让 y_k \rightarrow \bar{x} 我们就得到:
if~s\in S_{f}(\bar{x}), then~\langle \nabla f(\bar{x}), s \rangle=0.

s\in S_f(\bar{x}) 其实就是表示 \mathbb{R}^{n} 中的方向,||s||=1

\Delta (s)=\lim_{\alpha \downarrow 0}\frac{1}{\alpha}[f(\bar{x} + \alpha s)-f(\bar{x})].
最后得到
\Delta (s)=\langle \nabla f(\bar{x}), s\rangle .
通过 Cauchy-Schwarz 不等式,
-||x||\cdot ||y|| \leq \langle x, y\rangle \leq ||x||\cdot ||y||,
推出 \Delta (s)=\langle \nabla f(\bar{x}), s\rangle \geq -||\nabla f(\bar{x}||. 继续再让
\bar{s}=-\nabla f(\bar{x})/||\nabla f(\bar{x})||.
带入原来的方程中得到
\Delta (\bar{s})=-\langle \nabla f(\bar{x}), \nabla f(\bar{x}) \rangle / ||\nabla f(\bar{x}) || = -||\nabla f(\bar{x})||.
所以,反梯度方向 -\nabla f(\bar{x}) 是最快的下降方向。

一阶优化条件

x^{*} 是一个可微函数 f(x) 的局部最小点。那么 \nabla f(x^{*})=0,而且它周围点 ||y-x^{*}|| \leq r, ~\text{and}~r>0 上的函数值都应该比最优点上面的函数值大 f(y) \geq f(x^{*}),而且 f 可微
f(y) = f(x^{*}) + \langle \nabla f(x^{*}, y-x^{*}\rangle + o(||y-x^{*}||) \geq f(x^{*}).
因此对于所有的 s\in \mathbb{R}^{n},我们有 \langle \nabla f(x^{*}), s \rangle \geq 0. 如果取 s=-\nabla f(x^{*}) 则有 -||\nabla f(x^{*})|| \geq 0. 当且仅当 \nabla f(x^{*})=0.

但是这仅仅是一个最小值的必要条件,满足这个条件的可能只是个 f 的静点,所以还需要二阶的信息。

二阶逼近

令函数 f(x)\bar{x} 上是二次可微的,那么
f(y)=f(\bar{x})+\langle \nabla f(x), y-\bar{x} \rangle + \frac{1}{2} \langle \nabla^2 f(\bar{x})(y-\bar{x}), y-\bar{x} \rangle + o(||y-\bar{x}||^2).

定义函数 fx 的 Hessian(对称矩阵)

\nabla^2 f(\bar{x})^{(i, j)} = \frac{\partial^2 f(\bar{x})}{\partial x^{(i)} \partial x^{(j)}}
对于对称矩阵 A \succeq 0 表示 A 是正半定的(positive semidefine):
\langle Ax, x \rangle \geq 0 ~\forall x\in \mathbb{R}^{n}.
如果这个点是一个局部最小点,那么它的二阶导应该至少有大于0的分量
\nabla f(x^{*}) = 0, \nabla^2 f(x^{*})\succeq 0.
对于所有的 s||s||=1,有 \langle \nabla^2 f(x^{*})s, s\rangle \geq 0
如果满足以上的条件,则必要性得以满足,那么 x^{*}f(x) 的一个严格的局部最小点,有时候也用隔离(isolated)这个词来代替严格(strict)。

x^{*} 为最优值点的充分性证明:在点 x^{*} 的一个很小邻域内,函数 f(\cdot) 可以表达成
f(y)=f(x^{*})+\frac{1}{2}\langle \nabla^2 f(x^{*})(y-x^{*}), y-x^{*}\rangle + o(||y-x^{*}||^2).
因为 o(r^2)/r^2 \rightarrowr\downarrow 0,存在一个值 \bar{r} > 0 使得所有的 r\in [0, \bar{x}]
|o(r^2)| \leq \frac{r^2}{4} \lambda_{\min}(\nabla^2 f(x^{*})).
根据我们的假设,这个特征值是正的,所以,对于任意 y\in \mathbb{R}^{n}0<||y-x^{*}||\leq \bar{r} 我们有
\begin{array}{rcl} f(y) & \geq & f(x^{*}) + \frac{1}{2}\lambda_{\min}(\nabla^2 f(x^{*}))||y-x^{*}+||o(||y-x^{*}||^2)\\ & \geq & f(x^{*}) + \frac{1}{2}\lambda_{\min}(\nabla^2 f(x^{*})) + ||y-x^{*}|| > f(x^{*}).\end{array}

根据变分不等式,对于对称矩阵 A\in \mathbb{R}^{n\times n}
\lambda_{\min}(A)\cdot X^TX \leq X^T AX \leq \lambda_{\max}(A)\cdot X^T X.
所以有
\frac{1}{2}\langle \nabla^2(y-x^{*}), y-x^{*}\rangle \geq \lambda_{\min}(\nabla^2 f(x^{*}))||y-x^{*}||^2.

可微函数的类

Lipschitz 条件

Q 是一个 \mathbb{R}^{n} 的子集,我们记 C^{k,p}_{L}(Q) 为具有下面属性的函数类:

  • 任意 f\in C^{k,p}_{L}(Q)Q 上是 k 次连续可微的。
  • 它的第 p 次导数在 Q 上是 Lipschitz 连续的,有常量 L 对于所有的 x, y\in Q

||\nabla^{p}f(x)-\nabla^{p}f(y)|| \leq L||x-y||.

显然,我们总是会有

  1. p\leq k 显然成立
  2. 如果 q\geq k 那么 C^{q,p}_{L}(Q)\subset C^{k, p}_{L}(Q)
  3. 同时,如果 f_1 \in C^{k, p}_{L_1}(Q)f_2\in C^{k, p}_{L_2}(Q)\alpha, \beta\in \mathbb{R}^{1} 对于
    L_3 = |\alpha|L_1+|\beta|L_2
    \alpha f_1+\beta f_2 \in C^{k, p}_{L_3}(Q)

Lipschitz Continuous Gradient

考虑具有 Lipschitz 连续梯度的函数类,根据定义这个 f\in C^{1, 1}_L(\mathbb{R}^n) 有对于所有的 x,y \in \mathbb{R}^{n}
||\nabla f(x)-\nabla f(y)|| \leq L||x-y||.

一个函数 f 属于 C^{2, 1}_L(\mathbb{R}^{n}) \subset C^{1, 1}_L(\mathbb{R}^n) 当且仅当对于所有的 x\in \mathbb{R}^n 下面条件满足
||\nabla^2 f(x)|| \leq L.

证明:实际上对于任何的 x, y\in \mathbb{R}^{n}

\begin{array}{rl}\nabla f(y)&=\nabla f(x)+\int^{1}_{0}\nabla^2 f(x + \tau(y-x))(y-x)d\tau\\ &=\nabla f(x)+(\int^1_0 \nabla^2 f(x+\tau(y-x))d\tau)\cdot(y-x).\end{array}

如果条件 ||\nabla^2 f(x)|| \leq L 成立的话有
\begin{array}{rl} ||\nabla f(y)-\nabla f(x)|| & = ||(\int^1_0 \nabla^2 f(x+\tau(y-x))d\tau)\cdot (y-x)||\\ &\leq ||int^1_0\nabla^2 f(x+\tau(y-x))d\tau||\cdot ||y-x||\\ &\leq \int^1_0 ||\nabla^2 f(x+\tau(y-x))||d\tau \cdot ||y-x||\\ &\leq L||y-x||.\end{array}

另外,如果 f\in C^{2,1}_L(\mathbb{R}^n),那么对于任意的 s\in \mathbb{R}^n\alpha > 0
\left \| \left (\int^{\alpha}_0 \nabla^2 f(x+\tau s)d\tau \right )\cdot s \right\|=||\nabla f(x+\alpha s)-\nabla f(x)|| \leq \alpha L||s||.
证明:
我们令 \Phi(\alpha) = (\int^{\alpha}_{0} \nabla^2 f(x+\tau s)d\tau),不等式两边同时除以 \alpha,取 \alpha \downarrow 0
\left \| \lim_{\alpha \downarrow 0} \frac{\Phi(\alpha)}{\alpha} \cdot s \right \| = \left \| \lim_{\alpha \downarrow 0} \frac{\Phi(\alpha)-\Phi(0)}{\alpha-0} \cdot s \right \| = ||\nabla \Phi(0)\cdot s|| \leq L||s||.
因为 \nabla \Phi(\alpha) = \nabla^2 f(x+\alpha s),有 \nabla \Phi(0)=\nabla^2 f(x),所以得证。

几何解释

如果 f\in C^{1, 1}_L(\mathbb{R}^n) 那么对于任意的 x, y\in \mathbb{R}^n
|f(y)-f(x)-\langle \nabla f(x), y-x \rangle | \leq \frac{L}{2}||y-x||^2.

f(y) 和其一阶逼近的距离的上界,因为确定了这个上界之后可以将优化复杂的函数 f 等价成为优化它的上界[4],转化为二次规划问题[5]

证明如下
\begin{array}{rl}f(y)&=f(x)+\int^1_0 \langle \nabla f(x+\tau(y-x)), y-x\rangle d\tau\\ &=f(x) + \langle \nabla f(x), y-x\rangle + \int^1_0 \langle \nabla f(x+\tau(y-x))-\nabla f(x), y-x\rangle d\tau. \end{array}
所以
\begin{array}{rl} |f(y)-f(x)-\langle \nabla f(x), y-x \rangle| &= \left | \int^1_0 \langle \nabla f(x+\tau(y-x)) - \nabla f(x), y-x \rangle d\tau \right |\\ & \leq \int^1_0 \left | \langle \nabla f(x+\tau(y-x)) - \nabla f(x), y-x \rangle \right | d\tau \\ & \leq \int^1_0 ||\nabla f(x+\tau(y-x)) - \nabla f(x)|| \cdot ||y-x|| d\tau \\ & \leq \int^1_0 \tau L||y-x||^2 d\tau = \frac{L}{2}||y-x||^2. \end{array}

如果 f \in C_{M}^{2,2}\left(\mathbb{R}^{n}\right),是一个二阶可微符合 Lipschitz 连续 Hessian 的函数类型,我们有
\left\|\nabla^{2} f(x)-\nabla^{2} f(y)\right\| \leq M\|x-y\|, \quad \forall x, y \in \mathbb{R}^{n}
则对于任意 x, y \in \mathbb{R}^{n},做一次积分,再做一次积分
\begin{array}{c}{\left\|\nabla f(y)-\nabla f(x)-\nabla^{2} f(x)(y-x)\right\| \leq \frac{M}{2}\|y-x\|^{2}} \\ {\left|f(y)-f(x)-\langle\nabla f(x), y-x\rangle-\frac{1}{2}\left\langle\nabla^{2} f(x)(y-x), y-x\right\rangle\right|} \\ { \leq \frac{M}{6}\|y-x\|^{3}}\end{array}

证明
\begin{array}{rl} \nabla f(y)&=\nabla f(x)+\int_{0}^{1} \nabla^{2} f(x+\tau(y-x))(y-x) d \tau \\ &=\nabla f(x)+\nabla^{2} f(x)(y-x)+\int_{0}^{1}\left(\nabla^{2} f(x+\tau(y-x))-\nabla^{2} f(x)\right)(y-x) d \tau \end{array}
因此
\begin{aligned} \left\|\nabla f(y)-\nabla f(x)-\nabla^{2} f(x)(y-x)\right\| &=\left\|\int_{0}^{1}\left(\nabla^{2} f(x+\tau(y-x))-\nabla^{2} f(x)\right)(y-x) d \tau\right\| \\ & \leq \int_{0}^{1}\left\|\left(\nabla^{2} f(x+\tau(y-x))-\nabla^{2} f(x)\right)(y-x)\right\| d \tau \\ & \leq \int_{0}^{1}\left\|\nabla^{2} f(x+\tau(y-x))-\nabla^{2} f(x)\right\| \cdot\|y-x\| d \tau \\ & \leq \int_{0}^{1} \tau M \nabla^{2} f(x+\tau(y-x))-\nabla^{2} f(x)\|\cdot\| y-x\|d \tau\\ & \leq \int_{0}^{1} \tau M\|y-x\|^{2} d \tau=\frac{M}{2}\|y-x\|^{2} \end{aligned}

f \in C_{M}^{2,2}\left(\mathbb{R}^{n}\right) 并且 x, y \in \mathbb{R}^{n} with \|y-x\|=r 可以有
\nabla^{2} f(x)-M r I_{n} \preceq \nabla^{2} f(y) \preceq \nabla^{2} f(x)+M r I_{n}

证明
我们令 G=\nabla^{2} f(y)-\nabla^{2} f(x) 是一个矩阵,因为 f \in C_{M}^{2,2}\left(\mathbb{R}^{n}\right),所以它肯定会被限制在这个界限内 \|G\| \leq M r 这意味着矩阵中每个特征值都在这个界限内。
所以我们有
-M r I_{n} \preceq G \equiv \nabla^{2} f(y)-\nabla^{2} f(x) \preceq M r I_{n}


  1. 凸优化维基百科

  2. NESTEROV J E. Lectures on convex optimization[M]. 2018.

  3. Numerical integration

  4. Lipschitz-gradient by xingyuzhou

  5. Quadratic_programming

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,904评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,581评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,527评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,463评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,546评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,572评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,582评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,330评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,776评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,087评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,257评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,923评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,571评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,192评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,436评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,145评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容

  • 一、SVM模型 1. SVM功能体验   首先通过一个例子来了解SVM的作用;不用关注该例子的代码,直接观察图示效...
    杨强AT南京阅读 953评论 3 6
  • [TOC]优化算法是机器学习中的“方法论”,优化算法会告诉机器应该如何优化学习的进程,让自己能够更好地掌握学习到的...
    JuneHsia阅读 2,788评论 0 0
  • 本文主题-逻辑回归(上部分):逻辑回归的应用背景逻辑回归的数学基础逻辑回归的模型与推导逻辑回归算法推导梯度下降算法...
    杨强AT南京阅读 1,339评论 1 4
  • https://developers.google.com/machine-learning/crash-cour...
    iOSDevLog阅读 2,656评论 1 11
  • 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interfac...
    没说再见阅读 175评论 0 1