机器学习优化算法总结

很多机器学习应用问题都可以转化为一个无约束优化问题。针对此最优化问题,解决这个问题的通用做法是随机给定一个初始的,通过迭代,在每次迭代中计算目标函数的下降方向并更新,直到目标函数稳定在最小的点。

不同的优化算法的区别就在于目标函数下降方向的计算。下降方向是通过对目标函数在当前的下求一阶倒数(梯度,Gradient)和求二阶导数(海森矩阵,Hessian Matrix)得到。常见的算法有梯度下降法、牛顿法、拟牛顿法。

(1)梯度下降法(Gradient Descent)

梯度下降法直接采用目标函数在当前的梯度的反方向作为下降方向:,其中为目标函数的梯度。

(2)牛顿法(Newton Methods)

牛顿法是在当前下,利用二次泰勒展开近似目标函数,然后利用该近似函数来求解目标函数的下降方向:

其中为目标函数处的海森矩阵。这个搜索方向也称作牛顿方向。

(3)拟牛顿法(Quasi-Newton Methods)

l拟牛顿法只要求每一步迭代中计算目标函数的梯度,通过拟合的方式找到一个近似的海森矩阵用于计算牛顿方向。最早的拟牛顿法是DFP(1959年由W. C. Davidon提出,并由R. Fletcher和M. J. D. Powell进行完善)。DFP继承了牛顿法收敛速度快的优点,并且避免了牛顿法中每次迭代都需要重新计算海森矩阵的问题,只需要利用梯度更新上一次迭代得到的海森矩阵,但缺点是每次迭代中都需要计算海森矩阵的逆,才能得到牛顿方向。

BFGS是由C. G. Broyden, R. Fletcher, D. Goldfarb和D. F. Shanno各自独立发明的一种方法,只需要增量计算海森矩阵的逆,避免了每次迭代中的矩阵求逆运算。BFGS中牛顿方向表示为:

L-BFGS(Limited-memory BFGS)则是解决了BFGS中每次迭代后都需要保存N*N阶海森逆矩阵的问题,只需要保存每次迭代的两组向量和一组标量即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值