1 / 74

第四讲 无约束 ( 多维 ) 最优化

硕博共选数学基础课系列. 第四讲 无约束 ( 多维 ) 最优化. 梯度法(最速下降法) 牛顿法与拟牛顿法 变尺度法 (DFP 法 ) 共轭梯度法. 序 无约束最优化问题. 无约束最优化问题. 其中 f ( x ) 有一阶连续偏导数。. 解析方法 :利用函数的解析性质 —— 驻点,得到最优解。. 数值方法 :利用函数的解析性质构造迭代公式使之收敛到最优解。. 2. 无约束问题的最优性条件. 定理 1 设 f ( x ): R n → R 在点 x  R n 处可微,若存在 p  R n ,使.

fagan
Télécharger la présentation

第四讲 无约束 ( 多维 ) 最优化

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 硕博共选数学基础课系列 第四讲无约束(多维)最优化 • 梯度法(最速下降法) • 牛顿法与拟牛顿法 • 变尺度法(DFP法) • 共轭梯度法

  2. 序 无约束最优化问题 无约束最优化问题 其中f (x)有一阶连续偏导数。 解析方法:利用函数的解析性质——驻点,得到最优解。 数值方法:利用函数的解析性质构造迭代公式使之收敛到最优解。 2

  3. 无约束问题的最优性条件 定理1 设f (x): Rn→R在点x Rn处可微,若存在p Rn ,使 则向量p是f (x)在点x处的下降方向 定理2 设f (x): Rn→R在点x* Rn处可微,若x*是minf (x)的 局部最优解 则 g*(x) = f (x*) = 0 注:  梯度为0的点称为函数的驻点。 • 驻点可能是极小点,也可能是极大点,也可能即不是极大 也不是极小,这时称为函数的鞍点。  定理2说明:UMP问题的局部最优解必是目标函数的驻点。 3

  4. 定理3 设f (x): Rn→R在点x* Rn处的Hesse矩阵2f (x*) 存在,若f (x*) =0,且2f (x*) 正定,则 x*是minf (x)的严格局部最优解 定理4 设f (x): Rn→R,x* Rn,f (x)是Rn上的可微凸函 数,若f (x*) =0,则 x*是minf (x)的全局最优解 4

  5. 4.1 梯度法(最速下降法) 5

  6. 4.1 梯度法(最速下降法) 迭代公式: 如何选择下降最快的方向? 函数值增加最快的方向 xk 函数值下降的方向 函数值下降最快的方向 6

  7. 一、梯度法(最速下降法): • 搜索方向:d k = - f (xk),也称为最速下降方向 • 搜索步长:k取最优步长,即满足 • f (xk+k d k) = min f (xk+d k)  二、梯度法算法步骤: 1) 给定初始点x0 Rn,计算误差 > 0,令k : = 0 2) 计算搜索方向d k = - f (xk) 3) 若||d k||  ,则停止计算,x k为所求极值点,否则,求最 优步长k,使得f (xk+k d k) = min f (xk+d k)  4) 令 ,令k: = k+1,转2) 7

  8. 例1 用最速下降法求解 minf (x) = x12+3x22,设初始点x0 = (2, 1)T 求迭代一次后的迭代点x1 解: 令 求解 令 8

  9. 三、最速下降法的特点 1. 性质 设f (x)具有一阶连续偏导数,若步长k满足 则有 证明:令 有 注:因为梯度搜索法的方向 ,所以 9

  10. 2. 最速下降法的锯齿现象 在极小点附近,目标函数可以用二次函数近似,其等值面近似为椭球面。 10

  11. 特点:线性收敛,易产生扭摆现象而造成早停。特点:线性收敛,易产生扭摆现象而造成早停。 (当x(k)距最优点较远时,速度快,而接近最优点时,速度下降) 原因: 当x(k)接近极小点时,f (x(k)) → 0,于是高阶项0||(x-x(k))||的影响可能超过f (x(k))T(x-x(k)) 11

  12. L04.作业 L04-1 对于任意二阶可微函数f(x),求其近似的最优步长 <注:对一般形式的f(x),要精确求其最优步长很困难>。 L04-2 在梯度算法中,当每次迭代后函数f(x)的减小值与原来点的比值是一个固定值时 <隐含假设,这个固定比例能达到>,求该情况下的步长。 12

  13. 二阶收敛的最小化算法 13

  14. 4.2 Newton 法 1. 问题 f(x)是Rn上二次连续可微函数 即f (x)C 2(Rn) 用 f (x)的Taylor展开近似计算 14

  15. 2. 算法思想 为了由xk产生xk+1,用二次函数Q(x)近似 f (x) 其中,gk = f (xk)T,Hk = 2f (xk) 两边对x求导,则 15

  16. 若Hesse阵Hk正定,即Hk > 0, 则Hk-1 > 0,此时有 这就是Newton迭代公式。 比较迭代式 ,有 16

  17. 3. 算法步骤 1) 给定初始点x0,精度> 0,k: = 0 2) 计算gk = f (xk)和 Hk = 2f (xk) 当Hk可逆时, 3) 由方程组Q(x) = gk+Hk(x-xk) = 0 解出xk+1 4) 若||f (xk+1)|| < ,停止, x*= xk+1 否则,令k: = k+1,转2) 17

  18. 给定初始点x0和精度 是 否 否 是 • 算法框图 停止,输出x1 否 是 停止,输出x0 停止,解题失败 18

  19. 0 1 0.7854 0.5000 1 -0.5708 -0.5178 1.3258 2 0.1169 0.1163 1.137 3 -0.001061 例1:求解 解:取x0 = 1,计算 迭代过程如下表:计算 19

  20. 例2:用Newton法求解,min f (x) = x14+25x24+x12x22,选取 x0 = (2, 2)T,= 10-6 编写M文件nwfun2.m: clc x=[2;2]; [f0,g1,g2]=nwfun(x) while norm(g1)>0.00001 i=1:3 p=-inv(g2)*g1',p=p/norm(p) t=1.0,f=detaf(x+t*p) while f>f0 t=t/2,f=detaf(x+t*p), %步长减半 end x=x+t*p [f0,g1,g2]=nwfun(x) end (ii)编写M文件nwfun.m如下: function [f,df,d2f]=nwfun(x); f=x(1)^4+25*x(2)^4+x(1)^2*x(2)^2; df(1)=4*x(1)^3+2*x(1)*x(2)^2; df(2)=100*x(2)^3+2*x(1)^2*x(2); d2f(1,1)=12*x(1)^2+2*x(2)^2; d2f(1,2)=4*x(1)*x(2); d2f(2,1)=d2f(1,2); d2f(2,2)=300*x(2)^2+4*x(1)*x(2); 20

  21. 4. 算法特点 • 收敛速度快,为二阶收敛。 • 初始点要选在最优点附近。 • 存在缺点及修正 1) f (xk+1) < f (xk) ? 2) 初始点的选取困难,甚至无法实施。 3)Hk-1的存在性和计算量问题 21

  22. 问题1:如何使得f (xk+1) < f (xk) ? 在Newton法中,有xk+1 = xk -Hk-1 gk = xk +dk 当Hk > 0时,有 因此,当Hk > 0时,dk是下降方向。 如果对Newton法稍作修正: 则有f (xk+1) < f (xk) 22

  23. 问题2:如何克服缺点(2)、(3) 拟牛顿法(变尺度法) 23

  24. 4.3 拟牛顿法(变尺度法) 一、拟牛顿法的思想 1. 先考虑Newton迭代公式:xk+1 = xk -Hk-1f (xk) 在Newton迭代公式中,如果我们用正定矩阵Pk代替Hk-1, 则有 2. 考虑更一般的形式:xk+1 = xk -kPkf (xk) 24

  25. Pk ≡ I 时, 梯度法, 最速下降方向dk = -f (xk),度量为||x|| = sqrt(xTI x) Pk ≡ Hk-1时, Newton法, 最速下降方向dk = - Hk-1f (xk),度量为||x|| = sqrt(xTHk-1 x) 也称拟Newton法为变尺度算法 25

  26. 3. 如何对Pk附加某些条件使得: 1) 迭代公式具有下降性质  Pk> 0 2) Pk的计算量要小  Pk+1 =Pk+Pk (Pk = Pk+1 – Pk) 3) 收敛速度要快  Pk  Hk-1 如何保证Pk > 0和Pk  Hk-1 如何确定Pk ? 26

  27. 拟Newton条件 Pk  Hk-1 分析:Hk-1需满足的条件,并利用此条件确定Pk 记 因为 从而,我们想到 27

  28. ,则有 拟Newton条件或拟Newton方程: 二、拟Newton算法(变尺度法)的一般步骤 1) 给定初始点x0,正定矩阵P0,精度> 0,k: = 0 2) 计算搜索方向d k = - Pkf (xk) 3) 令xk+1 = xk +kd k,其中tk满足 28

  29. 4) 判断xk+1是否满足终止准则: Yes:停止计算,且x* = xk+1;No:转5) 5) 令 按照校正公式Pk+1 =Pk+Pk,计算Pk+1使得Pk+1满足拟 Newton条件或拟Newton方程:Pk+1gk =xk 令k: = k+1,转2) 问题:如何确定一个合适的Pk? 29

  30. 4.4 DFP算法 一、DFP法的提出 • 1959年Davidon首次提出 • 1963年Fletcher和Powell做了改进 • 多变量无约束优化问题的一项重要工作 二、如何确定Pk?— 秩2校正法 待定: 30

  31. 根据拟Newton条件: Pk+1gk =xk ,我们有 即 满足上述方程的解很多,例如可以取如下一组解: 从而,我们可以取: 31

  32. 即: 根据上述推导,我们能够得到Pk的DFP校正公式: — DFP校正公式 性质: 32

  33. 三、DFP算法的步骤 将拟牛顿法的第5)步: 按照校正公式Pk+1 = Pk+Pk 计算Pk+1,使得Pk+1满足拟牛顿条件 或拟牛顿方程:Pk+1 gk = xk 令k: = k+1,转2) 改为: 整个算法为 5) 按照DFP的校正公式: 计算Pk+1,k: = k+1,转2) 33

  34. x(0)和P(0)(P(0)一般为正定阵)  > 0,k: = 0 四、变尺度法算法框图: d(k) =-P(k)f(x(k)) 一维搜索得k x(k+1) = x(k) + kd(k) Stop x(k+1)—解 N 修正P(k) 产生P(k+1) y 34

  35. 例:用DFP算法求解min f (x) = x12 + 4x22,初始点x0 = (1, 1)T 解: 取P 0 = I, f(x) = (2x1, 8x2)T 第一步DFP算法与梯度法相同: 因为x0 - f(x0) = (1-2t, 1-8t)T 解得0= 0.13,所以x1 = (0.73846, -0.04616)T 35

  36. 按照DFP校正公式 因而,搜索方向 由于f(x2) =0,所以x2是极小点。 36

  37. 五、变尺度法算法的校正公式 一般的变尺度法算法主要是Huang族公式 Pk+1 = Pk+xkkT +PkgkvkT 其中 k = akxk + bkPkTgk vk = ckxk + dkPkTgk 且满足 kTgk =  vkTgk = -1 这个公式包含5个参数 (ak, bk, ck, dk, ) 37

  38. 但由于有2个关系式,故有3个独立参数 • 而较重要的三种公式为 • 令= 1, bk = ck = 0,即DFP公式 • 令= 1, bk = ck,即Broyden族公式 • 令= 1, bk = ck,dk = 0,即为最重要的BFSG公式 BFSG是当前变尺度方法中数值稳定性最好的方法。 38

  39. 六、变尺度法的主要特点  ⑴ 只需用到函数的一阶梯度;(Newton法用到二阶Hesse阵)  ⑵ 下降算法,故全局收敛; ⑶ 不需求矩阵逆;(计算量小) ⑷ 一般可达到超线性收敛;(速度快) ⑸ 有二次终结性。 39

  40. 4.5 共轭梯度法 40

  41. 4.5 共轭梯度法 一、共轭方向和共轭方向法 1.定义 设矩阵A为n n的对称正定矩阵,对于Rn中的两个非零向量d 1和d 2,若有(d1)TAd 2 = 0,则称d 1和d 2关于A共轭。 设d 1,d 2,…,d k是Rn中一组非零向量,如果它们两两关于A共轭,即(d i) TAd j = 0,i≠ j,i, j = 1, 2, …, k,则称这组方向是关于A共轭的,也称他们是一组A共轭方向。 注:如果A是单位阵,则 共轭是正交的推广。 41

  42. 2.共轭方向 设直线 AB和CD过椭圆中心,且CD平行于椭圆在点 A,B的切线,则称AB与CD为共轭直径, 与 的方向为共轭方向,或 A, B的切线方向与 的方向称为共轭方向,见下图。 B’ B C A’ D A 42

  43. 设A是n阶对称正定矩阵, d 1,d 2,…,d k是k个A共轭非零向量,则这个向量组线性无关。 定理1 证明: 设存在实数α1, α2,…, αk,使得 上式两端同时左乘(dj)TA,则有 因为d 1,d 2,…,d k是k个A共轭的向量,所以上式简化为 因为d j≠ 0,而A是正定阵,所以(d j) TAd j > 0, d 1,d 2,…,d k 线性无关。 43

  44. 3. 几何意义 设有二次函数 其中A是n n对称正定阵,x 是一个定点,则称函数f (x)的等值面 是以x 为中心的椭球面。 由于 而 由于A正定,所以 因而 x 是f (x)的极小点。 44

  45. 设 x(0)是某个等值面上的一点,d (1)是Rn中的一个方向,x(0)沿d (1)以最优步长搜索到点x(1),则d(1)是点x(1)所在等值面的切向量。 该等值面在点x(1)处的法向量为 f (x(1)) 则d (1)与f (x(1))正交, 即 令 这样 即等值面上某点的切向量与由这点指向极小点的向量关于A共轭。 45

  46. 设有函数f (x) = ½xTAx + bTx + c,其中A是n阶正定阵,d (1),d (2),…,d (k)是一组关于A的共轭向量。 定理2 以任意的x(1)  Rn为初始点,依次沿d (1),d (2),…,d (k)进行搜索,得到点x(2), x(3), … , x(k+1),则x(k+1)是函数f (x)在x(1) + Bk上的极小点,其中 是由d (1),d (2),…,d (k)生成的子空间。特别地,当k = n时, x(k+1)是函数f (x)在Rn上的唯一极小点。 推论 在上述定理条件下,必有 46

  47. 共轭方向作下降方向的最小化算法 4.共轭方向法 47

  48. 4.共轭方向法 对于极小化问题 其中A是正定阵,称下述算法为共轭方向法: • 取定一组与矩阵A共轭的方向d (1),d (2),…,d (n); • 任取初始点x(1) ,依次按照下式由x(k)确定点x(k+1) , 直到某个x(k)满足f (x(k)) = 0. 注 由定理2可知,利用共轭方向法求解上述极小化问题,至多经 过n次迭代必可得到最优解。 48

  49. 如何选取一组共轭方向? 5. 共轭梯度法——Fletcher-Reeves共轭梯度法 对于 其中,x Rn ,A是正定阵,b Rn ,c是常数。 基本思想将共轭性和最速下降方向相结合,利用已知迭代点处的梯度方向构造一组共轭方向,并沿此方向进行搜索,求出函数的极小点。 49

  50. 该算法的步骤: • 任取初始点x(1) ,第一个搜索方向取为d (1)= -f (x(1)) ; • 设已求得点x(k+1) ,若f (x(k+1)) ≠ 0,令gk+1 = f (x(k+1)) , • 则下一个搜索方向d (k+1)按如下方式确定: 令 (1) 如何确定βk? 要求d (k+1)和d (k)关于矩阵A共轭。 在(1)的基础上,等式两端同时左乘(d(k))TA,得 从而 (2) 50

More Related