非线性优化-最优化问题之迭代下降

主 要 摘 自 《 非 线 性 优 化 》 \color{#F00}{主要摘自《非线性优化》} 线
\qquad 最优化问题一般使用约束集 X X X和目标函数 f f f进行表示。集合 X X X中包含所有可用的决策 x x x,函数 f ( x ) f(x) f(x) X X X的元素映射到实数集上,表示决策 x x x带来的成本损失。目标是寻找 x ∗ ∈ X x^{*}\in X xX,并满足
f ( x ∗ ) ≥ f ( x ) ,   ∀ ∈ X f(x^{*})\ge f(x),\ \forall\in X f(x)f(x), X \qquad 假定 x x x是一个 n n n维向量,即 x x x是一个由实数构成的 n n n元数组( x 1 , . . . , x n x_{1},...,x_{n} x1,...,xn),因此约束集 X X X n n n维欧式空间 ℜ n \Re^{n} n的子集。

必要和充分条件

\qquad 最优性必要条件 x ∗ x^{*} x f : ℜ n ↦ ℜ f:\Re^{n}\mapsto\Re f:n的无约束局部最小值点,并且假设 f f f在开集 S S S上连续可微, x ∗ ∈ S x^{*}\in S xS,那么有
∇ f ( x ∗ ) = 0 ( 一 阶 必 要 条 件 ) \nabla f(x^{*})=0\qquad(一阶必要条件) f(x)=0()
如果 f f f S S S中是二阶连续可微的,那么有
∇ 2 f ( x ∗ ) :   半 正 定 . ( 二 阶 必 要 条 件 ) \nabla^{2}f(x^{*}):\ 半正定.\qquad(二阶必要条件) 2f(x): .()
\qquad 二阶最优性充分条件 f : X ↦ ℜ f:X\mapsto\Re f:X为开集 X X X上的一个二阶可微函数,假设向量 x ∗ ∈ S x^{*}\in S xS满足条件
∇ f ( x ∗ ) = 0 ,   ∇ 2 f ( x ∗ ) : 正 定 \nabla f(x^{*})=0,\ \nabla^{2}f(x^{*}):正定 f(x)=0, 2f(x)那么 x ∗ x^{*} x f f f上的严格无约束局部极小值点。特别的,存在标量 γ > 0 \gamma>0 γ>0 ϵ > 0 \epsilon>0 ϵ>0满足
f ( x ) ≥ f ( x ∗ ) + γ 2 ∣ ∣ x − x ∗ ∣ ∣ 2 , ∀   x   使 得 ∣ ∣ x − x ∗ ∣ ∣ &lt; ϵ f(x)\ge f(x^{*})+\frac{\gamma}{2}||x-x^{*}||^{2},\qquad\forall\ x\ 使得||x-x^{*}||&lt;\epsilon f(x)f(x)+2γxx2, x 使xx<ϵ

迭代下降

方向选择( d k d^{k} dk

\qquad 针对连续可微函数 f : ℜ n ↦ ℜ f:\Re^{n}\mapsto\Re f:n的无约束最小化问题,大多数算法基于迭代下降的算法。该方法步骤为:从某点 x 0 x^{0} x0(初始点)开始,接连不断生成向量 x 1 , x 2 , . . . x^{1},x^{2},... x1,x2,...,使得 f f f在每次迭代中都下降。即
f ( x k + 1 ) ≤ f ( x k ) , k = 0 , 1 , . . . , f(x^{k+1})\leq f(x^{k}),\qquad k=0,1,..., f(xk+1)f(xk),k=0,1,...,不断降低 f f f的值直到达到最小值点
\qquad 考虑向量构成的半直线
x α = x + α d , ∀ α ≥ 0 x_{\alpha}=x+\alpha d,\qquad\forall\alpha\ge0 xα=x+αd,α0其中方向向量 d ∈ ℜ n d\in\Re^{n} dn ∇ f ( x ) \nabla f(x) f(x)呈大于 9 0 ∘ 90^{\circ} 90的角,即
∇ f ( x ) ′ d &lt; 0 \nabla f(x)^{&#x27;}d&lt;0 f(x)d<0 \qquad 再次利用泰勒展开,有
f ( x α ) = f ( x ) + α ∇ f ( x ) ′ d + O ( α ) f(x_{\alpha})=f(x)+\alpha\nabla f(x)^{&#x27;}d+O(\alpha) f(xα)=f(x)+αf(x)d+O(α) \qquad α \alpha α接近于零时, α ∇ f ( x ) ′ d \alpha\nabla f(x)^{&#x27;}d αf(x)d的值远大于 o ( α ) o(\alpha) o(α),对于充分小的正数 α \alpha α f ( x + α d ) f(x+\alpha d) f(x+αd)都比 f ( x ) f(x) f(x)小,考虑迭代 x k + 1 = x k + α k d k , k = 0 , 1 , . . . x^{k+1}=x^{k}+\alpha^{k}d^{k},\qquad k=0,1,... xk+1=xk+αkdk,k=0,1,...
\qquad 选择下降方向:梯度方法一般可以定义为
x k + 1 = x k − α k D k ∇ f ( x k ) x^{k+1}=x^{k}-\alpha^{k}D^{k}\nabla f(x^{k}) xk+1=xkαkDkf(xk)其中, D k D^{k} Dk正定对称矩阵,因为 d k = − D k ∇ f ( x k ) d^{k}=-D^{k}\nabla f(x^{k}) dk=Dkf(xk),下降条件为 ∇ f ( x ) ′ d k &lt; 0 \nabla f(x)^{&#x27;}d^{k}&lt;0 f(x)dk<0即为 ∇ f ( x k ) ′ D k ∇ f ( x k ) &gt; 0 \nabla f(x^{k})^{&#x27;}D^{k}\nabla f(x^{k})&gt;0 f(xk)Dkf(xk)>0,因而矩阵 D k D^{k} Dk是正定的。
\qquad 最速下降法 D k = I ,   k = 0 , 1 , . . . D^{k}=I,\ k=0,1,... Dk=I, k=0,1,...。这时最简单的梯度下降法,但该方法的收敛速度较慢。
\qquad 牛顿法 D k = ( ∇ 2 f ( x k ) ) − 1 D^{k}=(\nabla^{2}f(x^{k}))^{-1} Dk=(2f(xk))1,其中 ∇ 2 f ( x k ) \nabla^{2}f(x^{k}) 2f(xk)为正定对称矩阵。其思想为在每次迭代中,在当前解 x k x^{k} xk附近最小化 f f f的二阶近似,即:
f ( x k + 1 ) = f ( x k ) + ∇ f ( x k ) ′ ( x k + 1 − x k ) + 1 2 ( x k + 1 − x k ) ′ ∇ 2 f ( x k ) ( x k + 1 − x k ) f(x^{k+1})=f(x^{k})+\nabla f(x^{k})^{&#x27;}(x^{k+1}-x^{k})+\frac{1}{2}(x^{k+1}-x^{k})^{&#x27;}\nabla^{2}f(x^{k})(x^{k+1}-x^{k}) f(xk+1)=f(xk)+f(xk)(xk+1xk)+21(xk+1xk)2f(xk)(xk+1xk) f ( x k + 1 ) f(x^{k+1}) f(xk+1)的导数( ∂ f ( x k + 1 ) / ∂ x k + 1 \partial f(x^{k+1})/\partial x^{k+1} f(xk+1)/xk+1)为0,因而有
∇ f ( x k ) + ∇ 2 f ( x k ) ( x k + 1 − x k ) = 0 \nabla f(x^{k})+\nabla^{2}f(x^{k})(x^{k+1}-x^{k})=0 f(xk)+2f(xk)(xk+1xk)=0因而
x k + 1 = x k − ( ∇ 2 f ( x k ) ) − 1 ∇ f ( x k ) x^{k+1}=x^{k}-(\nabla^{2}f(x^{k}))^{-1}\nabla f(x^{k}) xk+1=xk(2f(xk))1f(xk) \qquad 牛顿法收敛速度快,但其计算量较大。
\qquad 修正的牛顿方法
D k = ( ∇ 2 f ( x 0 ) ) − 1 , k = 0 , 1 , . . . , D^{k}=(\nabla^{2}f(x^{0}))^{-1},\qquad k=0,1,..., Dk=(2f(x0))1,k=0,1,...,其中 ∇ 2 f ( x 0 ) \nabla^{2}f(x^{0}) 2f(x0)是给定的,方法与牛顿法类似,但Hessian矩阵不需要在每次迭代中计算
\qquad 离散牛顿法
D k = ( H ( x k ) ) − 1 , k = 0 , 1 , . . . , D^{k}=(H(x^{k}))^{-1},\qquad k=0,1,..., Dk=(H(xk))1,k=0,1,...,其中 H ( x k ) H(x^{k}) H(xk)是Hessian矩阵的正定对称近似矩阵,通过f的二阶导数的有限差分近似得到的
\qquad 高斯-牛顿方法
该问题表示为:
m i n i m i z e f ( x ) = 1 2 ∣ ∣ g ( x ) ∣ ∣ 2 = 1 2 ∑ i = 1 m ( g i ( x ) ) 2 s u b j e c t   t o x ∈ ℜ n minimize\qquad f(x)=\frac{1}{2}||g(x)||^{2}=\frac{1}{2}\sum_{i=1}^{m}(g_{i}(x))^{2}\\ subject\ to\qquad x\in\Re^{n} minimizef(x)=21g(x)2=21i=1m(gi(x))2subject toxn \qquad 使用泰勒展开 f ( x ) = 1 2 ∣ ∣ g ( x 0 ) + ∇ g ( x 0 ) ( x − x 0 ) T ∣ ∣ 2 f(x)=\frac{1}{2}||g(x_{0})+\nabla g(x_{0})(x-x_{0})^{T}||^{2} f(x)=21g(x0)+g(x0)(xx0)T2= 1 2 g ( x 0 ) 2 + 2 ( x − x 0 ) T ∇ g ( x 0 ) g ( x 0 ) + ( x − x 0 ) ∇ g ( x 0 ) T ∇ g ( x 0 ) ( x − x 0 ) T \frac{1}{2}g(x_{0})^{2}+2(x-x_{0})^{T}\nabla g(x_{0})g(x_{0})+(x-x_{0})^{}\nabla g(x_{0})^{T}\nabla g(x_{0})(x-x_{0})^{T} 21g(x0)2+2(xx0)Tg(x0)g(x0)+(xx0)g(x0)Tg(x0)(xx0)T ? ? ? \color{#F00}{???}
∂ f ( x ) ∂ x = 0 \frac{\partial f(x)}{\partial x}=0 xf(x)=0
2 ∇ g ( x 0 ) g ( x 0 ) + 2 ( x − x 0 ) ∇ g ( x 0 ) T ∇ g ( x 0 ) = 0 2\nabla g(x_{0})g(x_{0})+2(x-x_{0})^{}\nabla g(x_{0})^{T}\nabla g(x_{0})=0 2g(x0)g(x0)+2(xx0)g(x0)Tg(x0)=0
x = x 0 − ( ∇ g ( x 0 ) T ∇ g ( x 0 ) ) − 1 ∇ g ( x 0 ) g ( x 0 ) x=x_{0}-(\nabla g(x_{0})^{T}\nabla g(x_{0}))^{-1}\nabla g(x_{0})g(x_{0}) x=x0(g(x0)Tg(x0))1g(x0)g(x0)从而, D k = ( ∇ g ( x 0 ) T ∇ g ( x 0 ) ) − 1 D^{k}=(\nabla g(x_{0})^{T}\nabla g(x_{0}))^{-1} Dk=(g(x0)Tg(x0))1
\qquad 坐标块下降法
\qquad 目标函数每次迭代沿着一个坐标分量最小化,不仅化简了搜索方向的计算,而且是步长选择变得更加容易,因为沿着分量方向的线性最小化相对容易求的
x i k + 1 ∈ a r g m i n ξ ∈ ℜ f ( x 1 k + 1 , . . . , x i − 1 k + 1 , ξ , x i + 1 k , . . . , x n k ) x_{i}^{k+1}\in arg\mathop{min}\limits_{\xi\in \Re}f(x_{1}^{k+1},...,x_{i-1}^{k+1},\xi,x_{i+1}^{k},...,x_{n}^{k}) xik+1argξminf(x1k+1,...,xi1k+1,ξ,xi+1k,...,xnk) \qquad 其一个重要优势是适合并行计算,假设存在分量 x i 1 , . . . , x i m x_{i_{1}},...,x_{i_{m}} xi1,...,xim的子集,分量子集与目标函数之间是非耦合的,即 f ( x ) f(x) f(x)可以表示为 ∑ r = 1 m f i r ( x ) \sum_{r=1}^{m}f_{i_{r}}(x) r=1mfir(x),对于每一个r, f i r ( x ) f_{i_{r}}(x) fir(x)的取值与所有 s ≠ r s\neq r s̸=r x i s x_{i_{s}} xis无关,此时可以实现m个分量的下降迭代独立并行。对于能分割成p个独立分量子集的特殊问题,在p步内实现分量下降迭代的一个完整循环
x i r k + 1 ∈ a r g m i n ξ f i r ( x k + ξ e i r ) , r = 1 , . . . , m . x_{i_{r}}^{k+1}\in arg\mathop{min}\limits_{\xi}f_{i_{r}}(x^{k}+\xi e_{i_{r}}),\qquad r=1,...,m. xirk+1argξminfir(xk+ξeir),r=1,...,m. \qquad 共轭梯度下降

步长选择( α k \alpha^{k} αk)

\qquad 最小化准则 在此准则中,步长 α k \alpha^{k} αk的选择使得目标函数沿着 d k d^{k} dk方向实现最小化,即 α k \alpha^{k} αk满足
f ( x k + α k d k ) = m i n α ≥ 0 f ( x k + α d k ) f(x^{k}+\alpha^{k}d^{k})=\mathop{min}\limits_{\alpha\ge0}f(x^{k}+\alpha d^{k}) f(xk+αkdk)=α0minf(xk+αdk) α \alpha α的取值在区间 [ 0 , s ] [0,s] [0,s]上进行选择同时使目标函数具有最大下降时,称为有限最小化准则。该准则需要使用一维线性搜索算法实现。
\qquad 步长逐渐减小的Armijo准则 在此准则中,可以避免线收索带来的计算量的问题。该方法为逐渐减小步长,首先选择初始步长 s s s,若 f ( x k + s d k ) ≥ f ( x k ) f(x^{k}+sd^{k})\ge f(x^{k}) f(xk+sdk)f(xk),那么利用某个因子减少步长,直到 f f f值出现下降,实践中该方法常被用到,使用Armijo准则可以避免收敛性的困难。在该准则中固定标量 s , β s,\beta s,β σ \sigma σ,其中 0 &lt; β &lt; 1 0&lt;\beta&lt;1 0<β<1,令 α k = β m k s \alpha^{k}=\beta^{m_{k}}s αk=βmks
f ( x k ) − f ( x k + β m s d k ) ≥ − σ β m s ∇ f ( x k ) ′ d k f(x^{k})-f(x^{k}+\beta^{m}sd^{k})\ge-\sigma\beta^{m}s\nabla f(x^{k}) ^{&#x27;}d^{k} f(xk)f(xk+βmsdk)σβmsf(xk)dk \qquad 不断试验步长 β m s , m = 0 , 1 , . . . , \beta^{m}s,m=0,1,..., βms,m=0,1,...,直到m满足上述条件, σ \sigma σ选择为接近零的正数,缩减因子 β \beta β通常在1/2和1/10之间选择。
\qquad G o l d s t e i n Goldstein Goldstein准则 选定一个固定的标量 σ ∈ ( 0 , 1 / 2 ) \sigma\in(0,1/2) σ(0,1/2),选择 α k \alpha^{k} αk满足
σ ≤ f ( x k + α k d k ) − f ( x k ) α k ∇ f ( x k ) ′ d k ≤ 1 − σ \sigma\leq\frac{f(x^{k}+\alpha^{k}d^{k})-f(x^{k})}{\alpha^{k}\nabla f(x^{k})^{&#x27;}d^{k}}\leq1-\sigma σαkf(xk)dkf(xk+αkdk)f(xk)1σ \qquad 固定步长准则 采用一个固定的步长 s &gt; 0 s&gt;0 s>0,即
α k = s , k = 0 , 1 , . . . , \alpha^{k}=s,\qquad k=0,1,..., αk=s,k=0,1,..., \qquad 缩减步长准则 步长逐渐缩减到零,即 α k → 0 \alpha^{k}\rightarrow0 αk0

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值