美文网首页
无约束条件的参数优化(1)--梯度下降算法

无约束条件的参数优化(1)--梯度下降算法

作者: 安帅帅 | 来源:发表于2018-06-26 20:06 被阅读36次

    为什么要学习最优化理论?

    因为对于ML模型训练,最终都可以归结为最优化问题,寻找最优参数,是模型的loss最小。

    在ML中,最优化分为 无约束的最优化问题有约束的最优化问题

    一、无约束的最优化问题

    由极值条件可知,函数的极小值问题,可转化为:

    由于在多维空间中,以上表达式是n个原方程组问题,求解过程较为复杂。在ML领域,求解最优化问题,往往通过迭代法。

    迭代法的基本思想是:首先给定极小值点的初始估计x0,通过迭代得到点序列,若点序列无限接近极小值点,称该序列是极小化序列。

    如何将最优化转化为极小化序列?表达式如下:

    其中,dk是方向,另一个是步长。这是各种梯度下降算法的普遍抽象。

    二、梯度下降算法

    梯度下降算法的迭代方向d有函数f的一阶导数决定。

    首先回顾梯度的几何意义:梯度向量表示函数f在x0出函数值变化最快的方向。

    梯度下降算法分为:BGD、SGD、MBGD。

    使用MBGD,一般的n的范围是50-100之间。

    对于梯度下降方向d和步长而言,主要有算法 传统更新策略、、动量更新策略、动量更新策略、改进的动量更新策略和自适应梯度策略。

    1.传统更新策略

    缺点:一方面极易受lr的影响;另一方面,若迭代的化太小,会提前终止迭代操作。在传统更新策略中,每一次迭代的方向dk=当前batch数据集误差损失函数的梯度。

    2.动量更新策略

    本策略主要是对每一次的迭代方向dk做迭代。

    在每次迭代优化dk,有两部分组成:上衣时刻的迭代方向,即:动量;当前样本集合的梯度方向,公式如下:

    第一部分表示动量,第二部分表示当前样本的梯度方向。前者是上一batch的前进方向,后者是当前batch的前进方向。在每一次迭代中,向量方向是上一次迭代方向与当前样本梯度方向的向量之和。

    3.改进动量更新策略(NAG)

    该公式的含义是:先经过动量计算使上一次的参数沿原来梯度到达新的点,然后在新的点沿新的梯度方向前进。

    4.自适应梯度策略(AdaGrad)

    数学表达式如下:

    其中,acci表示累计梯度,参数是第i次迭代时的参数。由表达式可知:AdaGrad实现了学习率的变化,并且迭代次数越多,步长越短。

    相关文章

      网友评论

          本文标题:无约束条件的参数优化(1)--梯度下降算法

          本文链接:https://www.haomeiwen.com/subject/cqnmyftx.html