加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

浅谈梯度下降法/Gradient descent

发布时间:2019-03-29 00:53:18 所属栏目:教程 来源:360技术
导读:当今世界,深度学习应用已经渗透到了我们生活的方方面面,深度学习技术背后的核心问题是最优化(Optimization)。最优化是应用数学的一个分支,它是研究在给定约束之下如何寻求某些因素(的量),以使某一(或某些)指标达到最优的一些学科的总称。 梯度下降法(G
副标题[/!--empirenews.page--]

当今世界,深度学习应用已经渗透到了我们生活的方方面面,深度学习技术背后的核心问题是最优化(Optimization)。最优化是应用数学的一个分支,它是研究在给定约束之下如何寻求某些因素(的量),以使某一(或某些)指标达到最优的一些学科的总称。

梯度下降法

梯度下降法(Gradient descent,又称最速下降法/Steepest descent),是无约束最优化领域中历史最悠久、最简单的算法,单独就这种算法来看,属于早就“过时”了的一种算法。但是,它的理念是其他某些算法的组成部分,或者说在其他某些算法中,也有梯度下降法的“影子”。例如,各种深度学习库都会使用SGD(Stochastic Gradient Descent,随机梯度下降)或变种作为其优化算法。

今天我们就再来回顾一下梯度下降法的基础知识。

1. 名字释义

在很多机器学习算法中,我们通常会通过多轮的迭代计算,最小化一个损失函数(loss function)的值,这个损失函数,对应到最优化里就是所谓的“目标函数”。

在寻找最优解的过程中,梯度下降法只使用目标函数的一阶导数信息——从“梯度”这个名字也可见一斑。并且它的本意是取目标函数值“最快下降”的方向作为搜索方向,这也是“最速下降”这个名字的来源。

于是自然而然地,我们就想知道一个问题的答案:沿什么方向,目标函数 f(x) 的值下降最快呢?

2. 函数值下降最快的方向是什么

先说结论:沿负梯度方向

函数值下降最快。此处,我们用 d 表示方向(direction),用 g 表示梯度(gradient)。

下面就来推导一下。

将目标函数 f(x) 在点浅谈梯度下降法/Gradient descent处泰勒展开(在最优化领域,这是一个常用的手段):

高阶无穷小 o(α)可忽略,由于我们定义了步长α>0(在ML领域,步长就是平常所说的learning rate),

因此,当浅谈梯度下降法/Gradient descent浅谈梯度下降法/Gradient descent即函数值是下降的。

此时浅谈梯度下降法/Gradient descent就是一个下降方向。

但是浅谈梯度下降法/Gradient descent具体等于什么的时候,可使目标函数值下降最快呢?

数学上,有一个非常著名的不等式:Cauchy-Schwartz不等式(柯西-许瓦兹不等式)①,它是一个在很多场合都用得上的不等式:

当且仅当:

时等号成立。

由Cauchy-Schwartz不等式可知:

当且仅当浅谈梯度下降法/Gradient descent时,等号成立,浅谈梯度下降法/Gradient descent最大(>0)。

所以,浅谈梯度下降法/Gradient descent浅谈梯度下降法/Gradient descent最小(<0),f(x) 下降量最大。

所以,浅谈梯度下降法/Gradient descent是最快速下降方向。

3. 缺点

它真的如它的名字所描述的,是“最快速”的吗?从很多经典的最优化书籍你会了解到:并不是。

事实上,它只在局部范围内具有“最速”性质;对整体求最优解的过程而言,它让目标函数值下降非常缓慢。

4. 感受一下它是如何“慢”的

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读