批量梯度随机下降,小批量梯度随机下降和随机梯度下降的差别

这三种方法是梯度下降优化算法的三种主要变体,其核心区别在于每次更新模型参数时,所使用的训练数据量不同

1. 批量梯度下降

核心思想:使用整个训练数据集(全部样本)来计算损失函数关于参数的梯度,然后进行一次参数更新。

  • 工作流程
    1. 遍历整个训练集,计算每个样本的梯度。
    2. 对所有样本的梯度求平均
    3. 用这个平均梯度来更新模型参数。
    4. 重复以上步骤,直到收敛。

2. 随机梯度下降

核心思想:每次只使用一个训练样本来计算梯度并立即更新模型参数。

  • 工作流程
    1. 随机打乱训练数据集。
    2. 遍历数据集中的每一个样本。
    3. 对于每一个样本 (x(i),y(i))(x(i),y(i)),计算其损失函数的梯度。
    4. 立即用这个(可能很“嘈杂”的)梯度来更新参数。
    5. 在一个“周期”(Epoch,即完整遍历一次数据集)内,会进行 m(样本总数)次参数更新。

3. 小批量梯度下降

核心思想:这是BGD和SGD之间的一个折中方案。它每次使用一个小批量(Mini-batch)的数据样本来计算梯度并更新参数。这个批量的大小通常是一个超参数,常见的有32, 64, 128, 256等。

  • 工作流程
    1. 将训练集分成许多个小批次。
    2. 遍历每一个小批次。
    3. 对于每一个小批次(包含 b 个样本),计算该批次上损失函数的平均梯度。
    4. 用这个平均梯度来更新参数。
    5. 一个Epoch内,会进行 m / b 次参数更新。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