关于SGD的一些小笔记

本文介绍了随机梯度下降(SGD)的基本原理及其与批量梯度下降的区别。讨论了SGD在训练过程中的挑战,如学习速率的选择和调整、局部极值点等问题,并推荐了自适应学习速率的SGD优化方法如Adam。此外,还提到了数据随机洗牌、课程学习和批次归一化等策略对训练的影响。
摘要由CSDN通过智能技术生成

 

对于梯度下降法 如果训练样本集特别大(假设为样本3亿:表示在美国大学3亿人口,因此美国的人口普查拥有这样数量级的数据),如果想用这些数据去拟合一个线性回归模型,那么需要对着3亿数据进行求和,计算量太大了,这种梯度下降也被称为批量地图下降法,(批量:表示每次我们都要同时考虑所有训练样本,我们称之为一批训练样本)

可以想象一下如果真有3亿数据存在计算机硬盘中,那么这种算法需要将这3亿人口数据读入到计算机中,仅仅为了计算这个微分项,需要不断的将这些数据传入计算机的内存中,但是计算机的内存存不了这个多数据,所以需要慢慢读取这些数据,然后进行一次求和,再算出这个微分,做完这些以后,自己才刚刚完成梯度下降法中的其中一步,你还得再来一遍遍历这3亿数据,然后计算和的值,做完这一步你依然只完成了梯度下降法一小步,一直这样下去进行下去,为了计算收敛结果,需要花费很长的时间,对比这种批量梯度下降法,下面介绍一种新的算法随机梯度下降法。这种方法完全不同了,每次迭代中不需要考虑所有的训练样本啦,仅仅只需要考虑一个样本。

SGD

SGD(stochastic gradient descent)随机梯度下降,对于训练数据集,我们首先将其分成n个batch,每个batch包含m个样本。我们每次更新都利用一个batch的数据,而非整个训练集。

批量梯度下降(Batch gradient descent) 

批量梯度下降算法每次都会使用全部训练样本,因此这些计算是冗余的,因为每次都使用完全相

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值