【发布时间】:2021-11-20 13:40:47
【问题描述】:
我正在尝试建立一个回归模型,但 mse 和 mae 非常高。我过滤和规范化数据(输入和输出,以及测试和训练集)。我认为问题的出现是因为我在一列中有非常高的值:最小值为 1,最大值为 9100000(未标准化),但我实际上需要预测这些高值。
模型如下所示:我有 6 个输入列和 800000 行。我已经尝试过使用更多的神经元和层,或者改变 sigmoid 函数,但是对于 mse,损失和误差保持在 0.8 左右,对于 mae 保持在 0.3 左右。预测也远低于应有的水平,从未达到高值。
model = Sequential()
model.add(Dense(7, input_dim=num_input, activation='relu'))
model.add(Dense(7, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='mse', optimizer='rmsprop', metrics=['mse', 'mae'])
history = model.fit(x_train, y_train, epochs=epochs, batch_size=batch_size, validation_data=(x_val, y_val))
【问题讨论】:
-
你无法用 sigmoid 激活来预测这么大的范围(范围是 [0, 1]),你需要在这里删除 sigmoid。
标签: python keras deep-learning regression