【问题标题】:Difference between the cost function of a training sample and the cost function of a mini-batch训练样本成本函数与小批量成本函数之间的差异
【发布时间】:2020-03-21 12:42:24
【问题描述】:

假设我有一个名为“NN”的神经网络,具有 500 个权重和偏差(总参数 = 500)。

对于一个训练样本:它通过'NN'引入,它输出一个输出(Out1),输出与训练标签进行比较,使用反向传播算法,每个样本都有一个小的变化(正或负) 'NN' 的参数。成本函数由一个 1x500 维度的向量表示,所有的小修改都是通过反向传播算法获得的。

假设 mini_batch_size=10

对于一个小批量:10 个训练样本中的每一个都提供 1x500 维度的成本函数。

为了更好地可视化和解释,假设我们创建了一个 10x500(称为 M)的矩阵,其中每一行都是每个训练样本的成本函数。

问题:对于mini-batch的训练例子,minibatch的最终代价函数是不是所有列元素的平均结果?

PD。 如果问题不够清楚,我会留下一些代码说明我的确切意思。

for j=1:500
Cost_mini_batch(j)=sum(M(:,j))/10
end

Cost_mini_batch 的尺寸为 1x500。

【问题讨论】:

    标签: matlab training-data mini-batch


    【解决方案1】:

    “成本”是指损失,即Out1和训练标签之间的误差。

    成本函数由一个 1x500 维向量表示,所有小的修改都通过反向传播算法获得。

    这称为“梯度”,而不是成本函数。

    问题:对于mini-batch的训练例子,minibatch的最终代价函数是不是所有列元素的平均结果?

    是的,小批量的梯度和成本函数都是小批量中每个示例的梯度的平均值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-17
      • 2018-06-02
      • 1970-01-01
      • 1970-01-01
      • 2016-01-13
      • 1970-01-01
      • 2023-03-10
      • 2020-03-09
      相关资源
      最近更新 更多