1. 牛顿法
1. 推导
考虑无约束最优化问题:
假设具有二阶连续导数,运用迭代的思想,假设第k次迭代值为
,将
进行二阶泰勒展开:
该有极值的必要条件是极值点处一阶导数为0,令
,,有:
写成矩阵形式即:
2. 牛顿法与梯度下降法
相同:都是迭代求解
不同:
- 梯度下降是梯度求解,牛顿法是用海森矩阵的逆矩阵求解
- 牛顿法收敛更快(迭代次数少),但每次迭代耗时长(对海森矩阵求逆)
2. 拟牛顿法
牛顿法虽收敛速度快,但一方面需计算,计算量大;另一方面当海森矩阵非正定时,牛顿法失效。针对上述问题,提出拟牛顿法:用
阶矩阵
(
)近似替代
(
)。
1. 拟牛顿条件
根据上述求极值点公式:
取,可得:
记,
,得:
上式即拟牛顿条件。
2. DFP算法
DFP算法选择作为
的近似,假设每一次迭代
均由
和两个附加项构成:
其中为待定矩阵。等式两边同乘
,得:
为使满足拟牛顿条件,不妨令
,可取待定矩阵:
所以的迭代公式为:
可证明,若是正定的,则迭代过程中的每个矩阵
均正定。
3. BFGS算法
BFGS算法选择作为
的近似,方法与DFP类似,
的迭代公式为:
可证明,若是正定的,则迭代过程中的每个矩阵
均正定。
牛顿法迭代过程实例