Неудачные попытки добиться улучшения результатов регрессионной модели ANN (KERAS) - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь построить регрессионную модель 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.

Благодарим вас за совет по этому вопросу.Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...