首页 > 编程知识 正文

为什么要用随机梯度下降法,随机梯度下降算法

时间:2023-05-05 12:57:57 阅读:11999 作者:1973

执行上述代码一次后的结果如下

表示陷入了loss的局部极小值

其他几次运行的结果也不稳定

为了说明上述理由

首先,上面用的罗斯

梯度下降法是每次迭代计算的是训练样本误差之和(也称为批量学习batch learning)。

在凸以外的误差空间中,模型的优化结果依赖于权重的随机初始值

有可能陷入局部极小值而出不来。

为了避免这种情况,采用随机梯度下降法,每次迭代都用每个训练样本的误差进行更新,相当于上式的累计和符号消除

言归正传,我们采用的是随机梯度下降法(SGD ),但只有四个训练样本,太小了,所以小数据样本被严重限制在随机初始值。 这是因为在一个迭代周期(即上面的100个迭代)中,四个样本计算误差的顺序是固定的。 也就是说,因为在下降的梯度方向上很难有大的变化。 (因为,假设自己的前进方向是全球极小值的方向,却意外地一步一步地

但是,对于大数据来说,如果样本大(多样性),即改变方向),即随机初始值差,则接近局部极小值的方向的可能性变高,其下降方向变得更准确。

随机梯度不是整体的,因此就像是进行了参数的估计

epoch是迭代次数

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。