Я сейчас читаю его удивительную книгу (http://neuralnetworksanddeeplearning.com/chap1.html) и думаю, что до сих пор я достаточно хорошо понимаю большинство этих вещей. Математика требует некоторого мышления, но вполне управляема.
Что просто неЯ не хочу понимать, что делает функция обратной связи и как она может работать. Я не мог получить ее так долго, что решил, что мне нужно создать здесь аккредитацию и попросить о помощи.
def feedforward(self, a):
"""Return the output of the network if ``a`` is input."""
for b, w in zip(self.biases, self.weights):
a = sigmoid(np.dot(w, a)+b)
return a
Вы могли бы сейчас сказать: «Эй, это довольно просто, чего нельзя понять об этом», и в основном вы правы. Но что меня беспокоит, так это то, что эта сеть должна классифицировать цифры - и кодКажется, работает просто отлично. Если я запускаю его на своей машине, он показывает мне прогресс, как и должно быть. Таким образом, результатом net.feedforward(image)
должен быть массив с 10 записями, который указывает, по какой цифре сеть классифицирует нашу картинку.Но фактический результат - массив с 10 умноженными на 30 записями -> Это причиняет мне боль. Ни суммирование этих записей, ни их усреднение, кажется, не дают сомачто-то близкое к желаемому (0,0,0,0,1,0,0,0,0,0), которое вы хотели бы получить для изображения 4. Еще более странная его часть состоит в том, что остальныеКажется, код предполагает, что он получит только это:
def evaluate(self, test_data):
"""Return the number of test inputs for which the neural
network outputs the correct result. Note that the neural
network's output is assumed to be the index of whichever
neuron in the final layer has the highest activation."""
test_results = [(np.argmax(self.feedforward(x)), y)
for (x, y) in test_data]
return sum(int(x == y) for (x, y) in test_results)
Если я сделаю это: test=net.feedforward(image)
, а затем использую np.argmax(test)
, я получу произвольный результат в зависимости от ввода между 0 и 299, а неОт 0 до 9, как и ожидалось в функции.
Тем не менее, код, кажется, работает - это сводит меня с ума.Чем это объясняется, что решает узел в моей голове?