我不明白这个问题的答案是如何回答这个问题的。请帮助我理解以下案例:
让我们看一个有 10 个神经元的输出层。标签/目标也是大小为 10 的向量。假设我们只有 2 个样本/实例。
对于第一个样本,我们得到:
输出层:[0.9, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]
标签/目标:[1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ]
对于第二个样本:
输出层:[0.2, 0.9, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2]
标签/目标:[0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ]
按照我的理解,我们可以计算每个样本的损失:
Loss = (1/10)*sum((output_layer - label)**2)
这样,n代表神经元的数量(10)。答案说n是样本数(2)。我的错误是什么?
而且,如果我使用全批次而不是小批量,我想在网络遍历所有样本后更新权重,这意味着(我认为)我想要所有样本的单一损失函数。我想到的唯一方法是将 n 定义为输出层中的神经元数量乘以样本数量。是这样完成的吗?
Loss_for_all_samples = (1/20)*sun((all_outputs - all_labels)**2)
其中 all_outputs 是每个样本的 output_layer 的总和,all_labels 是每个样本的标签总和。