梯度下降法、随机梯度下降法 与 小批量梯度下降法

在机器学习中,大多涉及某种形式的优化。其中,优化通常指目标函数 J(𝛉) 的最小化(最大化可通过 -J(𝛉) 的最小化来实现)。

梯度下降法,作为一种优化的常用方法,包含三种不同的形式,分别为:梯度下降法、随机梯度下降法 与 小批量梯度下降法。以下,分别就三种形式的原理及优缺点逐一进行阐述。

为了便于理解,本文以线性回归为例来进行说明。

因此,有一般的线性回归函数为:

其中,𝛉j 指对应权重。

假设损失函数为均方误差损失函数,则损失函数为:

其中,h𝛉(x(i)) 为 预测值,y(i) 为真实值;除以2是为了便于求导计算。


1. 梯度下降法

  • 定义

梯度下降法(Gradient Descent,简称GD),也称批量梯度下降法(Batch Gradient Descent,简称BGD)或最速下降法(Steepest Decent),是最小化目标函数的一种常用的一阶优化方法。

  • 原理

思想:目标函数沿其梯度的反方向,下降最快。因此,要找到目标函数的局部极小值,必须沿其当前点对应梯度(或近似梯度)的反方向,规定步长,迭代搜索。

其中,梯度为目标函数 J(𝛉) 相对于权重 𝛉 的偏导数。而目标函数的减小,是通过先随机初始化权重 𝛉 ,再对其迭代更新来实现的。

对单个数据点而言:
单个数据点的梯度计算。其中,𝛼 为学习率,也就是规定的步长。

对于所有的数据点:


训练集的梯度计算

若𝛼 =1,那么每次参数更新的伪码为:
训练集的权重更新
  • 缺点:

通过每次参数更新的伪码可以看到,每次参数的更新,都用到了所有的训练样本,即m个。

因此,计算代价太高,耗费时间长。


2. 随机梯度下降法

  • 出发点

鉴于梯度下降法,每次参数的更新都用到了所有的训练样本,耗费时间长。因此,提出了随机梯度下降法(Stochastic Gradient Descent,简称 SGD)。

  • 原理

相比于梯度下降法,每次参数的更新,仅用到了一个训练样本。

即,每次参数更新的伪码为:

训练集的权重更新
  • 优缺点

每次参数的更新,仅用到了一个训练样本。优点:相比梯度下降法,节省时间。缺点:每次迭代并不一定都是模型整体最优化的方向。若样本噪声较多,很容易陷入局部最优解而收敛到不理想的状态。


3. 小批量梯度下降法

  • 出发点

鉴于梯度下降法耗费时间长,而随机梯度下降法容易陷入局部最优解。因此,提出了小批量梯度下降法(Mini-batch Gradient Descent,简称MBGD)。即,在训练速度和训练准确率之间取得一个折衷。

  • 原理

若指定每次参数更新用到的训练样本个数 batch_size=10,则每次参数更新,随机选取10个训练样本进行计算。

即,每次参数更新的伪码为:

训练集的权重更新
  • 优点

节省计算时间,相比选取单个样本更具稳定性,是在大规模数据上训练大型线性模型的主要方法。


相关知识补充

a. 临界点 与 全局最小点

临界点(Critical point)是斜率为零的点,在一维情况下大致可以分为三种类型:局部极小点(Local minimum),其值低于相邻点;局部极大点(Local maximum),其值高于相邻点;鞍点(Saddle point),同时存在更高和更低的相邻点。

如下图所示:

一维情况下,临界点的三种类型:局部极小点、局部极大点、鞍点。


全局最小点(global minimum)是使目标函数取得绝对最小值(相对所有其他值)的点。

在机器学习中,我们要优化的目标函数,可能含有许多不是最优的局部极小点,或者还有很多处于非常平坦的区域内的鞍点。因此,我们通常寻找使目标函数非常小的点,但并不一定是最小。

即,当存在多个局部极小点或平坦区域时,优化算法可能无法找到全局最小点。 因此,即使找到的解不是真正最小的,但只要它们对应的目标函数显著低的值,我们通常就能接受这样的解。

近似最小化


b. 梯度下降的收敛 与 方向

梯度下降在梯度的每一个元素为零时收敛(或在实践中,很接近零时)。 即,寻求全局最小点或局部极小点,使目标函数达到显著低。

如下图所示:

梯度下降过程

梯度下降的方向与等高线的切线方向垂直,如下图所示:

梯度下降的收敛图(等高线)。其中,红色箭头的指向为梯度下降的方向。
  • 推导

假设目标函数为一个三维曲面 z=f(x,y) ,该曲面被平面 z=c 所截的曲线方程为:

那么,该曲线在 xoy 平面上的投影,就是曲面 z 的等高线。

因此,等高线的曲线方程为:


等高线上任意一点 p 的切线斜率为dy/dx。由点p的切线斜率与法线斜率之积为-1,可得点 p 对应的法线斜率为:

其中,


而梯度的表达式为:

梯度的方向为:


因此,梯度下降的方向与等高线的切线法向量方向相同。即,梯度下降的方向与等高线的切线方向垂直。




参考

【知乎专栏】机器学习算法与自然语言处理:详解梯度下降法的三种形式BGD、SGD以及MBGD
【知乎专栏】机器学习算法与自然语言处理:为什么梯度的方向与等高线切线方向垂直?
【Book】Deep Learning (by Yoshua Bengio, Ian Goodfellow and Aaron Courville)
【Book】解析卷积神经网络 — 深度学习实践手册(魏秀参)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,911评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,014评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,129评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,283评论 1 264
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,159评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,161评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,565评论 3 382
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,251评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,531评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,619评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,383评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,255评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,624评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,916评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,199评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,553评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,756评论 2 335