谭庄食客
当前位置:首页 - 解密 >

机器学习基础:梯度下降

2019-10-08来源:黑龙江资讯通

在训练机器学习模型时,首先对权重和偏差进行初始猜测,然后反复调整这些猜测,直到获得损失可能最低的权重和偏差为止(即模型收敛)。

而梯度下降是机器学习中最常用的计算代价函数的方法,它只需要计算损失函数的一阶导数。

假设 h(theta) 为目标函数,而 J(theta) 为损失函数,

损失函数的梯度(即偏导数)为

按参数 theta 的梯度负方向,来更新 theta,即梯度下降算法为

mini-batch 梯度下降

前面的梯度下降算法在每一轮迭代均需要所有样本参与,对于大规模的机器学习应用,计算复杂度非常高。因此在每次迭代只利用部分训练集样本,即 mini-batch 梯度下降算法。实践表明,在小批量或甚至包含一个样本的批量上执行梯度下降法通常比全批量更高效。

假设训练集有 m 个样本,每个 mini-batch(训练集的一个子集)有 b 个样本,那么,整个训练集可以分成 m/b 个 mini-batch。我们用 ω 表示一个 mini-batch, 用 Ωj 表示第 j 轮迭代中所有 mini-batch 集合,有:

那么,mini-batch 算法为

随机梯度下降

随机梯度下降(SGD)通过每个样本来迭代更新一次 $\theta$, 它大大加快了迭代速度。

随机梯度下降算法是 mini-batch 的一个特殊应用。SGD 等价于 b=1 的 mini-batch 梯度下降算法。即每个 mini-batch 中只有一个训练样本。


转载文章地址:http://www.aquafantaseainc.com/jiemi/18384.html
(本文来自谭庄食客整合文章:http://www.aquafantaseainc.com)未经允许,不得转载!
标签:
网站简介 联系我们 网站申明 网站地图

版权所有:www.aquafantaseainc.com ©2017 谭庄食客

谭庄食客提供的所有内容均是网络转载或网友提供,本站仅提供内容展示服务,不承认任何法律责任。