为什么最好的mini-batch的大小通常不是1也不是m,而是介于两者之间? A.如果mini-batch的大小是1,那么在你取得进展前,你需要遍历整个训练集 B.如果mini-batch的大小是m,就会变成批量梯度下降。在你取得进展前,你需要遍历整个训练集 C.如果mini-batch的大小是1,那么你将失去mini-batch将数据矢量化带来的的好处 D.如果mini-batch的大小是m,就会变成随机梯度下降,而这样做经常会比mini-batch慢
时间: 2023-10-18 09:04:22 浏览: 253
选项A和B是正确答案。具体解释如下:
- 如果mini-batch的大小是1,那么每次更新参数都只使用一个样本,这样会导致更新方向非常不稳定,从而可能需要遍历整个训练集才能取得进展,选项A是正确答案。
- 如果mini-batch的大小是m,那么每次更新参数都需要使用整个训练集,这样会导致计算代价非常大,并且可能会使得模型陷入局部最优解。因此,在你取得进展前,你需要遍历整个训练集,选项B是正确答案。
- 选项C和D是错误答案。mini-batch的大小不会影响数据矢量化带来的好处,也不会使得计算速度比随机梯度下降更慢。
相关问题
5.处理梯度下降每次迭代的所有训练示例(10分) A.随机梯度下降 B.批次梯度下降 C.迷你批次梯度下降 D.以上皆无
B. 批次梯度下降 (Batch Gradient Descent) 和 C. 迷你批次梯度下降 (Mini-batch Gradient Descent) 都涉及到处理整个训练集的每个样本一次迭代,区别在于:
- 批次梯度下降:在每次迭代中,模型会计算所有训练样本来更新权重,这可能导致计算成本较高,尤其是在大型数据集上,因为需要一次性加载全部数据到内存。然而,这种方法可以保证权重更新的方向是最优的,因为它基于完整的梯度信息。
- 迷你批次梯度下降:这是介于随机梯度下降 (A) 和批次梯度下降之间的一个折衷方案。它将训练数据分成小批量(即迷你批次),然后对每个 mini-batch 计算梯度并更新权重,这降低了内存需求,并加快了收敛速度,但也引入了一定程度的噪声,因为每次迭代不是基于全局梯度而是mini-batch的梯度。
因此,选项 B 和 C 都涉及到了每次迭代处理训练示例,但C更常见用于大规模学习任务,D则表示上述两者都有所应用,视具体场景而定。
阅读全文