用 Python 训练神经网络
介绍
在“运行神经网络”一章中,我们用 Python 代码编写了一个名为“神经网络”的类。此类的实例是具有三层的网络。当我们实例化此类的 ANN 时,层之间的权重矩阵是自动随机选择的。甚至可以在某些输入上运行这样的 ANN,但自然而然地,除了用于测试目的之外,它没有多大意义。这样的人工神经网络不能提供正确的分类结果。事实上,分类结果并没有适应预期的结果。权重矩阵的值必须根据分类任务进行设置。我们需要改进权重值,这意味着我们必须训练我们的网络。为了训练它,我们必须在train方法。如果您不了解反向传播并想了解它,我们建议您返回神经网络中的反向传播一章。
在了解并希望理解反向传播之后,您就可以完全理解该train方法了。
train使用输入向量和目标向量调用该方法。向量的形状可以是一维的,但它们会自动变成正确的二维形状,即reshape(input_vector.size, 1)和reshape(target_vector.size, 1)。之后我们调用run方法来获取网络的结果output_vector_network = self.r
共有 0 条评论