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

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

因为对于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实现了学习率的变化,并且迭代次数越多,步长越短。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容