常见的优化方法(Optimizer)总结:Adam,SGD,Momentum,AdaGard等

机器学习的常见优化方法在最近的学习中经常遇到,但是还是不够精通.将自己的学习记录下来,以备不时之需

基础知识:


机器学习几乎所有的算法都要利用损失函数 lossfunction 来检验算法模型的优劣,同时利用损失函数来提升算法模型.

这个提升的过程就叫做优化(Optimizer)

下面这个内容主要就是介绍可以用来优化损失函数的常用方法

常用的优化方法(Optimizer):

  • 1.SGD&BGD&Mini-BGD:

    SGD(stochastic gradient descent):随机梯度下降,算法在每读入一个数据都会立刻区计算loss function的梯度来update参数.假设loss function为L(w),下同.\[w-=\eta \bigtriangledown_{w_{i}}L(w_{i}) \]

    Pros:收敛的速度快;可以实现在线更新;能够跳出局部最优

    Cons:很容易陷入到局部最优,困在马鞍点.


BGD(batch gradient descent):批量梯度下降,算法在读取整个数据集后累加来计算损失函数的的梯度
\[w-=\eta \bigtriangledown_{w}L(w)\]

Pros:如果loss function为convex,则基本可以找到全局最优解

Cons:数据处理量大,导致梯度下降慢;不能实时增加实例,在线更新;训练占内存

猜你喜欢

转载自www.cnblogs.com/GeekDanny/p/9655597.html
今日推荐