Почему моя настроенная нейронная сеть не работает, а с высоким MAE - PullRequest
0 голосов
/ 26 марта 2019

Это проблема регрессии с использованием DNN, которая оценивает доход.
Сеть выглядит следующим образом: enter image description here

Структура сети

Правая ветвь является полностью подключенной нейронной сетью, и ее результат означает эффективную.
Левая ветвь является известной переменной для каждого образца, что означает часы работы в сети.
В настоящее времяЯ только хочу узнать правильную ветку сети.Код сети выглядит следующим образом:

def neural_net(x, hours):
    layer_1 = tf.nn.relu(tf.add(tf.matmul(x, weights_h1), biases_h1))
    layer_2 = tf.nn.relu(tf.add(tf.matmul(layer_1, weights_h2), biases_h2))
    efficient_out_layer = tf.nn.relu(tf.add(tf.matmul(layer_2, weights_out), biases_out))
    delta_efficient = tf.add(efficient_out_layer, 1)
    delta_online_hours = tf.add(hours, 1)
    out_layer = tf.multiply(delta_online_hours, delta_efficient)
    return out_layer    

Но Мэй очень высокая.Когда я не использую левую ветвь и использую только dnn для оценки результата, значение mae низкое.

Я хочу знать, в чем проблема с моей сетью и почему левая ветвь умножаетобученная сеть правой ветви расширила бы меня, спасибо вперед.

1 Ответ

0 голосов
/ 27 марта 2019

Нет смысла умножать x на выход правой сети, если вы не можете понять, что именно означает x.Переменная x может быть особенностью вашего образца.Если это так, вам лучше ввести его в нужную сеть с другими функциями, а не просто умножить его на вывод.

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