机器学习:各种优化器Optimizer的总结与比较

优化器总结

机器学习中,有很多优化方法来试图寻找模型的最优解。比如神经网络中可以采取最基本的梯度下降法。


梯度下降法(Gradient Descent)

梯度下降法是最基本的一类优化器,目前主要分为三种梯度下降法:标准梯度下降法(GD, Gradient Descent),随机梯度下降法(SGD, Stochastic Gradient Descent)及批量梯度下降法(BGD, Batch Gradient Descent)。

1. 标准梯度下降法(GD)

  • 假设要学习训练的模型参数为 W W ,代价函数为 J ( W ) ,则代价函数关于模型参数的偏导数即相关梯度为 ΔJ(W) Δ J ( W ) ,学习率为 ηt η t ,则使用梯度下降法更新参数为:
    Wt+1=WtηtΔJ(Wt) W t + 1 = W t − η t Δ J ( W t )
    其中, Wt W t 表示 t t 时刻的模型参数。
  • 从表达式来看,模型参数的更新调整,与代价函数关于模型参数的梯度有关,即沿着梯度的方向不断减小模型参数,从而最小化代价函数。
  • 基本策略可以理解为”在有限视距内寻找最快路径下山“,因此每走一步,参考当前位置最陡的方向(即梯度)进而迈出下一步。可以形象的表示为:

二维参数的梯度下降描述

评价:标准梯度下降法主要有两个缺点:

  • 训练速度慢:每走一步都要要计算调整下一步的方向,下山的速度变慢。在应用于大型数据集中,每输入一个样本都要更新一次参数,且每次迭代都要遍历所有的样本。会使得训练过程及其缓慢,需要花费很长时间才能得到收敛解。
  • 容易陷入局部最优解:由于是在有限视距内寻找下山的反向。当陷入平坦的洼地,会误以为到达了山地的最低点,从而不会继续往下走。所谓的局部最优解就是鞍点。落入鞍点,梯度为0,使得模型参数不在继续更新。

2. 批量梯度下降法(BGD)

  • 假设批量训练样本总数为 n ,每次输入和输出的样本分别为 X(i),Y(i) X ( i ) , Y ( i ) ,模型参数为 W W ,代价函数为 J ( W ) ,每输入一个样本 i i 代价函数关于 W 的梯度为 ΔJi(Wt,X(i),Y(i)) Δ J i ( W t , X ( i ) , Y ( i ) ) ,学习率为 ηt η t ,则使用批量梯度下降法更新参数表达式为:
    Wt+1=Wtηti=1nΔJi(Wt,X(i),Y(i)) W t + 1 = W t − η t ∑ i = 1 n Δ J i ( W t , X ( i ) , Y ( i ) )
    其中, Wt W t 表示 t t 时刻的模型参数。
  • 从表达式来看,模型参数的调整更新与全部输入样本的代价函数的和(即批量/全局误差)有关。即每次权值调整发生在批量样本输入之后,而不是每输入一个样本就更新一次模型参数。这样就会大大加快训练速度。
  • 基本策略可以理解为,在下山之前掌握了附近的地势情况,选择总体平均梯度最小的方向下山。

评价:

  • 批量梯度下降法比标准梯度下降法训练时间短,且每次下降的方向都很正确。

3. 随机梯度下降法(SGD)

  • 对比批量梯度下降法,假设从一批训练样本 n 中随机选取一个样本 is i s 。模型参数为 W W ,代价函数为 J ( W ) ,梯度为 ΔJ(W) Δ J ( W ) ,学习率为 ηt η t ,则使用随机梯度下降法更新参数表达式为:
    Wt+1=Wtηtgt W t + 1 = W t − η t g t
    其中, gt=ΔJis(Wt;X(is);X(is)),  is{ 1,2,...,n} g t = Δ J i s ( W t ; X ( i s ) ; X ( i s ) ) ,     i s ∈ { 1 , 2 , . . . , n } 表示随机选择的一个梯度方向, Wt W t 表示 t t 时刻的模型参数。
评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值