ошибка: не транслируемый выходной операнд с формой (3,1) не соответствует форме трансляции (3,3) - PullRequest
0 голосов
/ 20 января 2019

появляется ошибка при запуске кода машинного обучения.

Я только начал изучать нейронные сети и машинное обучение, но я не знаю, почему это происходит или что это значит.

for iteration in range(20000):

    input_layer = training_inputs
    outputs = sigmoid(np.dot(input_layer, synaptic_weights))

    error = training_inputs - outputs
    adjustment = error * sigmoid_derivative(outputs)

    synaptic_weights += np.dot(input_layer.T, adjustment)#error occurs here

* редактировать: это весь код

import numpy as np

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

training_inputs = np.array([[0,0,1],
                            [1,1,1],
                            [1,0,1],
                            [0,1,1]])

def sigmoid_derivative(x):
    return x * (1-x)

training_outputs = np.array([[0,1,1,0]]).T

np.random.seed(1)

synaptic_weights = 2 * np.random.random((3, 1)) - 1

print ('random starting syanptic weights: ')
print (synaptic_weights)

for iteration in range(1):

    input_layer = training_inputs
    outputs = sigmoid(np.dot(input_layer, synaptic_weights))

    error = training_inputs - outputs
    adjustment = error * sigmoid_derivative(outputs)

    synaptic_weights += np.dot(input_layer.T, adjustment)

print(' synaptic weights after training: ')
print (synaptic_weights)
print ('outputs after training: ')
print (outputs)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...