今天,我来讲一种在机器学习中常用到的优化算法,叫做BFGS算法。BFGS算法被认为是数值效果最好的拟牛顿
法,并且具有全局收敛性和超线性收敛速度。那么接下来将会详细讲解。
Contents
1. 什么是拟牛顿法
2. 拟牛顿法原理
3. DFP算法原理
4. BFGS算法原理
5. BFGS算法的实现
1. 什么是拟牛顿法
前面Logisitc回归讲解中,我介绍了牛顿法。牛顿法的特点是:收敛速度快,迭代次数少,但是当Hessian
矩阵很稠密时,每次迭代的计算量很大。随着数据规模的增大,那么Hessian矩阵会越大,需要的存储空间会
增多,计算量也会增大,有时候大到不可计算,所以针对海量数据的计算,牛顿法不再适用。
拟牛顿法是在牛顿法的基础上引入了Hessian矩阵的近似矩阵,避免每次迭代都计算Hessian矩阵的逆,它
的收敛速度介于梯度下降法和牛顿法之间。拟牛顿法跟牛顿法一样,也是不能处理太大规模的数据,因为计算
量和存储空间会开销很多。拟牛顿法虽然每次迭代不像牛顿法那样保证是最优化的方向&#x