我正在尝试改进用于预测多项式根的模型。数据集由代表多项式系数和根的整数数组组成。输入被零填充,其多项式低于最高阶。我还想不出另一个主意。
示例数据集如下
\
我尝试了均值绝对误差,均方误差,均值绝对百分比误差(我相信,它应该给出最好的结果,但没有)。无论我在数据集中放入多少个多项式,似乎都根本无法从中学习。即使平均绝对误差非常低,大约为4,预测仍然相差甚远,甚至对于二阶/三阶多项式也是随机的。
和模型
[[ 0. 0. 0. 1. 81.78 1597.3 ]
[ 0. 0. 1. -0.64 -446.88 -3372.03]
[ 0. 1. -29.88 -28.05 2700.11 1057.81]
[ 1. 4.24 -2807.77 -22044.78 1498373.97 10298202.12]]
[[[-49.53 0. ]
[-32.25 0. ]
[ 0. 1. ]
[ 0. 1. ]
[ 0. 1. ]]
[[-14.1 0. ]
[ -9.77 0. ]
[ 24.5 0. ]
[ 0. 1. ]
[ 0. 1. ]]
[[ -8.56 0. ]
[ -0.39 0. ]
[ 11.62 0. ]
[ 27.21 0. ]
[ 0. 1. ]]
[[-41.62 0. ]
[-29.62 0. ]
[ -6.78 0. ]
[ 25.57 0. ]
[ 48.21 0. ]]]
夜色低
h_size = 128
model = Sequential()
model.add(LSTM(h_size , input_shape=(None, 1)))
model.add(RepeatVector(degree))
model.add((LSTM(h_size , return_sequences=True)))
model.add(TimeDistributed(Dense(2)))
model.compile(loss='mean_absolute_error',
optimizer='adam',
metrics=['mae'])
一些测试:第一个数组是实际的根,而第二个数组表示预测。
Train on 375003 samples, validate on 125001 samples
Epoch 1/10
- 68s - loss: 5.9964 - mae: 5.9964 - val_loss: 5.8967 - val_mae: 5.8967
Epoch 2/10
- 66s - loss: 5.6354 - mae: 5.6354 - val_loss: 5.3884 - val_mae: 5.3884
Epoch 3/10
- 65s - loss: 5.7112 - mae: 5.7112 - val_loss: 5.8679 - val_mae: 5.8679
Epoch 4/10
- 67s - loss: 5.4835 - mae: 5.4834 - val_loss: 5.5251 - val_mae: 5.5251
Epoch 5/10
- 66s - loss: 5.5043 - mae: 5.5043 - val_loss: 5.5775 - val_mae: 5.5775
Epoch 6/10
- 65s - loss: 5.5134 - mae: 5.5134 - val_loss: 5.3163 - val_mae: 5.3163
Epoch 7/10
- 65s - loss: 5.4706 - mae: 5.4706 - val_loss: 5.6008 - val_mae: 5.6008
Epoch 8/10
- 67s - loss: 5.3226 - mae: 5.3226 - val_loss: 5.7831 - val_mae: 5.7831
Epoch 9/10
- 64s - loss: 5.3871 - mae: 5.3871 - val_loss: 5.1692 - val_mae: 5.1692
Epoch 10/10
- 67s - loss: 5.2968 - mae: 5.2968 - val_loss: 5.2059 - val_mae: 5.2059
Finished
我在做什么错?谢谢