您的位置:首页 > 其它

机器学习笔记_ 数值最优化_2:最优化算法

2015-11-24 01:20 316 查看

导数的算法

梯度下降

牛顿方法:二阶展开(无需计算步长)

φ=f(xk)+f′(xk)(x−xk)12f′′(xk)(x−xk)2+R2(x)\varphi=f(x_k)+f^{'}(x_k)(x-x_k)_\frac{1}{2}f^{''}(x_k)(x-x_k)^2+R_2(x)

=>

φ′(x)≈f′(xk)+f′′(xk)(x−xk)\varphi ^{'}(x) \approx f^{'}(x_k)+f^{''}(x_k)(x-x_k)

=>

xk+1=xk−f′(xk)f′′(xk)x_{k+1}=x_k-\frac{f^{'}(x_k)}{f^{''}(x_k)}

牛顿法的特点:

收敛性: 无法保证(trust-region保证收敛)->初始点选择接近极值点,基本牛顿方法才可以保证局部收敛 (当初始点不接近极值点,可能出现Hessian矩阵不正定或者奇异的情况)

计算Hessian难道大,需要计算n(n+1)/2个二阶偏导数(L-BFGS)

Hessian矩阵的正定(无法保证)->修正牛顿

Hessian矩阵奇异,牛顿方向不存在

优化牛顿算法

阻尼牛顿

修正牛顿

LM(trust-region)

Heesian矩阵的计算量大,优化算法:

LBFGS

owl-qn

共轭梯度法(梯度法和牛顿法之间的算法)

提高速度同时避免牛顿方法的大量计算

核心问题:计算正交方向最小化

Nesterov最优梯度方向

非求导方法

坐标下降算法 :目标函数的下降,沿着坐标分量方向的最小化
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: