拟牛顿法——DFP、BFGS、L-BFGS
DFP
该算法的核心是:通过迭代的方法,对Hk+1(-1)近似。迭代方式:
其中D0通常取为单位矩阵,关键是每一步构造矫正矩阵△Dk。
考虑△Dk 的待定形式为
拟牛顿的条件
这里插播一下拟牛顿的条件。
前面有讲到,拟牛顿法是想找到一个近似矩阵D来近似海森矩阵H的逆。显然D的选择是必须有条件的。为了表示清楚,下文B≈H,D≈H-1
设经过k+1次迭代后得到Xk+1,此时将目标函数在Xk+1附近作泰勒展开,取二阶近似,得到
对其两边作用一个梯度算子▽,可得
在上式中取X=Xk,并整理得到
若引入记号
则有
这就是所谓的拟牛顿条件对于我们的近似矩阵B或D则有
有了这个拟牛顿条件我们就能开始构造D了
构造矩阵D
则有
并且可以写成
由于和是两个数,且里面α和β在里面起到类似放缩的作用,不妨假设
其中u,v仍是待定的
至此则有
这里gk表示一阶导。
待更新!!