
第一个核心点:精确一维搜索求步长 λ{\lambda }λ ?
λk=argminf(xk+λdk){\lambda _k} = \arg \min f({x^k} + \lambda {d^k})λk=argminf(xk+λdk)
具体看附录的例题。
第二个核心点:搜索方向dk{d^k}dk?
最速下降法/随机梯度下降
dk=−1∗∇f(xk){d^k} = - 1*\nabla f({x^k})dk=−1∗∇f(xk)
注意,相邻两次迭代的搜索方向正交
牛顿法(步长为常数1)
dk=−(∇2f(xk))−1∇f(xk){d^k} = - {({\nabla ^2}f({x^k}))^{ - 1}}\nabla f({x^k})dk=−(∇2f(xk))−1∇f(xk)
阻尼牛顿法
搜索方向和牛顿法一样,只不过步长采用精确一位搜索得到
牛顿法得计算hessen矩阵,麻烦,咋整呢?
共轭梯度法
注意下面的pk{p^k}pk就是搜索方向,相当于上面的dk{d^k}dk

拟牛顿法(DFP和BFGS):由牛顿法思想出发的一类方法
DFP算法:用Hk{H_k}Hk逼近海塞矩阵

BFGS算法:用Bk{B_k}Bk逼近海塞矩阵

附录:


