UniformML:无约束优化算法 (GD DFP BFGS LBFGS)

本文摘自:

http://blog.csdn.net/itplus/article/details/21896453

https://www.cnblogs.com/ljy2013/p/5129294.html?from=singlemessage&isappinstalled=0


优化求解损失函数是机器学习最重要的步骤,往往求解函数没有解析解,而是通过迭代优化方法寻找全局最优。

介绍最常用的方法LBFGS,不过要先看看GD、DFP和BFGS算法,然后再理解LBFGS会更清晰。

先看下最基础的梯度下降法(Gradient Descent)

为了保证函数能够一直沿着梯度下降,则

那么我们只需要保证

就有

所以有了我们最常用的梯度下降法公式(加上步长控制)

但是梯度下降是只用了一次导数,所以对二次函数或者高阶求解速度较慢,下面我们介绍二次收敛性的方法



从这里我们可以看出:要想迭代出Xk+1,就只需要计算Dk+1即可。DFP算法是对Dk+1的一个近似计算的算法。BFGS算法是直接近似计算海森矩阵,用Bk+1表示。


这里D_k的假设可以从一个单位矩阵不断优化得到,有点类似MCMC里面,从一个均匀分布可以得到任何一个分布。


这里公式sk=\lambda dk

dk=-H_k^{-1}g_k=-D_K*g_k


你可能感兴趣的:(UniformML:无约束优化算法 (GD DFP BFGS LBFGS))