欢迎光临散文网 会员登陆 & 注册

数值优化 复旦大学吴立德教授

2023-04-06 09:27 作者:0对抗的打工皇帝  | 我要投稿

本笔记不关注证明过程

P2 无约束优化的基础


无约束优化的基础 P2 - 22:41


从初始点一步一步到最优点:

终止条件:


无约束优化的基础 P2 - 28:27




无约束优化的基础 P2 - 29:27


全局收敛:起始点x0任意,收敛到x*

局部收敛:x0∈N(x*) ,收敛到x*。(x0在解的附近)


无约束优化的基础 P2 - 33:25



无约束优化的基础 P2 - 43:54


线搜索方法:x0=xk,方向pk,步长αk,xk+1=xk+αkpk

选方向:

  • 最速下降法:pk=-▽f(xk)
  • 牛顿方向:pk=-▽^2 f(xk)^(-1)▽f(xk)
  • 拟牛顿方向:pk=-Bk·▽f(xk)
  • 共轭梯度法:

信赖域方法

在xk附近构造二次函数


P3 线搜索方法


线搜索方法 P3 - 00:45


φ(α) :=f(xk+αkpk)

方法:xk+1=xk+αkpk

最速下降:pk=-▽f(xk)

步长:αk=argmin φ(α) = argmin f(xk+αkpk)


wolfe条件是一种选取合适步长α的准则


线搜索方法 P3 - 23:30


保证下降得比较快

下图第二个不等式:忽略分母||pk||,左侧为曲线上任意一点与最左侧点连线的斜率,右侧为选定斜率,两斜率要满足不等式关系。

第一个不等式由第二个推导而来(个人猜测)。

下面右图中加粗的段就是满足wolfe条件的区域,


线搜索方法 P3 - 31:13


保证步长α不会太小,取值在蓝色区域

下图第一个式子表明曲线上任意点的斜率应大于某值,这就让α的取值在平移后的蓝色直线的右侧,保证了α不会太小。

第二个式子左侧应右乘pk(应该是笔误了)


线搜索方法 P3 - 37:54



线搜索方法 P3 - 39:59


满足wolfe条件的α是存在的


线搜索方法 P3 - 43:08


此函数为关于α的函数φ。



P4 线搜索方法的收敛性和收敛速度


线搜索方法的收敛性和收敛速度 P4 - 15:47


紫色区域比初始值小,其值f(x)称为下水平集


线搜索方法的收敛性和收敛速度 P4 - 31:57


定理中的Σ<∞,也就是其中的每一项趋向于0

(L>0)


线搜索方法的收敛性和收敛速度 P4 - 52:48


下图中λ为特征值,Κ为条件数



P5 算法收敛性


算法收敛性 P5 - 02:30


Zoutendijk定理加上以下条件,则拟牛顿法收敛。


算法收敛性 P5 - 11:27


下图第一行等式右侧第一项右上角缺-1


算法收敛性 P5 - 17:34



算法收敛性 P5 - 46:14


因为当xk离x*比较远时:

  1. 二阶梯度有可能不正定,方向也就不一定是下降方向
  2. αk不一定能满足wolfe条件

所以要对牛顿法进行修正

当上图中λi全为正,二阶梯度正定。

一般情况下不全为正,所以需要用其他矩阵来将λi变为正或者0

方法1,正数对应的位置为0,其他位置按λi'=ε-λi得出,但其中的矩阵不是对角阵。

方法2,把所有位置加上同一个λ,需要试探。



P6 正定矩阵的cholesky因子分解


正定矩阵的choleaky因子分解 P6 - 26:45




正定矩阵的choleaky因子分解 P6 - 34:05


信赖域方法在当前的迭代定义一个区域,在此区域内能够相信(trust)模型可以充分代表目标函数。然后选择步(step)作为当前区域的近似极小值点。

如下图所示,尽管用到了最优步长,(基于模型)由线搜索方法找到的极小值点只会使f减小很小的一部分;而由信赖域方法找到的步则可以造成f的大大减少。(越靠近中心越小)

算法4.1

下图中的mk是f在xk的二阶泰勒展开,通过最小化mk求得p,用相应的p作为迭代f。

