最优化方法(学习笔记)-第十章无约束优化问题

无约束优化问题

无约束优化问题属于限制比较少,适合通过技巧来简化求解过程

基本形式

min ⁡ f ( ( x ) , f ( x ) : R n → R \min{f((x)},f(x):R^n\rightarrow R minf((x),f(x):RnR

假设: 1. f ( x ) 是 凸 函 数 2. f ( x ) 二 阶 可 导 3. 存 在 唯 一 的 优 化 点 x ∗ , 有 p ∗ = inf ⁡ x f ( x ) 1.f(x)是凸函数\quad 2.f(x)二阶可导\quad 3.存在唯一的优化点x^*,有p^*=\inf_x{f(x)} 1.f(x)2.f(x)3.x,p=infxf(x)

注意: x ∗ o p t i m a l    ⟺    ∇ f ( x ∗ ) = 0 x^* optimal\iff \nabla{f(x^*)}=0 xoptimalf(x)=0

例子

  • 二次规划问题: min ⁡ 1 2 x T P x + q T x + r , P ∈ S + n , q ∈ R n , r ∈ R \min{\frac12x^TPx+q^Tx+r},P\isin S_+^n,q\isin R^n,r\isin R min21xTPx+qTx+r,PS+n,qRn,rR
    对f(x)求导得到 p x + q = 0 px+q=0 px+q=0

    • P ∈ S + + n P\isin S_{++}^n PS++n: 有唯一解

    • P ∈ S + n P\isin S_+^n PS+n: 无穷多组解
      在这里插入图片描述

    • P ∈ S + n , q 含 有 非 零 元 素 使 得 等 式 不 成 立 P\isin S_+^n,q含有非零元素使得等式不成立 PS+n,q使: 无解
      在这里插入图片描述

  • 几何规划问题: d o m f = R n , f ( x ) = log ⁡ ( ∑ i = 1 m exp ⁡ ( a i T x + b i ) ) domf=R^n, f(x)=\log{(\sum\limits_{i=1}^m{\exp{(a_i^Tx+b_i)}})} domf=Rn,f(x)=log(i=1mexp(aiTx+bi))

    求导得到: ∇ f = ∑ exp ⁡ ( a i T x + b i ) a i ( ∑ exp ⁡ ( a i T x + b i ) ) \nabla f=\frac{\sum{\exp{(a_i^Tx+b_i)}a_i}}{(\sum{\exp{(a_i^Tx+b_i)}})} f=(exp(aiTx+bi))exp(aiTx+bi)ai, 这是一个超越方程,难以求解

  • 类似的问题: d o m f = { x ∣ a i T x < b i , ∀ i } , f ( x ) = − ∑ i = 1 m log ⁡ ( b i − a i T x ) domf=\{x|a_i^Tx<b_i,\forall{i}\},f(x)=-\sum\limits_{i=1}^m{\log{(b_i-a_i^Tx)}} domf={xaiTx<bi,i},f(x)=i=1mlog(biaiTx)

    求导得到: ∇ f = ∑ a i b i − a i T x \nabla{f}=\sum\frac{a_i}{b_i-a_i^{T}x} f=biaiTxai, 依然非常难解

强凸性质

  • 定义[最小的特征值也大于m],以下的推导假设具有强凸性质
    在这里插入图片描述

  • 对f(y)做泰勒展开,设存在 z ∈ [ x , y ] z\isin[x,y] z[x,y]使得泰勒展开成立

    f ( y ) = f ( x ) + ∇ T f ( x ) ( y − x ) + 1 2 ( y − x ) T ∇ 2 f ( z ) ( y − x ) f(y)=f(x)+\nabla^T{f(x)}(y-x)+\frac12(y-x)^T\nabla^2{f(z)}(y-x) f(y)=f(x)+Tf(x)(yx)+21(yx)T2f(z)(yx)

    因为 ∇ 2 f ( x ) ≥ m I {\nabla^2{f(x)}\geq mI} 2f(x)mI

  • 所以 f ( y ) ≥ f ( y ~ ) = f ( x ) + ∇ f ( x ) T ( y ~ − x ) + m 2 ∣ ∣ y ~ − x ∣ ∣ 2 2 f(y)\geq f(\tilde{y})= f(x)+\nabla{f(x)^T}(\tilde{y}-x)+\frac m2 ||\tilde{y}-x||_2^2 f(y)f(y~)=f(x)+f(x)T(y~x)+2my~x22

    若m=0,那么这个不等式是成立的

  • m ≠ 0 m\neq0 m=0, 设 y ~ = x − 1 m ∇ f ( x ) \tilde y=x-\frac1m\nabla{f(x)} y~=xm1f(x)

    f ( y ) ≥ f ( x ) + ∇ f ( x ) T ( y ~ − x ) + m 2 ∣ ∣ y ~ − x ∣ ∣ 2 2 = 带 入 y ~ 的 设 定 f ( x ) − 1 2 m ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 f(y)\geq f(x)+\nabla{f(x)^T}(\tilde{y}-x)+\frac m2 ||\tilde{y}-x||_2^2\xlongequal{带入\tilde{y}的设定}f(x)-\frac1{2m}||\nabla{f(x)}||_2^2 f(y)f(x)+f(x)T(y~x)+2my~x22y~ f(x)2m1f(x)22

    令y取最优点 x ∗ x^* x, p ∗ = f ( x ∗ ) ≥ f ( x ) − 1 2 m ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 p^*=f(x^*)\geq f(x)-\frac1{2m}||\nabla{f(x)}||_2^2 p=f(x)f(x)2m1f(x)22

  • f ( x ) − p ∗ ≤ 1 2 m ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 f(x)-p^*\leq \frac1{2m}||\nabla{f(x)}||_2^2 f(x)p2m1f(x)22, 由此可知,f(y)与最优点的距离与f(x)导数的模长有关

  • 结论: 1 2 m ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 < ε    ⟹    ∇ f ( x ) ≤ 2 m ε    ⟹    ∣ ∣ f ( x ) − p ∗ ∣ ∣ 2 < ε \frac1{2m}||\nabla{f(x)}||_2^2<\varepsilon\implies\nabla{f(x)}\leq \sqrt{2m\varepsilon} \implies||f(x)-p^*||_2<\varepsilon 2m1f(x)22<εf(x)2mε f(x)p2<ε (限制了函数值与最小值的距离,可以方便控制步长大小)

条件数

λ m a x , λ m i n \lambda_{max},\lambda_{min} λmax,λmin分别是 ∇ 2 f ( x ) \nabla^2{f(x)} 2f(x)中最大和最小特征值的绝对值

条件数定义: K = λ m a x λ m i n K=\frac{\lambda_{max}}{\lambda_{min}} K=λminλmax

根据这个比值, 我们可以发现, 若条件数K越大(系统越不稳定), 我们的特征值范围越广, 迭代到最优的步数就越多

注意: 二阶导矩阵 ∇ 2 f ( x ) \nabla^2{f(x)} 2f(x)也称Hessian矩阵

下降方法

  • 定义如下
    在这里插入图片描述
    △ x \triangle{x} x可以是搜索的方向,一般是函数下降的方向,所以满足 ∇ f ( x ) T △ x < 0 \nabla{f(x)^T}\triangle{x}<0 f(x)Tx<0

  • 算法步骤
    在这里插入图片描述

  • 线性搜索Line search

    • 精准线性搜索
      在这里插入图片描述

    • (向后追踪)backtracking线性搜索: 含有两个参数 α ∈ ( 0 , 1 2 ) , β ∈ ( 0 , 1 ) \alpha\isin(0,\frac12),\beta\isin(0,1) α(0,21),β(0,1)

      • 终止条件的公式
        在这里插入图片描述
      • 图像示意迭代情况
        在这里插入图片描述
        由图可知: β \beta β 控制迭代的步长(用来缩小 t 0 t_0 t0,得到更小 t t t), α \alpha α 控制初始下降方向(虚线)的角度

梯度下降法GD

算法步骤

默认 △ x = − ∇ f ( x ) \triangle{x}=-\nabla{f(x)} x=f(x)
在这里插入图片描述
通常需要提出停止条件 ∣ ∣ ∇ f ( x ) ∣ ∣ 2 < ε ||\nabla{f(x)}||_2<\varepsilon f(x)2<ε

收敛分析

要求f(x)具有强凸性质, (设 M 是 λ m a x , m 是 λ m i n M是\lambda_{max},m是\lambda_{min} Mλmax,mλmin)

收敛结果是 1 2 M ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 ≤ f ( x ) − p ∗ ≤ 1 2 m ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 \frac1{2M}||\nabla{f(x)}||_2^2\leq f(x)-p^*\leq \frac1{2m}||\nabla{f(x)}||_2^2 2M1f(x)22f(x)p2m1f(x)22

在这里插入图片描述
学习率c取决于最小特征值,初始点,线性搜索的类型。

  • 精准线性搜索
    x + = x − t ∇ f ( x ) , f ( x + ) ≤ f ( x ) + t ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 + M t 2 2 ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 x^+=x-t\nabla{f(x)},f(x^+)\leq f(x)+t||\nabla{f(x)}||_2^2+\frac{Mt^2}2||\nabla{f(x)}||_2^2 x+=xtf(x),f(x+)f(x)+tf(x)22+2Mt2f(x)22

    取t使得在右端二次函数的最小值点, t = 1 M , 设 e = f ( x ) − p ∗ t=\frac1M,设e=f(x)-p^* t=M1,e=f(x)p

    f ( x + ) − p ∗ ≤ f ( x ) − p ∗ − 1 2 M ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 ≤ ( f ( x ) − p ∗ ) ( 1 − m M ) ⏟ 因 为 f ( x ) − p ∗ ≤ 1 2 m ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 f(x^+)-p^*\leq f(x)-p^*-\frac{1}{2M}||\nabla{f(x)}||_2^2\leq\underbrace{(f(x)-p^*)(1-\frac mM)}_{因为f(x)-p^*\leq \frac1{2m}||\nabla{f(x)}||_2^2} f(x+)pf(x)p2M1f(x)22f(x)p2m1f(x)22 (f(x)p)(1Mm)

    e + = c ∗ e , c = 1 − m M ( 与 条 件 数 的 倒 数 有 关 ) , 有 e ( k ) = f ( x ( k ) ) − p ∗ ≤ e ( 0 ) c k < ε e^+=c*e,c=1-\frac m M(与条件数的倒数有关), 有e^{(k)}=f(x^{(k)})-p^*\leq e^{(0)}c^k<\varepsilon e+=ce,c=1Mm(),e(k)=f(x(k))pe(0)ck<ε

    所以对上式最后一个小于号取对数,得到 k ≥ log ⁡ ( e 0 ε ) − log ⁡ C k\geq \frac{\log{(\frac{e^0}{\varepsilon}})}{-\log{C}} klogClog(εe0)

    所以步数k与初始值 e 0 e^0 e0,终止误差 ε \varepsilon ε,c都有关系

    也印证了当条件数K变大时, c = 1 − 1 K c=1-\frac 1 K c=1K1变大,分母变小,步数k变大

  • backtracking线性搜索
    在这里插入图片描述
    终止条件里,是将负梯度带入到 △ x \triangle{x} x,然后泰勒展开,再根据强凸性质求得的收敛结果(收敛分析下方的不等式)

    推导得到不等式 f ( x − t ~ ∇ f ) ≤ f ( x ) − t ~ ∣ ∣ ∇ f ∣ ∣ 2 2 + M t ~ 2 2 ∣ ∣ ∇ f ∣ ∣ 2 2 = f ( x ) − ( t ~ − M t ~ 2 2 ) ∣ ∣ ∇ f ∣ ∣ 2 2 f(x-\tilde{t}\nabla{f})\leq f(x)-\tilde t||\nabla{f}||_2^2+\frac{M\tilde t^2}{2}||\nabla{f}||_2^2=f(x)-(\tilde t-\frac{M\tilde t^2}{2})||\nabla{f}||_2^2 f(xt~f)f(x)t~f22+2Mt~2f22=f(x)(t~2Mt~2)f22

    0 ≤ t ~ ≤ 1 M    ⟹    − t ~ + M t ~ 2 2 ≤ − t ~ 2 ≤ − α t ~ , α ∈ ( 0 , 1 2 )    ⟹    f ( x + ) ≤ f ( x ) − α t ~ ∣ ∣ ∇ f ∣ ∣ 2 2 0\leq \tilde t\leq\frac1M\implies-\tilde t+\frac{M\tilde t^2}{2}\leq -\frac{\tilde t}2\leq-\alpha\tilde t , \alpha\isin(0,\frac12)\implies f(x^+)\leq f(x)-\alpha\tilde t||\nabla{f}||_2^2 0t~M1t~+2Mt~22t~αt~,α(0,21)f(x+)f(x)αt~f22(终止条件)

    所以我们迭代( t = β t t=\beta t t=βt)的目标就是使得 t ~ ≤ 1 M \tilde t\leq\frac1M t~M1成立(初始t=1),证明结果如下
    在这里插入图片描述
    结论:backtracking线性搜索的条件终止于 t = 1 ( M ≤ 1 ) 或 t ≥ β M ( M ≥ 1 )    ⟹    t = min ⁡ { 1 , β M } t=1(M\leq1)或t\geq\frac\beta M(M\geq1)\implies t=\min\{1,\frac\beta M\} t=1(M1)tMβ(M1)t=min{1,Mβ}

虽说是线性收敛,但是 m M \frac mM Mm的条件数会导致迭代很慢, 不适用于实际.

例子

  • 二维的二次规划问题
    在这里插入图片描述
    γ \gamma γ偏离1很多,那么就收敛慢 , 如下图
    在这里插入图片描述
    迭代过程的证明
    在这里插入图片描述

  • 非二次规划问题
    在这里插入图片描述
    在这里插入图片描述

  • 100维的问题
    在这里插入图片描述
    高维问题中,两种线性搜索的差距不大。

最速下降法SD

【类似梯度下降的收敛性】
【可能有多个最小值(多个方向)】

标准最速下降法

在这里插入图片描述

最速下降法

在这里插入图片描述

坐标变换的角度来理解最速下降法

在这里插入图片描述

  • 欧式范数意义下:梯度下降GD就是(二范数的)最速下降法

    ∇ T f ( x ) v = ∣ ∣ ∇ T f ( x ) ∣ ∣ 2 ∣ ∣ v ∣ ∣ 2 c o s θ    ⟹    v = − ∇ T f ( x ) ∣ ∣ ∇ T f ( x ) ∣ ∣ 2 ∼ − ∇ T f ( x ) \nabla^T f(x)v=||\nabla^T f(x)||_2||v||_2 cos\theta\implies v=-\frac{\nabla^T f(x)}{||\nabla^T f(x)||_2}\sim-\nabla^Tf(x) Tf(x)v=Tf(x)2v2cosθv=Tf(x)2Tf(x)Tf(x) (GD)

    一般的梯度下降法不能很快找到最小值,所以一般要对x做变换(比如:图像上由椭圆变成圆

  • L1范数的迭代结论:每步沿下降最快的坐标轴方向
    在这里插入图片描述
    【例子:Frobenius norm scaling】

  • quadratic norm的转换

x = P − 1 2 x ~ , P = ∇ 2 f ( x ) x=P^{-\frac12}\tilde x,P=\nabla^2f(x) x=P21x~,P=2f(x)

计算得到 △ x ~ s d = − P − 1 2 ∇ x f ( x ) , ∇ x ~ 2 f ( P − 1 2 x ~ ) = I , ∇ x ~ f ( P − 1 2 x ~ ) = P − 1 2 ∇ x f ( x ) \triangle\tilde x_{sd}=-P^{-\frac12}\nabla_x f(x),\nabla_{\tilde x}^2f(P^{-\frac12}\tilde x)=I, \nabla_{\tilde x} f(P^{-\frac12}\tilde x)=P^{-\frac12}\nabla_xf(x) x~sd=P21xf(x),x~2f(P21x~)=I,x~f(P21x~)=P21xf(x)

所以转换后可以实现最速下降

x ~ + = x ~ + t △ x ~ s d    ⟹    x + = x − t P − 1 ∇ x f ( x )    ⟹    △ x s d = − P − 1 ∇ x f ( x ) \tilde x^+=\tilde x+t\triangle\tilde x_{sd}\implies x^+=x-tP^{-1}\nabla_xf(x)\implies \triangle x_{sd}=-P^{-1}\nabla_xf(x) x~+=x~+tx~sdx+=xtP1xf(x)xsd=P1xf(x)

△ x ~ n s d = − ∇ x ~ f ( P − 1 2 x ~ ) ∣ ∣ ∇ x ~ f ( P − 1 2 x ~ ) ∣ ∣ 2 = − ( ∇ T f ( x ) P − 1 ∇ f ( x ) ) − 1 2 ( P − 1 2 ∇ x f ( x ) ) = ( ∇ T f ( x ) P − 1 ∇ f ( x ) ) − 1 2 ∗ △ x ~ s d \triangle\tilde x_{nsd}=-\frac{\nabla_{\tilde x} f(P^{-\frac12}\tilde x)}{||\nabla_{\tilde x} f(P^{-\frac12}\tilde x)||_2}=-(\nabla^Tf(x)P^{-1}\nabla f(x))^{-\frac12}(P^{-\frac12}\nabla_x f(x))=(\nabla^Tf(x)P^{-1}\nabla f(x))^{-\frac12}*\triangle\tilde x_{sd} x~nsd=x~f(P21x~)2x~f(P21x~)=(Tf(x)P1f(x))21(P21xf(x))=(Tf(x)P1f(x))21x~sd

   ⟹    △ x n s d = ( ∇ T f ( x ) P − 1 ∇ f ( x ) ) − 1 2 ∗ △ x s d = − ( ∇ T f ( x ) P − 1 ∇ f ( x ) ) − 1 2 ( P − 1 ∇ f ( x ) ) \implies\triangle x_{nsd}=(\nabla^Tf(x)P^{-1}\nabla f(x))^{-\frac12}*\triangle x_{sd}=-(\nabla^Tf(x)P^{-1}\nabla f(x))^{-\frac12}(P^{-1}\nabla f(x)) xnsd=(Tf(x)P1f(x))21xsd=(Tf(x)P1f(x))21(P1f(x))

引入quadratic范数的概念 ∣ ∣ x ∣ ∣ P = ( x T P x ) 1 2 ||x||_P=(x^TPx)^{\frac12} xP=(xTPx)21, 其对偶范数 ∣ ∣ x ∣ ∣ P ∗ = ( x T P − 1 x ) 1 2 ||x||_{P*}=(x^TP^{-1}x)^{\frac12} xP=(xTP1x)21

∇ T f ( x ) △ x n s d = − ( ∇ T f ( x ) P − 1 ∇ f ( x ) ) − 1 2 ( ∇ T f ( x ) P − 1 ∇ f ( x ) ) = − ∣ ∣ ∇ f ( x ) ∣ ∣ P ∗ \nabla^Tf(x)\triangle x_{nsd}=-(\nabla^Tf(x)P^{-1}\nabla f(x))^{-\frac12}(\nabla^Tf(x)P^{-1}\nabla f(x))=-||\nabla f(x)||_{P*} Tf(x)xnsd=(Tf(x)P1f(x))21(Tf(x)P1f(x))=f(x)P(正负号无影响)

所以 △ x n s d = arg ⁡ min ⁡ v { ∇ T f ( x ) v ∣   ∣ ∣ v ∣ ∣ P ≤ 1 } , △ x s d = ∣ ∣ ∇ f ( x ) ∣ ∣ P ∗ ∗ △ x n s d \triangle x_{nsd}=\arg\min_v\{\nabla^Tf(x)v |\space||v||_P\leq1\},\triangle x_{sd}=||\nabla f(x)||_{P*}*\triangle x_{nsd} xnsd=argminv{Tf(x)v vP1}xsd=f(x)Pxnsd

  • 举例

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 结果表明,范数以及变换矩阵P的选取对收敛速度有很强的影响

算法步骤

在这里插入图片描述

收敛性分析

  • 注:具有回溯线搜索的梯度方法的收敛性分析扩展到任意范数的最陡的下降方法

根据范数等价性,设 γ , γ ~ ∈ [ 0 , 1 ] , ∣ ∣ x ∣ ∣ ≥ γ ∣ ∣ x ∣ ∣ 2 , ∣ ∣ x ∣ ∣ ∗ ≥ γ ~ ∣ ∣ x ∣ ∣ 2 \gamma,\tilde\gamma\isin[0,1], ||x||\geq \gamma||x||_2,||x||_*\geq\tilde\gamma||x||_2 γ,γ~[0,1],xγx2,xγ~x2 , 强凸性 ∇ 2 f ( x ) ≤ M I \nabla^2 f(x)\leq MI 2f(x)MI

计算得 f ( x + t △ s s d ) ≤ f ( x ) − t ∣ ∣ ∇ f ( x ) ∣ ∣ ∗ 2 + M t 2 2 γ 2 ∣ ∣ ∇ f ( x ) ∣ ∣ ∗ 2    ⟹    t ∗ = γ 2 M f(x+t\triangle s_{sd})\leq f(x)-t||\nabla f(x)||_*^2+\frac{Mt^2}{2\gamma^2}||\nabla f(x)||_*^2\implies t^*=\frac{\gamma^2}{M} f(x+tssd)f(x)tf(x)2+2γ2Mt2f(x)2t=Mγ2(二次函数的极值点)

t ∗ t^* t带入不等式中,得到 f ( x + t ∗ △ s s d ) ≤ f ( x ) − γ 2 2 M ∣ ∣ ∇ f ( x ) ∣ ∣ ∗ 2 f(x+t^*\triangle s_{sd})\leq f(x)-\frac{\gamma^2}{2M}||\nabla f(x)||_*^2 f(x+tssd)f(x)2Mγ2f(x)2

基于向后追踪线性搜索的收敛性分析,设 γ 2 M ≥ t ≥ min ⁡ { 1 , β γ 2 M } = t ~ , α < 1 2 , β < 1 \frac{\gamma^2}{M}\geq t\geq\min\{1,\frac{\beta\gamma^2}{M}\}=\tilde t,\alpha<\frac12 , \beta<1 Mγ2tmin{1,Mβγ2}=t~α<21,β<1

根据最速下降法的条件: ∇ f ( x ) T △ x s d = − ∣ ∣ ∇ f ( x ) ∣ ∣ ∗ 2 \nabla f(x)^T\triangle{x_{sd}}=-||\nabla f(x)||_*^2 f(x)Txsd=f(x)2, 且二范数的对偶还是二范数

f ( x + ) = f ( x + t △ s s d ) ≤ f ( x ) − α t ~ ∣ ∣ ∇ f ( x ) ∣ ∣ ∗ 2 γ ~ 2 = f ( x ) − α t ~ ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 γ ~ 2 f(x^+)=f(x+t\triangle s_{sd})\leq f(x)-\alpha \tilde t||\nabla f(x)||_*^2\tilde\gamma^2=f(x)-\alpha \tilde t||\nabla f(x)||_2^2\tilde\gamma^2 f(x+)=f(x+tssd)f(x)αt~f(x)2γ~2=f(x)αt~f(x)22γ~2

于是同时减去最小值 p ∗ p^* p, 根据梯度下降法的收敛结果 1 2 M ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 ≤ f ( x ) − p ∗ ≤ 1 2 m ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 \frac1{2M}||\nabla{f(x)}||_2^2\leq f(x)-p^*\leq \frac1{2m}||\nabla{f(x)}||_2^2 2M1f(x)22f(x)p2m1f(x)22来做放缩

e t = f ( x ) − p ∗ , 所 以 e t + 1 ≤ e t ( 1 − 2 m α t ~ γ ~ 2 ) , t ~ = min ⁡ { 1 , β γ ~ 2 M } e_t=f(x)-p^* , 所以 e_{t+1}\leq e_t(1-2m\alpha \tilde t \tilde\gamma^2), \tilde t=\min\{1,\frac{\beta{\tilde\gamma}^2}{M}\} et=f(x)p,et+1et(12mαt~γ~2),t~=min{1,Mβγ~2}

c = ( 1 − 2 m α t ~ γ ~ 2 ) < 1 , e t + 1 ≤ c e t , f ( x ( k ) ) − p ⋆ ≤ c k ( f ( x ( 0 ) ) − p ⋆ ) c=(1-2m\alpha \tilde t \tilde\gamma^2)<1,e_{t+1}\leq ce_t, f(x^{(k)})-p^⋆\leq c^k(f(x^{(0)})-p^⋆) c=(12mαt~γ~2)<1,et+1cet,f(x(k))pck(f(x(0))p)

所以【函数点到最优点的距离】是线性收敛的。

补充说明

  • boyd书中的定义
    • GD: △ x s d = − ∇ f ( x ) , t − > \triangle x_{sd}=-\nabla f(x), t-> xsd=f(x),t>line search
    • SD: △ x s d = arg ⁡ min ⁡ v { ∇ T f ( x ) v ∣   ∣ ∣ v ∣ ∣ . ≤ 1 } , t − > \triangle x_{sd}=\arg\min_v\{\nabla^Tf(x)v |\space||v||_.\leq1\}, t-> xsd=argminv{Tf(x)v v.1},t>line search
  • 平常的定义
    • GD: △ x s d = − ∇ f ( x ) , t − > \triangle x_{sd}=-\nabla f(x), t-> xsd=f(x),t>fixed learning rate
    • SD: △ x s d = − ∇ f ( x ) , , t − > \triangle x_{sd}=-\nabla f(x),, t-> xsd=f(x),,t>exact line search

牛顿法

  • 欧式范数
    最速下降SD=梯度下降GD

  • quadratic范数
    ∣ ∣ z ∣ ∣ P = ( z T P z ) 1 2 , P ∈ S + + n ||z||_P=(z^TPz)^{\frac 12}, P\isin S_{++}^n zP=(zTPz)21,PS++n

    △ x n s d = 1 ∣ ∣ ∇ f ( x ) ∣ ∣ P ∗ P − 1 ∇ f ( x ) , △ x s d = P − 1 ∇ f ( x ) \triangle x_{nsd}=\frac{1}{||\nabla f(x)||_{P*}}P^{-1}\nabla f(x),\triangle x_{sd}=P^{-1}\nabla f(x) xnsd=f(x)P1P1f(x)xsd=P1f(x)

P = ∇ 2 f ( x ) P=\nabla^2f(x) P=2f(x)(Hessian矩阵)时,这个就是牛顿法 Newton Method,是一种常用的但是非常耗计算量的方法。
当Hessian矩阵在经过相关的坐标变化后,出现最陡下降时(牛顿迭代中选择了很好的搜索方向),会产生很小的条件数,所以收敛快

基本定义

牛顿迭代:基于Hessian矩阵范数的最速下降法

△ x n t = − ∇ 2 f ( X ) − 1 ∇ f ( x )    ⟹    ∇ f ( x ) T △ x n t = − ∇ f ( x ) T ∇ 2 f ( X ) − 1 ∇ f ( x ) = − ∣ ∣ ∇ f ( x ) ∣ ∣ ∇ 2 f ( x ) ∗ 2 \triangle x_{nt}=-\nabla^2f(X)^{-1}\nabla f(x)\implies \nabla f(x)^T \triangle x_{nt}=-\nabla f(x)^T\nabla^2f(X)^{-1}\nabla f(x)=-||\nabla f(x)||_{\nabla^2f(x)*}^2 xnt=2f(X)1f(x)f(x)Txnt=f(x)T2f(X)1f(x)=f(x)2f(x)2

在这里插入图片描述

直观理解

在这里插入图片描述
不断逼近函数的零点,而且若零点不唯一,则初始值会影响所求得的零点
在这里插入图片描述

特点

牛顿法有一些超越梯度下降法和最速下降法的优点

  • 牛顿法的收敛速度一般更快,一旦达到二次收敛阶段,最多需要六次左右的迭代就可以产生高质量解

  • 牛顿法具有仿射不变性(与坐标变换无关),对目标的条件数和坐标不敏感

    x = T y , f ( x ) = f ( T y ) , T x=Ty, f(x)=f(Ty),T x=Ty,f(x)=f(Ty),T是非奇异的 , 分别对 f ( T y ) f(Ty) f(Ty)求一阶导【 d f ( T y ) d y \frac{df(Ty)}{dy} dydf(Ty)】和二阶导

    ∇ y f ( T y ) = T T ∇ x f ( x ) , ∇ y 2 f ( T y ) = T T ∇ x f ( x ) T \nabla_yf(Ty)=T^T\nabla_xf(x) , \nabla_y^2f(Ty)=T^T\nabla_xf(x)T yf(Ty)=TTxf(x),y2f(Ty)=TTxf(x)T

    △ y n t = − ∇ 2 f ( x ) − 1 ∇ f ( x ) = ( T T ∇ x f ( x ) T ) − 1 T T ∇ x f ( x ) = T − 1 ( ∇ x 2 f ( x ) ) − 1 ∇ x f ( x ) = T − 1 △ x n t \triangle y_{nt}=-\nabla^2f(x)^{-1}\nabla f(x)=(T^T\nabla_xf(x)T)^{-1}T^T\nabla_xf(x)=T^{-1}(\nabla_x^2f(x))^{-1}\nabla_xf(x)=T^{-1}\triangle x_{nt} ynt=2f(x)1f(x)=(TTxf(x)T)1TTxf(x)=T1(x2f(x))1xf(x)=T1xnt

       ⟹    △ x n t = T △ y n t , x = T y \implies\triangle x_{nt}=T\triangle y_{nt} , x=Ty xnt=Tynt,x=Ty【两种变换保持一致】

  • 牛顿法的良好性能与算法参数无关

  • 牛顿法可适用在不同规模的问题上,且10000维和10维问题的运算次数差别不大
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

牛顿方法的主要缺点是形成和存储Hessian矩阵的成本,以及计算牛顿步骤的成本(求解一组线性方程组)

算法步骤

在这里插入图片描述

收敛性分析

  • 牛顿补偿Newton decrement

    λ ( x ) = ( ∇ f ( x ) T △ x n t ) 1 2 = ( ∇ f ( x ) T ∇ 2 f ( x ) − 1 ∇ f ( x ) ) 1 2 = ∣ ∣ ∇ f ( x ) ∣ ∣ ∇ 2 f ( x ) ∗ \lambda(x)=(\nabla f(x)^T\triangle x_{nt})^{\frac12}=(\nabla f(x)^T\nabla^2f(x)^{-1}\nabla f(x))^{\frac12}=||\nabla f(x)||_{\nabla^2f(x)*} λ(x)=(f(x)Txnt)21=(f(x)T2f(x)1f(x))21=f(x)2f(x),衡量 x 到 x ∗ x到x^* xx的距离

    1.设二阶逼近 f ( y ) ^ , 求 f ( x ) − inf ⁡ y f ( y ) ^ \hat{f(y)},求f(x)-\inf_y\hat{f(y)} f(y)^f(x)infyf(y)^
    在这里插入图片描述
    △ x = y ^ − x , 有 f ( y ) ^ = f ( x ) + ∇ f ( x ) T △ x + 1 2 △ x T ∇ 2 f ( x ) △ x \triangle x=\hat y-x, 有\hat{f(y)}=f(x)+\nabla f(x)^T\triangle x+\frac 12\triangle x^T\nabla^2f(x)\triangle x x=y^x,f(y)^=f(x)+f(x)Tx+21xT2f(x)x

    f ( x ) − inf ⁡ y f ( y ) ^ = f ( x ) − inf ⁡ f ^ ( x + △ x ) , f ^ ( y ) 的 极 小 值 在 △ x = − ( ∇ 2 f ( x ) ) − 1 ∇ f ( x ) = △ x n t f(x)-\inf_y\hat{f(y)}=f(x)-\inf\hat f(x+\triangle x), \hat f(y)的极小值在\triangle x=-(\nabla^2 f(x))^{-1}\nabla f(x)=\triangle x_{nt} f(x)infyf(y)^=f(x)inff^(x+x),f^(y)x=(2f(x))1f(x)=xnt

    f ( x ) − inf ⁡ y f ( y ) ^ = f ( x ) − f ^ ( x + △ x n t ) = 1 2 λ ( x ) 2 f(x)-\inf_y\hat{f(y)}=f(x)-\hat f(x+\triangle x_{nt})=\frac 12\lambda(x)^2 f(x)infyf(y)^=f(x)f^(x+xnt)=21λ(x)2

    所以 λ \lambda λ可以作为二阶逼近下的停止条件

    2. λ ( x ) = ( ∇ f ( x ) T △ x n t ) 1 2 = ( ∇ f ( x ) T ∇ 2 f ( x ) − 1 ∇ f ( x ) ) 1 2 \lambda(x)=(\nabla f(x)^T\triangle x_{nt})^{\frac12}=(\nabla f(x)^T\nabla^2f(x)^{-1}\nabla f(x))^{\frac12} λ(x)=(f(x)Txnt)21=(f(x)T2f(x)1f(x))21将下降方向与二阶导数联系起来

  • 收敛性证明&收敛条件
    在这里插入图片描述在这里插入图片描述

牛顿法迭代的复杂度计算

在这里插入图片描述在这里插入图片描述

拟牛顿法

  • DFP

  • BFGS:模拟 ∇ 2 f ( x ) \nabla^2f(x) 2f(x)

    s k = x k + 1 − x k , y k = ∇ f ( x k + 1 ) − ∇ f ( x k ) s_k=x_{k+1}-x_k , y_k=\nabla f(x_{k+1})-\nabla f(x_k) sk=xk+1xk,yk=f(xk+1)f(xk)

    D k + 1 = ( I − s k y k T y k T s k ) D k ( I − y k s k T y k T s k ) + s k s k T y k T s k D_{k+1}=(I-\frac{s_ky_k^T}{y_k^Ts_k})D_k(I-\frac{y_ks_k^T}{y_k^Ts_k})+\frac{s_ks_k^T}{y_k^Ts_k} Dk+1=(IykTskskykT)Dk(IykTskykskT)+ykTskskskT

随机梯度下降SGD

  • 损失函数和梯度下降法是一样的:
    L ( θ ) = ∑ x ∈ s ( f θ ( x ) − f ∗ ( x ) ) 2 L(\theta)=\sum_{x\isin{s}}{(f_{\theta}(x)-f^*(x))^2} L(θ)=xs(fθ(x)f(x))2

  • 迭代变量有所不同

    • GD是 θ t + 1 = θ t − η ∇ θ L \theta^{t+1}=\theta^{t}-\eta\nabla_{\theta}{L} θt+1=θtηθL
    • SGD是 θ t + 1 = θ t − η ∇ θ L ′ \theta^{t+1}=\theta^{t}-\eta\nabla_{\theta}{L'} θt+1=θtηθL
      L ′ = ∑ x ∈ s ′ ( f θ ( x ) − f ∗ ( x ) ) 2 , s ′ ⊊ s L'=\sum_{x\isin{s'}}{(f_{\theta}(x)-f^*(x))^2},s'\subsetneq s L=xs(fθ(x)f(x))2,ss
  • 针对大数据集,内存不足的情况,SGD可以实现较快求解

  • ​SGD具有随机性,存在噪音,使得损失函数存在震荡
    GD不存在噪音,因为每一个样本都实现了求解

总结

  • 无约束优化问题
    • 基本形式

      假设 1. f ( x ) 是 凸 函 数 2. f ( x ) 二 阶 可 导 3. 存 在 唯 一 的 优 化 点 x ∗ , 有 p ∗ = inf ⁡ x f ( x ) 1.f(x)是凸函数\quad 2.f(x)二阶可导\quad 3.存在唯一的优化点x^*,有p^*=\inf_x{f(x)} 1.f(x)2.f(x)3.x,p=infxf(x)

      min ⁡ f ( ( x ) , f ( x ) : R n → R , x ∗ o p t i m a l    ⟺    ∇ f ( x ∗ ) = 0 \min{f((x)},f(x):R^n\rightarrow R , x^* optimal\iff \nabla{f(x^*)}=0 minf((x),f(x):RnR,xoptimalf(x)=0

    • 强凸性质:最小的特征值也大于m

      ∇ 2 f ( x ) ≥ m I    ⟹    f ( x ) − p ∗ ≤ 1 2 m ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 {\nabla^2{f(x)}\geq mI}\implies f(x)-p^*\leq \frac1{2m}||\nabla{f(x)}||_2^2 2f(x)mIf(x)p2m1f(x)22, 由此可知,f(x)与最优点 x ∗ x^* x的距离与f(x)导数的模长有关

      1 2 m ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 < ε    ⟹    ∇ f ( x ) ≤ 2 m ε    ⟹    ∣ ∣ f ( x ) − p ∗ ∣ ∣ 2 < ε \frac1{2m}||\nabla{f(x)}||_2^2<\varepsilon\implies\nabla{f(x)}\leq \sqrt{2m\varepsilon} \implies||f(x)-p^*||_2<\varepsilon 2m1f(x)22<εf(x)2mε f(x)p2<ε

      (限制了函数值与最小值的距离,可以方便控制步长大小)

    • 条件数

      λ m a x , λ m i n \lambda_{max},\lambda_{min} λmax,λmin分别是 ∇ 2 f ( x ) \nabla^2{f(x)} 2f(x)中最大和最小特征值的绝对值

      条件数定义: K = λ m a x λ m i n K=\frac{\lambda_{max}}{\lambda_{min}} K=λminλmax,条件数K越大(系统越不稳定), 迭代到最优的步数就越多

  • 下降方法
    x + = x + t △ x x^+=x+t\triangle x x+=x+tx △ x \triangle{x} x可以是搜索的方向,一般是函数下降的方向,所以满足 ∇ f ( x ) T △ x < 0 \nabla{f(x)^T}\triangle{x}<0 f(x)Tx<0
    • 线搜索

      • 精确线性搜索: t = arg ⁡ min ⁡ t > 0 f ( x + t △ x ) t=\arg\min_{t>0}f(x+t\triangle x) t=argmint>0f(x+tx)
      • 向后追踪搜索: 含有两个参数 α ∈ ( 0 , 1 2 ) , β ∈ ( 0 , 1 ) \alpha\isin(0,\frac12),\beta\isin(0,1) α(0,21),β(0,1)
        在这里插入图片描述
    • 梯度下降法GD

      • 算法步骤:默认 △ x = − ∇ f ( x ) \triangle{x}=-\nabla{f(x)} x=f(x),停止条件 ∣ ∣ ∇ f ( x ) ∣ ∣ 2 < ε ||\nabla{f(x)}||_2<\varepsilon f(x)2<ε
        在这里插入图片描述
      • 近似线性收敛
        根据强凸性质的收敛结果: 1 2 M ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 ≤ f ( x ) − p ∗ ≤ 1 2 m ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 \frac1{2M}||\nabla{f(x)}||_2^2\leq f(x)-p^*\leq \frac1{2m}||\nabla{f(x)}||_2^2 2M1f(x)22f(x)p2m1f(x)22
        在这里插入图片描述
        • 精确线性收敛条件: t = 1 M t=\frac1M t=M1
        • backtracking线性收敛条件: t = min ⁡ { 1 , β M } , α , β t=\min\{1,\frac\beta M\},\alpha,\beta t=min{1,Mβ}αβ的选取对收敛性有影响
        • 精确线搜索有时会提高梯度法的收敛性,但效果不大(可能不值得实施精确线搜索的麻烦)
        • 收敛速度在很大程度上取决于Hessian矩阵或子级集的条件数,收敛可能非常缓慢(条件数=100)
      • 特点
        梯度法的主要优点是简单, 其主要缺点是其收敛速度严重依赖于Hessian或子级集的条件数
    • 最速下降法SD
      △ x n s d = arg ⁡ min ⁡ v { ∇ T f ( x ) v ∣   ∣ ∣ v ∣ ∣ P ≤ 1 } , △ x s d = ∣ ∣ ∇ f ( x ) ∣ ∣ P ∗ ∗ △ x n s d \triangle x_{nsd}=\arg\min_v\{\nabla^Tf(x)v |\space||v||_P\leq1\},\triangle x_{sd}=||\nabla f(x)||_{P*}*\triangle x_{nsd} xnsd=argminv{Tf(x)v vP1}xsd=f(x)Pxnsd

      • 方向选取(坐标变换)

        • 二范数:梯度下降GD
        • L1范数:沿下降最快的坐标轴方向
        • quadratic范数:变换矩阵P取Hessian矩阵时是牛顿法
      • 算法步骤
        在这里插入图片描述

      • 近似线性收敛

        e t = f ( x ) − p ∗ , 有 误 差 不 等 式 e t + 1 ≤ e t ( 1 − 2 m α t ~ γ ~ 2 ) , t ~ = min ⁡ { 1 , β γ ~ 2 M } e_t=f(x)-p^* , 有误差不等式 e_{t+1}\leq e_t(1-2m\alpha \tilde t \tilde\gamma^2), \tilde t=\min\{1,\frac{\beta{\tilde\gamma}^2}{M}\} et=f(x)p,et+1et(12mαt~γ~2),t~=min{1,Mβγ~2}

        c = ( 1 − 2 m α t ~ γ ~ 2 ) < 1 , e t + 1 ≤ c e t , f ( x ( k ) ) − p ⋆ ≤ c k ( f ( x ( 0 ) ) − p ⋆ ) c=(1-2m\alpha \tilde t \tilde\gamma^2)<1,e_{t+1}\leq ce_t, f(x^{(k)})-p^⋆\leq c^k(f(x^{(0)})-p^⋆) c=(12mαt~γ~2)<1,et+1cet,f(x(k))pck(f(x(0))p)

        也是近似线性收敛的,但是收敛性与范数以及变换矩阵P的选取高度相关

    • 补充说明

      • Boyd书中的定义
        • GD: △ x s d = − ∇ f ( x ) , t − > \triangle x_{sd}=-\nabla f(x), t-> xsd=f(x),t>line search
        • SD: △ x s d = arg ⁡ min ⁡ v { ∇ T f ( x ) v ∣   ∣ ∣ v ∣ ∣ . ≤ 1 } , t − > \triangle x_{sd}=\arg\min_v\{\nabla^Tf(x)v |\space||v||_.\leq1\}, t-> xsd=argminv{Tf(x)v v.1},t>line search
      • 平常的定义
        • GD: △ x s d = − ∇ f ( x ) , t − > \triangle x_{sd}=-\nabla f(x), t-> xsd=f(x),t>fixed learning rate
        • SD: △ x s d = − ∇ f ( x ) , , t − > \triangle x_{sd}=-\nabla f(x),, t-> xsd=f(x),,t>exact line search
  • 牛顿法
    △ x n t = − ∇ 2 f ( X ) − 1 ∇ f ( x )    ⟹    ∇ f ( x ) T △ x n t = − ∇ f ( x ) T ∇ 2 f ( X ) − 1 ∇ f ( x ) = − ∣ ∣ ∇ f ( x ) ∣ ∣ ∇ 2 f ( x ) ∗ 2 \triangle x_{nt}=-\nabla^2f(X)^{-1}\nabla f(x)\implies \nabla f(x)^T \triangle x_{nt}=-\nabla f(x)^T\nabla^2f(X)^{-1}\nabla f(x)=-||\nabla f(x)||_{\nabla^2f(x)*}^2 xnt=2f(X)1f(x)f(x)Txnt=f(x)T2f(X)1f(x)=f(x)2f(x)2
    • 定义:最速下降法的一个特例(Hessian矩阵定义的范数),逼近函数的零点
      不断逼近函数的零点,而且若零点不唯一,则初始值会影响所求得的零点
      在这里插入图片描述
    • 特点【收敛快但计算复杂度高,迭代步数与变量个数的相关度小】
      • 牛顿法的收敛速度快,变换矩阵 P = ∇ 2 f ( x ∗ ) ≈ ∇ 2 f ( x ) [ x → x ∗ ] P=\nabla^2 f(x^*)\approx\nabla^2f(x)[x\rightarrow x^*] P=2f(x)2f(x)[xx],所以牛顿迭代是一个很好的搜索方向
      • 牛顿法具有仿射不变性(与坐标变换无关),对目标的条件数和坐标不敏感
      • 牛顿法可适用在不同规模的问题上,且10000维和10维问题的运算次数差别不大
      • 牛顿法的良好性能与算法参数无关
      • 牛顿方法的主要缺点是形成和存储Hessian矩阵的成本,以及计算牛顿步骤的成本高(解线性方程组) ,复杂度: O ( 1 3 n 3 ) O(\frac13n^3) O(31n3)
    • 算法步骤
      在这里插入图片描述
    • 二阶收敛
      牛顿补偿Newton decrement: λ ( x ) = ( ∇ f ( x ) T △ x n t ) 1 2 = ( ∇ f ( x ) T ∇ 2 f ( x ) − 1 ∇ f ( x ) ) 1 2 = ∣ ∣ ∇ f ( x ) ∣ ∣ ∇ 2 f ( x ) ∗ \lambda(x)=(\nabla f(x)^T\triangle x_{nt})^{\frac12}=(\nabla f(x)^T\nabla^2f(x)^{-1}\nabla f(x))^{\frac12}=||\nabla f(x)||_{\nabla^2f(x)*} λ(x)=(f(x)Txnt)21=(f(x)T2f(x)1f(x))21=f(x)2f(x),衡量 x 到 x ∗ x到x^* xx的距离,可以作为二阶逼近下的停止条件。
      以下是收敛要求:
      • 一阶导可逆: ε n + 1 = 1 2 g ′ ′ ( ξ n ) g ′ ( x n ) ε n 2 \varepsilon_{n+1}=\frac12\frac{g''(\xi_n)}{g'(x_n)}\varepsilon_n^2 εn+1=21g(xn)g(ξn)εn2(二阶收敛)
      • Hessian矩阵满足一致连续(或Lipschitz条件)
      • 初始值 x 0 x_0 x0与最优解充分靠近
    • 拟牛顿法:DFP,BFGS
  • 随机梯度下降SGD
    迭代: θ t + 1 = θ t − η ∇ θ L ′ , L ′ = ∑ x ∈ s ′ ( f θ ( x ) − f ∗ ( x ) ) 2 , s ′ ⊊ s \theta^{t+1}=\theta^{t}-\eta\nabla_{\theta}{L'}, L'=\sum_{x\isin{s'}}{(f_{\theta}(x)-f^*(x))^2},s'\subsetneq s θt+1=θtηθL,L=xs(fθ(x)f(x))2,ss
    针对大数据集,内存不足的情况,SGD可以实现较快求解,SGD具有随机性,存在噪音,使得损失函数存在震荡,而GD不存在噪音,因为每一个样本都实现了求解

备注:Hessian矩阵    ⟺    ∇ 2 f ( x ) \iff\nabla^2f(x) 2f(x)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值