您的位置:首页 > 其它

数值最优化

2016-03-15 17:48 351 查看

0. 数学基础

多元函数

1. 设多元函数 f:Rn→R 二次连续可微,则 f 在 x 处的梯度和Hessian矩阵为:∇f(x)=(∂f(x)∂x1,∂f(x)∂x2,⋯,∂f(x)∂xn)T∇2f(x)=⎛⎝⎜⎜⎜⎜⎜⎜⎜∂f(x)∂x21⋮∂f(x)∂xn∂x1⋯⋯∂f(x)∂x1∂xn⋮∂f(x)∂x2n⎞⎠⎟⎟⎟⎟⎟⎟⎟

2. 多元函数的Taylor展开式:一阶:f(x)=f(y)+∇f(y)T(x−y)+o(||x−y||)二阶:f(x)=f(y)+∇f(y)T(x−y)+12(x−y)T∇2f(y)(x−y)+o(||x−y||2)

一元函数与多元函数

给定的x,y∈Rn,定义一元函数ϕ:R→R 如下: ϕ(t)=f[y+t(x−y)] ,经计算可得:

ϕ′(t)=∇f[y+t(x−y)]T(x−y)ϕ′′(t)=(x−y)T∇2f[y+t(x−y)](x−y)

1. 最优化的一般性

数值最优化的一般方法是,初始选取一个点x1,通过导数等信息得到当前的一个下降方向dk(k=1,2,⋯),在这个方向的基础上,计算步长αk,得到新的点xk+1=xk+αkdk,这样的迭代始终能保证f(xk+1)<f(xk),从而得到极小值点(非最小值)。

因此,数值最优化无非就是围绕方向d和步长α的选取。再进一步地,对于步长α的搜索,基本方法主要有精确线性搜索和非精确线性搜索。其中精确线性搜索有公式法和黄金分割法,非精确线性搜索主要有Armijo型线性搜索和Wolfe-Powell型线性搜索,都是比较简单的一元函数知识,因为步长α是一元的。

由此,数值最优化的各种算法的主要不同之处就在于下降方向d的选取了,d的构造方式确定了各种不同的算法。关于构造的d如何保证是下降方向呢,只要保证向量d满足∇f(x)Td<0,证明如下:

证明:利用Taylor展开式,不难得到:当α>0充分小时f(x+αd)=f(x)+α∇f(x)d+o(α)<f(x) 即d是f在x处的一个下降方向。

夹带私货:

∇f(x)Td<0的几何理解:∇f(x)表示在x的各个分量xi上每增加一个单位,相应的函数值分量yi增加∂f∂xi个单位,∇f(x)Td<0是∇f(x)和d对应元素相乘之和,也就是说,在各分量xi上增加了di个单位(在各个方向上前进了这么多步),那么,∇f(x)Td<0的意义就是在各个方向上增加的函数值之和,也就是近似的函数值增加量了。只要一个单位量足够逼近0,近似值也就逼近真实值,直至收敛。

2. 步长(待更)

2.1 精确线性搜索

2.1.1 公式法

2.1.2 黄金分割法

2.2 非精确线性搜索

2.2.1 Armijo型线性搜索

2.2.2 Wolfe-Powell型线性搜索

3. 方向(待更)

3.1 最速下降法

3.2 Newton法

牛顿法的基本思想是,在离点xk足够近的距离,f(x)可以近似看作一个二次函数。即,在xk附近使用f(x)的二次近似来寻找比xk处函数值更小的点。

由泰勒公式,将f(x)在固定点比xk处展开,则有:f(xn+Δx)≈f(xn)+ΔxT∇f(xn)+12ΔxT(∇2f(xn))Δx当||Δx||→0时,上面的近似展开式是成立的。

对Δx求导取0,得:Δx∗=−H−1ngn

3.3 拟Newton法–BFGS

基本思想

先看一下拟牛顿法的基本框架

QuasiNewton(f,x0,H−10,QuasiUpdate):For n=0,1,… (until converged):// Compute search direction and step-size d=H−1ngnα←minα≥0f(xn−αd)xn+1←xn−αd// Store the input and gradient deltas gn+1←∇f(xn+1)sn+1←xn+1−xnyn+1←gn+1−gn// Update inverse hessian H−1n+1←QuasiUpdate(H−1n,sn+1,yn+1)

初始时,给了一个参数H−10,之后每一次迭代通过QuasiUpdateQuasiUpdate方法加上输入变量与梯度的差值(sn和yn)作为参数,产生出下一个H−1的估计。

可以发现,若QuasiUpdateQuasiUpdate每次都返回单位矩阵,则拟牛顿法退化为梯度下降方法(每一次都沿着梯度方向搜索)。

若QuasiUpdateQuasiUpdate能够返回∇2f(xn+1),则拟牛顿法与牛顿法就等价了。

从上述伪代码中可以看出,拟牛顿法仅仅需要函数值和梯度信息,并不需要二阶导信息。

参考

L-BFGS的原理及在回归分析中的应用

梯度-牛顿-拟牛顿优化算法和实现

理解L-BFGS算法

牛顿法与拟牛顿法学习笔记(四)BFGS 算法

逻辑回归模型及LBFGS的Sherman Morrison(SM) 公式推导
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息