我正在尝试创建自己的神经网络,允许python中无限的神经元层。它使用numpy数组对象来模拟神经元,权重,输入和输出。我已经弄清楚如何处理前向传播,但我很难找到一个处理可以处理多个隐藏层的反向传播的公式。
def train(self, training_set_inputs, training_set_outputs, number_of_training_iterations):
for iteration in xrange(number_of_training_iterations):
# Pass the training set through our neural network
self.think(training_set_inputs)
# backpropagation code...
def think(self, inputs):
for layer in self.layers:
inputs = self.__sigmoid(dot(inputs, layer.synaptic_weights))
layer.outputs = inputs
从这里我可以使用self.layer[n].outputs
请用python代码或整齐,定义良好的数学函数发布答案。