与Keras API的回归结果不一致
我正在用两种方法对简单回归(一个自变量和一个目标变量)进行比较研究:-线性回归与神经网络(NN-Keras API)。我的样本数据如下:与Keras API的回归结果不一致,keras,deep-learning,neural-network,keras-layer,keras-2,Keras,Deep Learning,Neural Network,Keras Layer,Keras 2,我正在用两种方法对简单回归(一个自变量和一个目标变量)进行比较研究:-线性回归与神经网络(NN-Keras API)。我的样本数据如下: x1 y 121.9114 121.856 121.856 121.4011 121.4011 121.3222 121.3222 121.9502 121.9502 122.0644 线性回归码: lr = LinearRegression() lr.fit(X_train, y_train) 注意
x1 y
121.9114 121.856
121.856 121.4011
121.4011 121.3222
121.3222 121.9502
121.9502 122.0644
线性回归码:
lr = LinearRegression()
lr.fit(X_train, y_train)
注意:LR模型在随后的每次运行中始终为我提供RMSE 0.22。
NN代码:
nn_model = models.Sequential()
nn_model.add(layers.Dense(2, input_dim=1, activation='relu'))
nn_model.add(layers.Dense(1))
nn_model.compile(optimizer='adam', loss='mse', metrics=['mae'])
nn_model.fit(X_train, y_train, epochs=40, batch_size=32)
培训损失:
Epoch 1/40 539/539 [==============================] - 0s 808us/sample - loss: 16835.0895 -
mean_absolute_error: 129.5276
Epoch 2/40 539/539 [==============================] - 0s 163us/sample - loss: 16830.6868 -
mean_absolute_error: 129.5106
Epoch 3/40 539/539 [==============================] - 0s 204us/sample - loss: 16826.2856 -
mean_absolute_error: 129.4935
...........................................
...........................................
Epoch 39/40 539/539 [==============================] - 0s 187us/sample - loss: 16668.3582 -
mean_absolute_error: 128.8823
Epoch 40/40 539/539 [==============================] - 0s 168us/sample - loss: 16663.9828 -
mean_absolute_error: 128.8654
基于NN的解决方案给出的RMSE=136.7476
有趣的是,基于NN的解决方案在不同的跑步中为我提供了不同的RMSE,因为每次跑步中的训练损失不同
例如,在如上所示的第一次运行中,损耗从16835开始,第40个历元的最终损耗为16663。在这种情况下,模型给出RMSE=136.74
如果我第二次运行相同的代码,那么损失从16144开始,第40次迭代的最终损失是5。在这种情况下,如果RMSE达到7.3
有时,当训练损失从400开始到(第40个纪元)0.06结束时,我也将RMSE视为0.22
这种Keras行为让我很难理解Keras API是否存在问题,或者我做错了什么,或者这个问题陈述不适合Keras
请您帮助我理解这个问题,以及稳定基于NN的解决方案的最佳方法是什么
其他一些信息:
我建议尝试其他激活功能而不是relu(比如sigmoid),看看会发生什么。理由:此外,您在NN中使用mae作为度量,但您优化了w.r.t mse。我建议尝试其他激活函数,而不是relu(如sigmoid),然后看看会发生什么。理由:此外,您在NN中使用mae作为度量,但您优化了w.r.t mse。