Keras model.predict() 为测试输入中的所有值返回相同的预测输出

Har*_*018 5 python neural-network keras keras-layer

我正在使用 Keras 构建神经网络,模型编译成功,并且我已经对数据进行了标准化。

但是,当我使用 model.predict(xtest) 时,每个预测输出都会得到相同的值

def model_final():
    model = models.Sequential()
    model.add(layers.Dense(64, activation='relu',
                           input_shape=(xtrain.shape[1],),
                          kernel_regularizer = regularizers.l2(0.001)))
    model.add(layers.Dense(64, activation='relu',
                          kernel_regularizer = regularizers.l2(0.001)))
    model.add(layers.Dense(1))
    model.compile(optimizer='rmsprop', loss='mse', metrics=['mae'])
    return model

model = model_final()

model_final = model.fit(xtrain, ytrain, epochs = 100, batch_size = 10, verbose = 0)

model_final_eval = model.evaluate(xtest, ytest)
Run Code Online (Sandbox Code Playgroud)

为此我得到以下均方误差和mae:

214/214 [==============================] - 3s 14ms/step
[1.9285373412534785e-06, 0.00061284683733987052]
Run Code Online (Sandbox Code Playgroud)

然后,当我使用时,model.predict(xtest)我得到以下输出:

array([[ 0.0014801],
       [ 0.0014801],
       [ 0.0014801],...
Run Code Online (Sandbox Code Playgroud)

对于 中的所有值model.predict

我假设数据集中所有值的完全相同的预测值不可能是正确的。

建议?

谢谢!