输入数据集如何输入神经网络?

时间:2017-07-19 21:20:01

标签: neural-network backpropagation supervised-learning

如果我的数据集中有1000个观察值,包含15个特征和1个标签,输入神经元中的数据如何用于正向传递和反向传播?它是否按行进行1000次观察(一次一个),并且每次观察得到更新权重,或者根据输入矩阵给出完整数据,然后根据时期数量,网络学习相应的权重值?此外,如果它是一次送一个,那么那个案例的时代是什么? 感谢

1 个答案:

答案 0 :(得分:2)

假设数据被格式化为行(1000个实例,每个具有16个特征,最后一个是标签),您将逐行输入前15个特征,并使用最后一个“特征”/标签作为目标。这称为在线学习。在线学习要求您一次在一个示例中提供数据,并为每个示例进行反向传播和权重更新。您可以想象,由于每个数据实例的反向传播和更新,这可能会非常密集。

您提到的另一个选项是将整个数据输入网络。由于收敛速度极慢,这在实践中表现不佳。

在实践中,使用迷你批次。这涉及通过发送一小部分数据集然后进行反向传播和权重更新。这提供了相对频繁的重量更新以加速学习的益处,但是比在线学习更不强烈。有关小批量的详细信息,请参阅此University of Toronto Lecture by Geoffrey Hinton

最后,一个纪元始终是1遍历所有数据。如果你一次一个地喂它或者一次喂它都没关系。

我希望这澄清了你的问题。