我一直在阅读这个有趣的链接Linear Regression - SGD
我对下面的陈述有疑问。
“此优化算法的工作方式是每个训练实例一次显示给模型。模型对训练实例进行预测,计算误差并更新模型以减少误差对于下一个预测。这个过程重复进行固定次数的迭代。“
问题: 我的伪代码是否正确?
for each training input:
1) Input to Model
2) Find the prediction
3) Find the error
4) Update Model.
我不明白的是“这个过程在固定次数的迭代中重复”。是否意味着步骤4)和步骤3)重复,直到错误最小化?
如果我错了,请纠正我?
答案 0 :(得分:0)
“此过程重复进行固定次数的迭代。”意味着您可以选择发送给您网络的时期数或批次数来进行培训。
训练网络时,您有训练数据集。您为您的网络(带占位符)提供与这些输入相关联的标签和标签(通常您按批次提供样品(输入+标签))。
它对每个输入进行预测并计算错误(您使用的损失函数)。然后它调整权重(和偏差)以最小化损失函数(它执行所谓的梯度下降)。
你应该在这里看看Gradient Descent:http://sebastianruder.com/optimizing-gradient-descent/
您可以通过确定将整个训练集发送到您的网络的时间(所谓的纪元)或批次数来决定您希望您的网络训练多长时间。
希望有所帮助