питон как сделать чтобы код работал там 3 слоя и обратное распространение ошибки - вопрос №4439847

import numpy as np


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

weights1 = 2 * np.random.random((3, 3)) — 1
weights2 = 2 * np.random.random((3, 1)) — 1

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

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

speed = 0.01

for i in range(100000):
inp = x
out1 = sigmoid( np.dot(inp, weights1) )
out2 = sigmoid( np.dot(out1, weights2) )

error = (out2 — y) ** 2

err2 = y — out2
adjustments2 = np.dot( inp.T, err2 * out2 * (1 — out2))
weights2 -= adjustments2

err1 = err2+y
adjustments1 = np.dot( inp.T, err1 * out1 * (1 — out1))
weights1 -= adjustments1 * speed


print( «Веса после обучения:»)
print(weights1)
print(weights2)
print( «Результат после обучения:»)
print(out1)
print(out2)

Ответы


Я насчитал только 18 ошибок вам легче переписать весь код
19.08.21

Глеб Черняк

Сейчас на сайте
Читать ответы
Посмотреть всех экспертов из раздела Технологии > Тестирование
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store