如何在ML中修改模型权重?

时间:2017-06-23 15:10:45

标签: machine-learning tensorflow deep-learning

我一直在阅读这个有趣的链接Linear Regression - SGD

我对下面的陈述有疑问。

“此优化算法的工作方式是每个训练实例一次显示给模型。模型对训练实例进行预测,计算误差并更新模型以减少误差对于下一个预测。这个过程重复进行固定次数的迭代。“

问题: 我的伪代码是否正确?

for each training input:
    1) Input to Model
    2) Find the prediction
    3) Find the error
    4) Update Model.

我不明白的是“这个过程在固定次数的迭代中重复”。是否意味着步骤4)和步骤3)重复,直到错误最小化?

如果我错了,请纠正我?

1 个答案:

答案 0 :(得分:0)

“此过程重复进行固定次数的迭代。”意味着您可以选择发送给您网络的时期数或批次数来进行培训。

训练网络时,您有训练数据集。您为您的网络(带占位符)提供与这些输入相关联的标签和标签(通常您按批次提供样品(输入+标签))。

它对每个输入进行预测并计算错误(您使用的损失函数)。然后它调整权重(和偏差)以最小化损失函数(它执行所谓的梯度下降)。

你应该在这里看看Gradient Descent:http://sebastianruder.com/optimizing-gradient-descent/

您可以通过确定将整个训练集发送到您的网络的时间(所谓的纪元)或批次数来决定您希望您的网络训练多长时间。

希望有所帮助