Это продолжение предыдущей статьи на https://medium.com/@mkvjayanth1/implementing-a-neural-network-from-scratch-using-classes-in-python-216b74ee8c58

Вот пример того, как создать и обучить нейронную сеть с 2 входными нейронами, 2 скрытыми нейронами и 1 выходным нейроном: (XOR)

# create the neural network with 2 input neurons, 2 hidden neurons, and 1 output neuron
nn = NeuralNetwork([2, 2, 1], sigmoid_activation)

# create the dataset with input and output values
X = np.array([[1, 1], [1, 0], [0, 1], [0, 0]])
y = np.array([[1], [0], [0], [0]])

# train the network
nn.train(X, y, learning_rate=0.1, epochs=1000)

В этом примере мы создали нейронную сеть с 2 входными нейронами, 2 скрытыми нейронами и 1 выходным нейроном. Мы также создали набор данных с входными значениями [1, 1], [1, 0], [0, 1], [0, 0] и соответствующими выходными значениями [1], [0], [0], [0]. Нейронная сеть обучается с использованием этих входных и выходных данных со скоростью обучения 0.1 и 1000 эпох.

После обучения нейронную сеть можно использовать для прогнозирования новых входных данных. Вот пример того, как сделать прогноз для первого ввода в наборе данных:

# make a prediction for the first input in the dataset
inputs = X[0]
output = nn.forward(inputs)
print(output) # [0.5]

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

Важно отметить, что это простой пример, и есть много других факторов, которые следует учитывать для более надежной и точной нейронной сети, таких как использование лучших алгоритмов оптимизации, методов регуляризации и отдельного набора данных проверки для проверки производительности. модели во время обучения и предотвращения переобучения.

Следите за новостями здесь: https://linktr.ee/jayanthmkv