数值最优化

0. 数学基础

多元函数
1. 设多元函数 f:RnR 二次连续可微,则 f x 处的梯度和Hessian矩阵为:

f(x)=(f(x)x1,f(x)x2,,f(x)xn)T2f(x)=f(x)x21f(x)xnx1f(x)x1xnf(x)x2n

2. 多元函数的Taylor展开式:
f(x)=f(y)+f(y)T(xy)+o(||xy||)f(x)=f(y)+f(y)T(xy)+12(xy)T2f(y)(xy)+o(||xy||2)

一元函数与多元函数
给定 x,yRn ,定义一元函数 ϕ:RR 如下: ϕ(t)=f[y+t(xy)] ,经计算可得:

ϕ(t)=f[y+t(xy)]T(xy)ϕ′′(t)=(xy)T2f[y+t(xy)](xy)

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 增加 fxi 个单位, 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)+ΔxTf(xn)+12ΔxT(2f(xn))Δx
当||Δx||→0时,上面的近似展开式是成立的。
对Δx求导取0,得:
Δx=H1ngn

3.3 拟Newton法–BFGS

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

QuasiNewton(f,x0,H10,QuasiUpdate):For n=0,1, (until converged):// Compute search direction and step-size d=H1ngnαminα0f(xnαd)xn+1xnαd// Store the input and gradient deltas gn+1f(xn+1)sn+1xn+1xnyn+1gn+1gn// Update inverse hessian H1n+1QuasiUpdate(H1n,sn+1,yn+1)

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

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

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

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

参考

  • L-BFGS的原理及在回归分析中的应用
  • 梯度-牛顿-拟牛顿优化算法和实现
  • 理解L-BFGS算法
  • 牛顿法与拟牛顿法学习笔记(四)BFGS 算法
  • 逻辑回归模型及LBFGS的Sherman Morrison(SM) 公式推导

你可能感兴趣的:(Math,最优化,数学,最优化,机器学习)