ρ的分母一定是非负的。

根据ρ来选择信赖域范围Δk和xk




P7 基于Cauchy点的方法


基于Cauchy点的方向 P7 - 07:12



基于Cauchy点的方向 P7 - 21:09




基于Cauchy点的方向 P7 - 28:23




基于Cauchy点的方向 P7 - 33:09


  1. ||p(τ)||是τ的上升函数
  2. m(p(τ))是τ的下降函数


基于Cauchy点的方向 P7 - 56:33


引理4.3



P8 定理4.5


定理4.5 P8 - 10:04




P9 定理4.6

定理4.6



定理4.6 P9 - 36:26




定理4.6 P9 - 48:22





去优酷学习本讲。

P10 非线性共轭梯度法1

共轭梯度法最早是用于解由正定矩阵作为系数的线性方程组。

可作为高斯消除法的替代,而且能解大型(线性、非线性)方程组问题。

1、问题

问题①:解一个线性方程组问题。

问题②:二次规划问题

在求解问题②时,我们要找到x*,求f(x)的梯度可以得到问题①中的线性方程组,(不那么严谨的讲),零梯度为0可得x*。

上面的两个问题是等价的,这种等价可以让我们把共轭梯度法解释为:解线性系统的算法,或最小化凸二次方程的技巧。


2、共轭方向

(一对正交向量是关于单位向量的共轭向量)

{pk}是共轭方向组,其中的元素两两共轭。

下图中倒数第二行,因为正定矩阵的转置是其本身,所以等式成立。

性质

αk=argmin f(xk+αkpk)

xk=x0+α0p0+......+αk-1pk-1

xk=argmin f(x0+u)

算法

xk、pk =>αk=argmin f(xk+αkpk) =>xk+1=xk+αkpk

几何解释

在X空间中沿着pi变化,在Y空间中沿着某一轴变化


对于Φ(x)=Ax-b,当A是对角阵时,Φ的contour是一个长短轴与坐标系平行的椭圆,这样就可以沿着坐标轴方向寻找minimizer


3、共轭梯度法

性质ii说明构造的向量是共轭向量

以上方法可以用来①得到大型线性方程组的近似解②二次函数优化问题的渐进解



P11 非线性共轭梯度法2


非线性共轭梯度法2 P11 - 12:47


引理5.6保证pk+1是下降方向

强wolfe条件的个人理解:k+1的斜率要更大


非线性共轭梯度法2 P11 - 41:58




P12 拟牛顿法


拟牛顿法 P12 - 00:46



拟牛顿法 P12 - 04:40



拟牛顿法 P12 - 12:45


下面两种方法分别推导出通过梯度的差,x的差算Hk+1、Bk+1,用H、B算pk+1

①DFP方法


拟牛顿法 P12 - 23:27



拟牛顿法 P12 - 29:04


SR1:Symmetric Rank 1


拟牛顿法 P12 - 36:26


①矩阵的迹

trace(A)△=Σaii,定义为主对角线元素之和

性质:trace(A+B)=trace(A)+trace(B)

trace(uuT)=trace(uTu)=||u||^2

trace(AB)=trace(BA)

trace(aA)=atrace(A)

trace(A)=Σλi(A) 矩阵特征根之和等于迹

②方阵的行列式

定义 det(A)=Σa1i1·a2i2·......·anin

性质 det(aA)=a^n det(A)

det(AB)=det(A)·det(B)

det(A)=Πλi(A) 特征根之迹等于行列式

det(I+xyT)=1+yTx

(A+B)^(-1) = B-1(A-1 + B-1)A-1


拟牛顿法 P12 - 49:26


定义 A^(-1) 《==》det(A) /= 0

det(A-1)=1/det(A)

矩阵逆引理

④Ψ(A)=trace(A)-ln det(A)




P13 BFGS方法


BFGS方法1 P13 - 00:37



BFGS方法1 P13 - 11:25


①曲率条件:

引理:如果pk是下降方向,且αk满足wolfe条件,则曲率条件成立。


BFGS方法1 P13 - 17:54


引理(BFGS方法):如Bk正定,则Bk+1正定。


BFGS方法1 P13 - 27:01


