Вот самое простое, что я придумал. Кратко о сути. Создаём список из последовательностей нулей и единиц длины 8. Далее создаём список Y - в нём содержатся произведения последнего числа на первое в каждой из последовательностей длины 8 (из Х). Если человеку просто дать оба списка (Х и Y), то потребуется очень много времени, чтобы он понял, как именно из элемента X получается соответствующий элемент Y. С помощью нейросети найдём эту закономерность и проверим на чём-нибудь
import keras
from random import randint
import numpy as np
from keras.models import Sequential
from keras.layers import Dense
X = np.array([[float(randint(0, 1)) for i in range(8)] for j in range(150)])
olegsorokin02
Что имеется в виду? Как в принципе использовать: открываете jupyter notebook какой-нибудь и выполняете ячейку за ячейкой. В большинстве других редакторов не рекомендуется
Answers & Comments
Вот самое простое, что я придумал. Кратко о сути. Создаём список из последовательностей нулей и единиц длины 8. Далее создаём список Y - в нём содержатся произведения последнего числа на первое в каждой из последовательностей длины 8 (из Х). Если человеку просто дать оба списка (Х и Y), то потребуется очень много времени, чтобы он понял, как именно из элемента X получается соответствующий элемент Y. С помощью нейросети найдём эту закономерность и проверим на чём-нибудь
import keras
from random import randint
import numpy as np
from keras.models import Sequential
from keras.layers import Dense
X = np.array([[float(randint(0, 1)) for i in range(8)] for j in range(150)])
Y = np.array([elem[0] * elem[7] for elem in X])
model = Sequential()
model.add(Dense(2, input_dim=8, activation="relu"))
model.add(Dense(2, activation="relu"))
model.add(Dense(1, activation="sigmoid"))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X, Y, epochs=1000, batch_size=8)
y = model.predict(np.array([0, 0, 0, 0, 0, 0, 1, 1]).reshape(1, 8))
print(round(y[0][0]))