我是神经网络的新手。我有一个包含1000个样本的训练数据集,每个样本包含5个特征。
最初,我为权重提供了一些初始值。
那么,是否为每个样本存储了1000个与之相关的权重值,还是所有1000个样本的权重值保持相同?
例如:
example1 => [f1,f2,f3,f4,f5] -> [w1e1,w2e1,w3e1,w4e1,w5e1]example2 => [f1,f2,f3,f4,f5] -> [w1e2,w2e2,w3e2,w4e2,w5e2]
这里 w1
表示第一个权重,而 e1
和 e2
表示不同的样本。
or example1,example2,... -> [gw1,gw2,gw3,gw4,gw5]
这里 g 表示全局,w1
表示第一个特征的权重,依此类推。
回答:
从神经网络中的单个节点开始。其输出是应用于输入的线性组合的 sigmoid 函数,如下所示。
因此,对于5个特征,你将为神经网络的每个节点拥有5个权重 + 1个偏置。在训练过程中,一批输入被输入,计算神经网络末端的输出,根据实际输出计算误差,并基于误差反向传播梯度。简单来说,权重是根据误差进行调整的。
因此,每个节点有6个权重,根据节点数量(这取决于层数和层的大小)你可以计算权重的数量。所有权重在每批次更新一次(因为你在进行批量训练)。