定理:

条件:nabla f(x)满足lipschitz连续,且

则:lim inf||fk|| = 0


P15 计算导数


计算导数 P15 - 00:42



计算导数 P15 - 05:14



计算导数 P15 - 13:30



计算导数 P15 - 26:54




P16 无需导数的优化方法(DFO)


无须导数的优化方法 P16 - 03:56



无须导数的优化方法 P16 - 22:28


坐标下降法:遍历n个坐标方向e1,e2,......en,轮流在每个方向进行线搜索以获得新迭代。

在第一次迭代中,固定除x1以外的其他x,找到能使目标函数最小(至少减少)的点;下一次迭代,固定除x2以外的其他x,进行搜索。

上图为包含两个变量的二次函数利用坐标搜索方法进行优化。


无须导数的优化方法 P16 - 35:59


在传统的共轭梯度法中要通过导数来获得共轭向量。

为了不用导数,用{e1,e2,...en}构造一个线性子空间,f在S1,S2中的最优解x1*,x2*组成的向量x1*-x2*与{e1,e2,...,en}共轭(线性子空间性质)。f在S1中求最优解x1的问题可以变为在S中求最优解{c1,c2,...,cn}的问题,而此问题可化为对单个c求解的问题(上图最后一行)。


无须导数的优化方法 P16 - 59:32



无须导数的优化方法 P16 - 01:07:04


又称单纯形法。

n维空间中的n+1个点可以构成一个单纯形,如下图右侧所示。



P17 最小二乘方问题


最小二乘方问题 P17 - 00:46


用下图第一行的式子来衡量模型和系统的观测之间的差异。

下图中的rj(x)是一个对从x1到xn的偏导组成的向量。



最小二乘方问题 P17 - 14:45



最小二乘方问题 P17 - 23:43



最小二乘方问题 P17 - 43:08




P18 非线性方程组


非线性方程组 P18 - 13:27



非线性方程组 P18 - 27:28



非线性方程组 P18 - 33:23



非线性方程组 P18 - 44:21


H(x(s)),λ(s))=0

求H全微分:



P19 约束优化理论

积极约束集:在不等式约束中,当x给定后,ci(x)可以分为两种,其中ci(x)=0的部分包含于积极约束集。


约束优化理论 P19 - 13:21



约束优化理论 P19 - 22:34


约束问题的lagrange函数

用拉格朗日乘数法解决只有等式约束的问题。分别对每个x求偏导。

用KKT条件求包含等式和不等式约束的问题。


约束优化理论 P19 - 34:25


对偶理论表明我们可以从原有的优化问题中,利用其函数与数据,构造一个alternative问题。

本小结的结论都是在下面的情况下得出的:

即无等式约束,目标函数和-ci(x)都是凸函数。


下图中不等式约束前的λ>0。

对偶函数:max θD(λ)

s.t. λi大于等于0,i∈I


约束优化理论 P19 - 48:31



约束优化理论 P19 - 55:54



P20 基本的必要条件

x是解的必要条件


基本的必要条件 P20 - 06:55



基本的必要条件 P20 - 12:40



基本的必要条件 P20 - 24:53


如果积极约束都是线性函数的话,也就是A(x)内都是线性函数


基本的必要条件 P20 - 42:56




P21 点与凸集的分割定理


点与突集的分割定理 P21 - 03:35



点与突集的分割定理 P21 - 13:29


λ∈R^p

K是闭凸集


点与突集的分割定理 P21 - 32:55




点与突集的分割定理 P21 - 45:30




点与突集的分割定理 P21 - 51:51


定理(强对偶成立条件)

min f(x)

s.t. ci(x)≥0, i∈I

且f(x), -ci(x)都是凸函数,kkt条件成立

则强对偶性成立



P22 SQP方法和内点方法



SQP方法和内点方法 P22 - 06:20




SQP方法和内点方法 P22 - 15:32


序列二次规划sequence quadratic programming


SQP方法和内点方法 P22 - 30:26



SQP方法和内点方法 P22 - 40:43



SQP方法和内点方法 P22 - 43:54










数值优化 复旦大学吴立德教授的评论 (共 条)

分享到微博请遵守国家法律