第三章 牛顿法§3.1 最速下降法一、最速下降法在极小化算法中,若每次都以迭代点处的负梯度方向为搜索方向,产生的算法称为最速下降法,它是无约束最优化算法中最简单、最基本的算法。
算法描述:1) 给出初始点0nx R ∈,允许误差0ε>,0k =;2) 计算k k d g =-,若k g ε≤,Stop 令 *k x x ≈;3) 由一维搜索确定步长因子k α,使得()min ()k k k k k f x d f x d ααα≥+=+4) 令1k k k k x x d α+=+,1k k =+,go to 2).的每个聚点均为驻点。
令{}1k K d 有界,且2()(())()0Tf x f x f x ∇-∇=-∇=故有 ()0f x ∇=。
定理 3.2 设()f x 二次连续可微,且2()f x M ∇≤,则对任何给定的初始点0nx R ∈,最速下降算法或有限终止,或lim ()k k f x →∞=-∞,或lim ()0k k f x →∞∇=。
证明:不妨设k ∀,()0k f x ∇≠。
由定理2.5有211()()()2k k k f x f x f x M+-≥∇ 于是 []120101()()()()()2kk k i i i i i f x f x f x f x f x M -+==-=-≥∇∑∑令k →∞,由{()}k f x 为单调下降序列,则要么lim ()k k f x →∞=-∞,要么 lim k →∞∇定理3.3 设1f C ∈证明:直接由定理2.14可得。
注:1) 21λ,n λ分别为G 的≤ ()k k I G x α-其中k α使 (())(())k k k f I G x f I G x αα-≤-, 0α∀≥ 若设 ()1k P t t α=-,()Q t ut λ=- 其中,u R λ∈。
则有()Q G I uG λ=-,而(0)Q λ=,利用这些,可知1()()(())()(0)k k k k Q G f x f I G x f x Q α+=-≤, (要求0uλ>) 21()()1()()(())(())2(0)(0)2(0)T T k k k k Q G Q G x G x Q G x G Q G x Q Q Q == 设12,,n λλλ≥≥L 是G 的特征值,而(1,,)i u i n =L 是对应得标准特征向量(两两正交的单位向量)。
令()1nk k i ii x au ==∑,则上式可进一步表示为:()()2111(())(())2(0)n nk T k i i j j i j a Q G u G a Q G u Q ==∑∑ ()()2111(())(())2(0)n nk Tk i i i j j j i j a Q u G a Q u Q λλ===∑∑ (将G 作用到∑内每一项) ()()2111(())(())2(0)n nk T k i i i j j j j i j a Q u a Q u Q λλλ===∑∑(由i u 是标准正交向量组) 对1=-。
1n显然()Q t 单调上升。
由1()1,()1n Q Q λλ==-,及12,,n λλλ≥≥L ,即得()1(1,,)i Q i n λ≤=L 。
由 ()()22()2()1221111()()2(0)2(0)n nk k k i i i i i i i f x a Q a Q Q λλλ+==≤≤∑∑ 及 ()2()()()()()11111111()()()()()222n nn n n k T k k T k k k i i j j i i j j j i i i j i j i f x a u G a u a u a u a λλ========∑∑∑∑∑即得 12()()(0)k k f x f x Q +≤. 再由 2211(0)n n Q λλλλ⎛⎫+= ⎪-⎝⎭最后得 2111()()n k k n f x f x λλλλ+⎛⎫-≤ ⎪+⎝⎭0k ∀≥.由1101nnλλλλ-<<+,并注意到()f x 是正定二次函数(()0f x ≥), 则有()0 ()k f x k →→∞。
再由()f x 为严格凸二次函数(正定二次型),故当且仅当0x =时,()0f x =,由此可推得必有*0k x x →=.再注意到*()0f x =,则有2*111*1()()()()()()k k n k k n f x f x f x f x f x f x λλλλ++⎛⎫--=≤ ⎪-+⎝⎭是对称正定的,故有由211*11()n k kn n k k x x f x λλλλλλλ⎛⎫-≤ ⎪+-⎝⎭最后得*1*k k x x x x +-≤-(其中1nλτλ=)。
这表明:最速下降算法至少具有线性收敛速度。
定理3.5(Kantorovich 不等式)设G 是n 阶对称正定矩阵,1λ和n λ分别为其最大和最小特征值,则nx R ∀∈,有211214()()()()T n T T n x x x Gx x G x λλλλ-≥+。
证明:参见袁亚湘等《最优化理论与方法》第三章附录,略。
以上对特殊形式的二次函数1()2Tf x x Gx =的收敛速度进行讨论,对一般的二次函数 1()2TT f x x Gx b x =+ 利用Kantorovich*0Gx b +=且()f x 可表示为 **1()()()2T f x x x G x x =--记 **1()()()2T E x x x G x x =--则()E x 与()f x(由Kantorovich 不等式) (1) *x x =时,**()()()02T E x x x G x x =--=利用()E x 一致凸性,可证必有:*k x x →。
这表明:算法产生的点列{}k x 是整体收敛到*x 的。
由(1)有: 2*111*1()()()()()()k k n k k n f x f x E x f x f x E x λλλλ++⎛⎫--=≤ ⎪-+⎝⎭(2)注意到: ***1()02T f x x Gx ≤-≤,由(2)有 22*11111()()1()n nk k n n f x f x f x λλλλλλλλ+⎡⎤⎛⎫⎛⎫--⎢⎥≤+- ⎪ ⎪++⎢⎥⎝⎭⎝⎭⎣⎦211()n k n f x λλλλ⎛⎫-≤ ⎪+⎝⎭(3)再令*k k e x x =-(k ∀),则的近2()()()()()()()2T T k k k k k k f x f x f x x x x x f x x x ≈+∇-+-∇-记 ()21()()()()2k TT k k k q s f x f x s s f x s =+∇+∇,其中k s x x =-,极小化()()k qs 得211(())()k k k k k s f x f x G g --=-∇∇=-进而得牛顿算法的迭代公式: 11k k k k x x G g -+=-.关于牛顿算法的若干评注① 牛顿算法可视为椭球范数kG g 下的最速下降算法。
事实上,欧氏空间n R 中一般范数g 下的方向导数定义为:a) 即②由于min ()nx Rf x ∈等价于求解非线性方程组 ()0f x ∇=设k x 是当前迭代点,若()0k f x ∇=,则k x 是方程组的解,否则将()f x ∇在k x 处线性化,得2()()()()0k k k f x f x f x x x ∇≈∇+∇-=将上述线性方程组的解作为()0f x ∇=的近似解,得 21()()k k k x x f x f x --=-∇∇ 故有 211()()k k k k x x f x f x -+=-∇∇,这恰好就是牛顿迭代公式。
二、牛顿法的收敛性 定理3.7 设(2)f C∈,k x 充分靠近极小点*x ,而*()0f x ∇=,2*()f x ∇正定,若进一步假设Hessian矩阵()G x 满足Lipschitz 条件。
则由牛顿法产生的序列{}k x 收敛于*x ,且具有二阶的收敛速度。
证明:由 *11***00(())()()(())()k k k k k k dg x x x g x g x d G x x x x x d d ααααα+--==+--⎰⎰ 及()G x 满足Lipschitz 条件,可得**2())()]())k k k x x G x x x d αα---(*)*时,k G 正定,且1k G -有上界。
)k 最大,()k n λ最小,则1k G -的特征值为。
又特征值是特征多项式系*x x ε-≤时,存在m, M 使得 1(())(())n m G x G x M λλ≤≤≤, (相当于特征值一致有界) 因而当*k x x ε-≤时1()()n k k m G G M λλ≤≤≤(这里()n k G λ1()k G λ分别表示k G 的最小、最大特征值)。
由以上分析及(*)式,则有21**0()()k k k k G g x x o x x -=--+-2**1()0k k x x o x x +⇒-++-=2**1k k x x c x x+⇒-≤- (**)只要*1k c x x r -<<,则有*10k x x +-→,即*k x x →,迭代点列收敛,且由(**)式知,算法具有二阶收敛的速度。
关于算法的评价1)优点:当初始点0x 离最优解*x 很近时,收敛速度快;算法简单;不需要用一维搜索。
2) 缺点:局部收敛,k G 不正定时,不能保证牛顿方向是下降方向。
事实上,当k G 为正定时,牛顿方向1k k k s G g -=-满足:10T T k k k k g s g G g -=-<(下降方向),但若k G 非正定,则不能保证k s 是下降方向。
由以上分析可知,固定的步长因子不能保证目标函数有合理的改善,甚至不能保证算法下降,因此有必要对牛顿算法作一些改进,一个最直接的改进是:在牛顿算法中加入一维搜索。
112;40()min k k f x d αα≥+;52.总体收敛性定理3.8 设:nf R R →二阶连续可微,且对任意的0nx R ∈,存在常数0m >,使得()f x 在水平集00(){()()}L x x f x f x =≤上满足,22()Tu f x u m u ∇≥,nu R ∀∈,0()x L x ∈则在精确一维搜索条件下,带步长因子的牛顿法产生的迭代点列{}k x 满足: 1) 当{}k x 为有穷点列时,对某个k ,有0k g =;2) 当{}k x 为无穷点列时,{}k x 收敛到f 的唯一极小点*x 。