【科研相关知识】梯度下降算法(Gradient Descent)

梯度下降算法(Gradient Descent)

梯度下降算法是一种用于求解函数最小值的一阶优化算法。在机器学习和深度学习中,梯度下降算法被广泛用于模型训练,通过迭代的方式调整模型参数,以最小化损失函数。

在这里插入图片描述

梯度下降算法的基本思想是:在函数的梯度(或者说斜率)指向的方向上,函数值下降得最快。因此,如果我们想要找到函数的最小值,可以从函数的某个初始点出发,沿着梯度的反方向(因为我们要减小函数值)逐步迭代,最终达到函数的局部最小值点。

梯度下降算法的迭代公式通常表示为: x n e w = x o l d − α ∇ f ( x o l d ) x_{new} = x_{old} - \alpha \nabla f(x_{old}) xnew=xoldαf(xold)

其中:

  • x o l d x_{old} xold是当前迭代点的坐标。
  • α \alpha α 是学习率(步长),它决定了在梯度方向上每一步前进的距离。
  • ∇ f ( x o l d ) \nabla f(x_{old}) f(xold) 是函数 f ( x ) f(x) f(x) 在点 x o l d x_{old} xold的梯度,它是一个向量,指向函数增长最快的方向。
  • x n e w x_{new} xnew 是下一个迭代点的坐标。

梯度下降算法几种变体

假设有一个损失函数 J ( θ ) J(\theta) J(θ),其中 θ \theta θ 是模型参数,我们的目标是通过调整 θ \theta θ 来最小化损失函数。

  1. 批量梯度下降(Batch Gradient Descent)

批量梯度下降使用所有训练样本来计算梯度,然后更新参数。其更新规则可以表示为:

θ = θ − α ⋅ ∇ J ( θ ) \theta = \theta - \alpha \cdot \nabla J(\theta) θ=θαJ(θ)

其中, α \alpha α 是学习率, ∇ J ( θ ) \nabla J(\theta) J(θ) 是损失函数 J ( θ ) J(\theta) J(θ) 关于参数 θ \theta θ 的梯度。批量梯度下降的更新规则考虑了所有样本的梯度信息,因此可以保证每次更新的方向是最优的,但计算量较大。

  1. 随机梯度下降(Stochastic Gradient Descent)

随机梯度下降每次只使用一个随机样本来计算梯度,并根据该梯度更新参数。其更新规则可以表示为:

θ = θ − α ⋅ ∇ J ( θ ; x ( i ) , y ( i ) ) \theta = \theta - \alpha \cdot \nabla J(\theta; x^{(i)}, y^{(i)}) θ=θαJ(θ;x(i),y(i))

其中, ( x ( i ) , y ( i ) ) (x^{(i)}, y^{(i)}) (x(i),y(i)) 是随机选择的一个训练样本, ∇ J ( θ ; x ( i ) , y ( i ) ) \nabla J(\theta; x^{(i)}, y^{(i)}) J(θ;x(i),y(i)) 是损失函数 J ( θ ) J(\theta) J(θ) 关于参数 θ \theta θ 在样本 ( x ( i ) , y ( i ) ) (x^{(i)}, y^{(i)}) (x(i),y(i)) 处的梯度。随机梯度下降每次更新只考虑一个样本,因此更新的方向可能不是最优的,但计算量较小。

  1. 小批量梯度下降(Mini-batch Gradient Descent)

小批量梯度下降是批量梯度下降和随机梯度下降的折中,每次更新使用一小部分(批量)样本来计算梯度,并根据平均梯度更新参数。其更新规则可以表示为:
θ = θ − α ⋅ 1 ∣ B ∣ ∑ ( x ( i ) , y ( i ) ) ∈ B ∇ J ( θ ; x ( i ) , y ( i ) ) \theta = \theta - \alpha \cdot \frac{1}{|\mathcal{B}|} \sum_{(x^{(i)}, y^{(i)}) \in \mathcal{B}} \nabla J(\theta; x^{(i)}, y^{(i)}) θ=θαB1(x(i),y(i))BJ(θ;x(i),y(i))
其中, B \mathcal{B} B 是随机选择的小批量样本集合, ∣ B ∣ |\mathcal{B}| B 是批量大小, ∇ J ( θ ; x ( i ) , y ( i ) ) \nabla J(\theta; x^{(i)}, y^{(i)}) J(θ;x(i),y(i)) 是损失函数 J ( θ ) J(\theta) J(θ) 关于参数 θ \theta θ 在批量样本 ( x ( i ) , y ( i ) ) (x^{(i)}, y^{(i)}) (x(i),y(i)) 处的梯度。小批量梯度下降综合了批量梯度下降和随机梯度下降的优点,既可以保证一定的更新稳定性,又可以减少计算量。

  • 17
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

正在輸入......

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值