Есть ли способ определить количество узлов и скрытых слоев на основе формы данных? Кроме того, есть ли способ определить лучшую функцию активации на основе топи c?
Например, я делаю модель для предсказания поддельных новостей. Мои функции: количество слов в тексте, количество слов в заголовке, количество вопросов, количество заглавных букв и т. Д. c. Мой набор данных имеет 22 объекта и около 35000 строк. Мой вывод должен быть 0 или 1.
Исходя из этого, сколько слоев и узлов я должен использовать и какие функции активации лучше всего подходят для этого?
Это мой net:
model = Sequential()
model.add(Dense(100, input_dim = features.shape[1], activation = 'relu')) # input layer requires input_dim param
model.add(Dense(100, activation = 'relu'))
model.add(Dense(100, activation = 'relu'))
model.add(Dropout(0.1))
model.add(Dense(1, activation='sigmoid')) # sigmoid instead of relu for final probability between 0 and 1
sgd = optimizers.SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss="mean_squared_error", optimizer=sgd, metrics=['accuracy'])
# call the function to fit to the data training the network)
model.fit(x_train, y_train, epochs = 10, shuffle = True, batch_size=32, validation_data=(x_test, y_test), verbose=1)
scores = model.evaluate(features, results)
print(model.metrics_names[1], scores[1]*100)