这是一个使用DNN的回归问题,DNN估计收入。
网络如下图所示:
右分支是一个完全连通的神经网络,它的结果意味着效率。
左分支是每个样本的已知变量,这意味着在线小时数。
目前,我只想学习网络的正确分支。网络代码如下所示:
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
但是mae是非常高的。当我不使用左分支,而只使用dnn来估计结果时,mae很低。
我想知道我的网络有什么问题,为什么左分支乘以右分支的训练网络会扩大mae,谢谢。
发布于 2019-03-27 10:49:08
如果你不能弄清楚x
的确切含义,那么将x
与right network的输出相乘是没有意义的。变量x
可能是您的示例的一个特征。如果是这样,你最好将其与其他特征一起输入到正确的网络中,而不是简单地将其乘以输出。
https://stackoverflow.com/questions/55357692
复制相似问题