回归问题的神经网络损失大于9000

时间:2020-05-24 09:53:22

标签: tensorflow machine-learning neural-network

我制作了一个具有15个特征或列的NN,每个特征/列的范围从-50到+100,并且输出应始终为正。

问题在于丢失和准确性,每个时期的损失都很大

代码如下:

td = pd.read_csv('data.csv')
tg = train_data.pop('RESULT')
dataset = tf.data.Dataset.from_tensor_slices((td.values, tg.values))
td = dataset.shuffle(len(td)).batch(1)
model = tf.keras.Sequential([
  tf.keras.layers.Dense(20, activation='relu'),
  tf.keras.layers.Dense(20, activation='relu'),
  tf.keras.layers.Dense(1)
])
model.compile(optimizer='adam',loss=tf.keras.losses.MeanSquaredError())
model.fit(td, epochs=100)

1 个答案:

答案 0 :(得分:0)

由于您使用的是回归法,所以我认为使用均方误差是好的。由于可能的目标值差异很大,我并不感到惊讶,损失如此之大。我建议寻找一种方法来缩放值以使方差接近1,也许可以通过应用对数函数来实现。另外,由于您输入的值介于-50到+100之间,因此我还建议将这些值缩放为[-1,1]。