Я пытаюсь построить регрессионную модель ANN в KERAS с 3 входами и 3 выходами (я приложил ссылку на данные, которые я пробовал).Кроме того, я использую Hyperas для оптимизации гиперпараметров.
3 входных столбца: bit.ly/2TIwH5H
3 выходных столбца: bit.ly/2WUQKQt
Мой псевдокодследующим образом:
read_csv()
StandardScaler(3_inputs)
MinMaxScaler(3_outputs)
def create_model()
4-layers using 4 instances of:
Dense({{choice([np.power(2,1),np.power(2,2),np.power(2,3)])}}, activation={{choice(['tanh','relu', 'sigmoid'])}})(inputs1)
Dropout({{uniform(0, 1)}})
3-outputs are defined using 3 instances of:
Dense(1, activation={{choice(['tanh','relu', 'sigmoid'])}})
activation_fn (adam, SGD, rmsprop) are given by:
activation_fn = keras.optimizers.activation_fn (lr={{choice([10**-3,10**-2, 10**-1])}})
model.fit(inputs, outputs,
batch_size={{choice([16,32,64,128])}},
epochs={{choice([10000])}},
verbose=2,
validation_data=...,
callbacks=callbacks_list)
Я выполнил текущую формулировку для вышеуказанной проблемы с числом прогонов оценки, установленным на 100. Используя либо «mae», либо «mse» в качестве ошибки, я получаю фактическое среднее значениеошибка 225, 0,25, 45 для каждого из выходов соответственно.
Я также попытался установить большое количество нейронов, таких как np.power (2,10), однако это выглядитчто ошибка остается приблизительно на указанных выше значениях.
Кто-нибудь знает, есть ли способ, как я могу получить более низкие ошибки в сети?Я также попытался взвесить потери от каждого выхода, и это, похоже, не помогло.Приоритет уменьшения ошибок - на выходе 1, затем на выходе 3, а затем на выходе 2.
Благодарим вас за совет по этому вопросу.Спасибо