多元函数
1. 设多元函数 f:Rn→R 二次连续可微,则 f 在 x 处的梯度和Hessian矩阵为:
一元函数与多元函数
对给定的 x,y∈Rn ,定义一元函数 ϕ:R→R 如下: ϕ(t)=f[y+t(x−y)] ,经计算可得:
数值最优化的一般方法是,初始选取一个点 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)Td<0 的几何理解: ∇f(x) 表示在x的各个分量 xi 上每增加一个单位,相应的函数值分量 yi 增加 ∂f∂xi 个单位, ∇f(x)Td<0 是 ∇f(x) 和d对应元素相乘之和,也就是说,在各分量 xi 上增加了 di 个单位(在各个方向上前进了这么多步),那么, ∇f(x)Td<0 的意义就是在各个方向上增加的函数值之和,也就是近似的函数值增加量了。只要一个单位量足够逼近0,近似值也就逼近真实值,直至收敛。
牛顿法的基本思想是,在离点 xk 足够近的距离, f(x) 可以近似看作一个二次函数。即,在 xk 附近使用 f(x) 的二次近似来寻找比 xk 处函数值更小的点。
由泰勒公式,将 f(x) 在固定点比 xk 处展开,则有:
基本思想
先看一下拟牛顿法的基本框架
可以发现,若QuasiUpdateQuasiUpdate每次都返回单位矩阵,则拟牛顿法退化为梯度下降方法(每一次都沿着梯度方向搜索)。
若QuasiUpdateQuasiUpdate能够返回 ∇2f(xn+1) ,则拟牛顿法与牛顿法就等价了。
从上述伪代码中可以看出,拟牛顿法仅仅需要函数值和梯度信息,并不需要二阶导信息。