修改密码

请输入密码
请输入密码 请输入8-64长度密码 和 email 地址不相同 至少包括数字、大写字母、小写字母、半角符号中的 3 个
请输入密码
提交

修改昵称

当前昵称:
提交

申请证书

证书详情

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

服务器的MAC地址

Please complete this required field.

Please complete this required field.

取消
申请
ID
产品
状态
核数
申请天数
审批时间
过期时间
MAC地址
申请理由
审核信息
关闭
基础信息
  • 用户昵称:
  • 手机号:
  • 公司名称:
  • 公司邮箱:
  • 地区:
  • 语言:
修改密码
申请证书

当前未申请证书.

申请证书
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

ProductName CreateTime ID Price File
ProductName CreateTime ID Price File

No Invoice

搜索
    中文

      梯度下降法

      概述

      梯度下降(Gradient Descent)法是一种最优化算法,用于求解函数的最小值,常用在机器学习中。

      数学基础

      导数

      对于单变量函数 f(x),导数(Derivative,也称为微商)是指函数在某一点切线的斜率,表示函数在该点的变化率。以下图为例,函数在 x = x0 处的导数为(如果 ∆x→0 存在,此条件以下不再赘述):

      切线(Tangent Line)指的是一条刚好触碰到曲线上某一点的直线,切线的方向与该点的方向相同。

      偏导数

      对于多变量函数,情况则复杂地多。如果只考虑一个变量的变化,而其他变量固定不变,就得出多变量函数的偏导数(Partial Derivative),N 个变量的函数就有 N 个偏导数。例如,二元函数 f(x,y) 在 x = x0 处对 x 的偏导数为:

      上图中,L1 为变量 x 不变时,函数对变量 y 的导数,即沿 Y 轴方向的变化;L2 为变量 y 不变时,函数对变量 x 的导数,即沿 X 轴方向的变化。

      方向导数

      导数与偏导数考虑的是函数沿坐标轴方向的变化,如果考虑函数沿任意方向的变化,就是方向导数(Directional Derivative)。

      以二元函数 z = f(x,y) 为例,函数曲面上任意一点 (x0,y0,z0) 在 XY 平面的投影点为 (x0,y0),以该点为圆心画一个单位圆,圆上任意一点与点 (x0,y0) 构成的单位向量 u 就可以表示方向。特别地,当方向与坐标轴正方向一致时,方向导数即为偏导数。

      梯度

      函数值上升最快的方向,也就是方向导数取得最大值的方向,就是梯度(Gradient)的方向。反之,沿着与梯度相反的方向,函数值下降最快。

      任意方向的方向导数是偏导数的线性组合。经证明,多元函数 f(x1,x2,...,xn) 的梯度(记作 ∇f)为

      链式法则

      链式法则(Chain Rule)是复合函数的求导法则:复合函数的导数可以用构成复合函数的各个函数的导数乘积表示。其数学表示为:对于复合函数 f∘g,其导数为

      例如,函数 s(x,y) = (2x+y)(y-3) 是函数 f(x,y) = 2x+y 以及 g(y) = y-3 的复合函数,则 s(x,y) 分别对 x 和 y 求偏导(数)如下:

      梯度下降法

      基本形式

      举一个实际生活中的例子:假设我们在一座山上,希望以最快的速度下山。当然,肯定存在着某条最佳路线,但通常找到这条路线的代价很大,更常见的做法是走一步看一步。也就是说,每走到一个位置,计算从该位置下山最快的方向(即梯度),沿着该方向走到下一位置;重复这个过程直到下山。

      梯度下降(Gradient Descent)法就是沿着梯度下降的方向求极小值;反之,沿着梯度上升的方向求最大值就是梯度上升(Gradient Ascent)法。

      给定函数 J(θ),梯度下降法的基本形式为:

      其中,∇J 为函数在 θ 位置的梯度,η 为学习率(Learning Rate)。由于梯度实际上是函数值上升最快的方向,因此 η∇J 前是减号,表示与梯度相反的方向。

      学习率是指进行每一步梯度下降时向目标方向移动的长度,在下山的例子中,学习率可以理解为每次移动的步长。

      单变量函数示例

      以函数 J(θ) = θ2+10 为例,其导数为

      假设起始位置为 θ0 = 1,学习率 η = 0.2,根据上述梯度下降公式,接下来的移动轨迹为:

      • θ1 = 1 - 2*1*0.2 = 0.6
      • θ2 = 0.36
      • θ3 = 0.216
      • θ4 = 0.1296
      • ...
      • θ18 = 0.00010156
      • ...

      随着步数增多,无限逼近使函数到达最小值的 θ = 0。

      多变量函数示例

      以函数 J(Θ) = θ1222 为例,其梯度为

      假设起始位置为 Θ0 = (-1,-2),学习率 η = 0.1,根据上述梯度下降公式,接下来的移动轨迹为:

      • Θ1 = ((-1) - 2*(-1)*0.1,(-2) - 2*(-2)*0.1) = (-0.8,-1.6)
      • Θ2 = (-0.64,-1.28)
      • Θ3 = (-0.512,-1.024)
      • Θ4 = (-0.4096,-0.8192)
      • ...
      • Θ20 = (-0.011529215,-0.02305843)
      • ...

      随着步数增多,无限逼近使函数到达最小值的 Θ = (0,0)。

      机器学习中的梯度下降法

      在神经网络模型的学习与训练中,常用一个损失函数 J(Θ) 来衡量模型输出结果与期望结果的误差,梯度下降法则用来最小化这个损失函数,即朝着梯度 ∇J(Θ) 的反方向反复更新模型参数直至收敛,从而达到优化模型的目的。为了权衡计算时间与准确度,实际应用中梯度下降法有一些变形形式,一般有以下几种:

      1. 批量梯度下降法(Batch Gradient Descent, BGD)
      2. 随机梯度下降法(Stochastic Gradient Descent, SGD)
      3. 小批量梯度下降法(Mini-Batch Gradient Descent, MBGD)

      示例描述

      假设我们用 m 个样本训练一个神经网络模型,样本一般指一个输入值和一个期望的输出值,x(i) 与 y(i)(i=1,2,...,m)分别为第 i 个输入值和期望的输出值。模型的假设函数(Hypothesis)hΘ 如下,其中 x(i) 的下标表示 x(i) 的各个分量:

      假设函数是机器学习中描述从输入到输出的映射关系的目标函数。本例中,函数参数 θj(j=0,1,...,n)的改变会导致模型输出值的变化,模型训练的目标就是找到最优的 θj,使得模型输出值尽可能接近期望值。训练开始时,随机初始化 θj

      使用均方误差(Mean Square Error, MSE)作为损失函数(Loss/Cost Function)J(Θ),用于表示各期望值与模型输出值的误差的平均值:

      标准的均方误差分母应该是 1/m,机器学习中使用 1/2m 是为了在损失函数求偏导时与平方抵消,消除常数系数以便于后续计算,这样做不会影响计算结果。

      批量梯度下降法

      批量梯度下降法(BGD)是梯度下降法最原始的形式。

      对 θj 求偏导:

      更新 θj 的值:

      其中 η 为学习率。公式中的求和符号意味着每次迭代更新参数时,全部 m 个样本都参与计算。很显然,当样本数 m 很大时,训练过程会很慢。

      随机梯度下降法

      随机梯度下降法(SGD)和批量梯度下降法原理类似,区别在于每次迭代时只随机选取一个样本来加快训练速度。

      随机选取一个样本计算误差:

      对 θj 求偏导:

      更新 θj 的值:

      SGD 只用一个样本进行梯度计算,省略了求和以及求平均的过程,降低了计算复杂度,因此提升了计算速度,但准确度会有所下降。

      小批量梯度下降法

      以上两种方法是两个极端,要么考虑全部样本,要么只考虑一个样本,小批量梯度下降法(MBGD)则是一个折衷方法,它随机选择 1 < x < m 个样本进行梯度计算。

      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写