我已经创建了一个模型来预测洛杉矶的房价,而应该是一个简单的回归问题让我很头疼,因为损失太大而且我的准确性不会改变。
我已经尝试过规范化、改变架构(减少层数、隐藏单元)、添加 dropout、改变损失函数、批量大小、时期,我的准确率仍然只有 0.022
input_shape = X_train_2[0].shape
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=input_shape),
tf.keras.layers.Dense(units=300, activation=tf.nn.relu),
tf.keras.layers.BatchNormalization(),
tf.keras.layers.Dropout(0.1),
tf.keras.layers.Dense(units=300, activation=tf.nn.relu),
tf.keras.layers.BatchNormalization(),
tf.keras.layers.Dropout(0.1),
tf.keras.layers.Dense(units = 1, kernel_initializer = 'lecun_normal', activation='linear')
])
model.compile(optimizer='adam',loss='mean_squared_error', metrics=['accuracy'])
model.fit(X_train, y_train, epochs=5, batch_size=32)
model.summary()
model.evaluate(X_test_, y_test)
训练日志
Epoch 1/5 32444/32444 [==============================] - 1s
38us/sample - loss: 90230324650039.5469 - acc: 0.0012
Epoch 2/5
32444/32444 [==============================] - 1s 28us/sample -
loss: 90230315396180.2031 - acc: 0.0022
Epoch 3/5 32444/32444
[==============================] - 1s 27us/sample - loss:
90230293267377.3438 - acc: 0.0022
Epoch 4/5 32444/32444 [==============================] - 1s 27us/sample - loss:
90230260607518.6250 - acc: 0.0022
Epoch 5/5 32444/32444 [==============================] - 1s 28us/sample - loss:
90230216684525.4375 - acc: 0.0022