坐标轴交替下降法
最速下降法
牛顿法
拟牛顿法
线搜索下降算法:
Step 0 给定初始点
,
;
Step 1 判断
是否满足终止条件;是,则终止;
Step 2 寻找
处的下降方向
;
Step 3 选择合适的步长
(使得
);
Step 4 令
; 令
; 转Step 1.常用终止准则:
;
选择步长: 基于区间的直接搜索法;非精确搜索准则;
下降方向:
收敛性;收敛速度;
收敛速度
设序列
收敛到
,若存在极限
当0 < β <1时,则称
为线性收敛;
当β= 0,则称
为超线性收敛;
若存在某个p ≥1, 有
则称
为p阶收敛。当p >1时,p阶收敛必为超线性收敛,但反之不一定成立。
朴素的算法:坐标轴交替下降法
基本思想:给定初始点
, 依次沿着坐标轴
进行搜索;
Framework:
1. 给定初始点
,
,
;
2. 判断是否满足
; 是,终止;
3. 记
, 令
其中
4. 令
,
, 转步1;优点:不需成本即可获得搜索方向; 当变量之间交叉程度较小(loosely coupled)时非常有效(极端情况如可分离函数);
缺点:对于一般问题所得点列未必收敛;
改进的方法?
最速下降法(也称为梯度下降法)
基本思想: 选择
处负梯度作为搜索方向, 即
;特点:简单直观;收敛;搜索方向只需计算
;
缺点:(1) 收敛速度慢(线性收敛);(2) Zigzag现象;(3) 不具备二次终止性(即在有限步内求得凸二次函数最优解);
原因: 若迭代中步长
是
的精确最小 点,则
, 即
最速下降法:例 ; 设初始点为
;
牛顿法
基本思想:当前点
处选择
;
可理解为:对
处的二次逼近函数进行最小化;
牛顿步Newton step:
;
Pure Newton method: 步长
;
问题是:牛顿方向
一定是下降方向吗?优点:当初始点
取得比较接近于收敛点
,且
满足较好性质时,二阶收敛;二次终止性
缺点:计算量大(需计算Hesse矩阵);适用范围较窄;
牛顿法:例; 设初始点为
;
对于凸二次目标函数,一步收敛;
Modifified Newton method修正牛顿法
对于步长
的修正:首先判断
是否让目标函数充分下降;否,则采用线搜索方法重新确定αk;对于方向(Hesse矩阵)的修正:选取
;
若
, 则选取
; 否则,采取修正方法(多种):
1.
, λ为适当正数保证
正定;
2. 考虑特征值分解
, 其
中
; 令
,
δ为一适当的正数
拟牛顿法Quasi-Newton method
考虑f(x)在当前点xk处的二次近似函数
其中
.利用
得搜索方向
;
Quasi-Newton Framework:
0. 给定初始点
,
,
,
;
1. 判断是否满足
; 是,终止;
2.
3. 线搜索
4. 令
,
,确定
转步1;
如何比较简便获得矩阵Bk+1?
拟牛顿方程(基本要求):
如何理解?记
,
, 上式简写为
;
若记
,拟牛顿方程也表示为
;
满足拟牛顿方程的矩阵很多!
基于已有信息
获取
, 或, 基于已有信息
获取
第一类方法:选择满足拟牛顿方程且与
近似的矩阵:
第二类方法:对
(或者
)进行校正; 如,
令
rank-2校正,要求
的秩为2:DFP方法,BFGS方法;
rank-1校正,要求
的秩为1;
拟牛顿之DFP(Davidon-Fletcher-Powell)方法
DFP方法可看做是对
进行rank-2校正,
拟牛顿之BFGS(Broyden-Fletcher-Goldfarb-Shannon)方法
BFGS方法可看做对Bk进行rank-2校正,
拟牛顿方向需要计算
, 可利用Sherman-Morrison公式显示写出;
被认为是最有效的拟牛顿法; 超线性收敛;
Broyden族:DFP与BFGS的线性组合!
拟牛顿之SR-1方法
SR-1方法是对Bk进行rank-1校正,
迭代公式更简单,但不能保证正定性;适当条件下能达到n步超线性收敛。