Я все еще новичок в керасе и играюсь с ним.
Моя текущая цель - научить модель распределению. Для этого я выбрал функцию распределения numpy beta.
Моя цель состояла в том, чтобы заставить модель изучить бета-распределение и сказать, будет ли значение внутри него или нет.
Итак, я сделал CSV с 5000 значениями бета / прямоугольных значений, которые модель должна извлечь из этого.
Но когда модель учится, в ней нет абсолютно никаких изменений. Кажется, у меня неправильный подход к моей проблеме или она не может быть решена таким образом.
Я пытался изменить модель, но, похоже, это не сработало.
data_size = 5000
X = np.zeros((data_size, 2))
Y = np.zeros((data_size, 1))
for i in range(np.size(X, 0)):
X[i][0] = np.random.beta(2, 2)
X[i][1] = np.random.random()
Y = X[i][0]
np.savetxt('\values.csv', X, delimiter=',')
dataset = np.loadtxt('\values.csv', delimiter=',')
X_train = dataset[:, 0:2]
Y_train = dataset[:, 1]
model = Sequential()
model.add(Dense(32, input_dim=2, activation='tanh'))
model.add(Dense(16, activation='tanh'))
model.add(Dense(1, activation='softmax'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X_train, Y_train, epochs=500, batch_size=50, verbose=1, validation_split=0.2)