合辑传送门 -->> 数据分析-合辑
在机器学习中,并不是所有情况都能根据目标函数直接求解,大多时候我们的思想都是交给机器一堆数据,然后告诉它怎样的学习方法(目标函数)是对的,然后让它朝着这个方向一小步一小步前进(迭代)。
-
批量梯度下降(Batch Gradient Descent,BGD)
优点:
(1)一次迭代是对所有样本进行计算,此时利用矩阵进行操作,实现了并行。
(2)由全数据集确定的方向能够更好地代表样本总体,从而更准确地朝向极值所在的方向。当目标函数为凸函数时,BGD一定能够得到全局最优。
缺点:
(1)当样本数目 m 很大时,每迭代一步都需要对所有样本计算,训练过程会很慢。
- 随机梯度下降(Stochastic Gradient Descent,SGD)
优点:
(1)由于不是在全部训练数据上的损失函数,而是在每轮迭代中,随机优化某一条训练数据上的损失函数,这样每一轮参数的更新速度大大加快。
缺点:
(1)准确度下降。由于即使在目标函数为强凸函数的情况下,SGD仍旧无法做到线性收敛。
(2)可能会收敛到局部最优,由于单个样本并不能代表全体样本的趋势。
(3)不易于并行实现。
- 小批量梯度下降(Mini-Batch Gradient Descent, MBGD)
优点:
(1)通过矩阵运算,每次在一个batch上优化神经网络参数并不会比单个数据慢太多。
(2)每次使用一个batch可以大大减小收敛所需要的迭代次数,同时可以使收敛到的结果更加接近梯度下降的效果。
(3)可实现并行化。
缺点:
(1)batch_size的不当选择可能会带来一些问题。
梯度下降时,每迭代一次,需更新一次,更新时下降的步数我们称为学习率
学习率对结果会产生巨大的影响,一般小一点
一般而言,我们会使用较小的学习率,较多的迭代次数
批处理数量:32,64,128均可