Python 为Keras ANN选择层/函数-线性回归

Python 为Keras ANN选择层/函数-线性回归,python,keras,neural-network,Python,Keras,Neural Network,当我运行线性回归ANN(预测加州房价)时,我得到了大量的损失数字和0的准确度。有人能为这类问题提供更好的激活功能吗 我尝试了许多次从0.1到10的损失率迭代,尝试了2层ReLU 3中子,尝试了将历元增加到10K,尝试了softmax from keras.models import Sequential from keras.layers import Dense from keras.optimizers import Adam model = Sequential() model.ad

当我运行线性回归ANN(预测加州房价)时,我得到了大量的损失数字和0的准确度。有人能为这类问题提供更好的激活功能吗

我尝试了许多次从0.1到10的损失率迭代,尝试了2层ReLU 3中子,尝试了将历元增加到10K,尝试了softmax

from keras.models import Sequential
from keras.layers import Dense
from keras.optimizers import Adam


model = Sequential()
model.add(Dense(2, input_shape=(6,), activation='relu'))
model.add(Dense(3, activation='relu'))
model.add(Dense(2, activation='softmax'))
model.add(Dense(1, activation='linear'))
model.compile(Adam(lr=0.5),
          loss='mean_squared_error',
          metrics=['accuracy'])


model.fit(X_train, y_train, epochs=10000, verbose=2,     validation_split=0.4)
纪元60/10000
-1s-损失:48621637708.0739-acc:0.0000e+00-val_损失:49522900789.2154-val_acc:0.0000e+00

您在这里错过了一些关于深度学习的基础知识。准确度是用于分类的指标,但您尝试的是回归,即不是预测类标签,而是连续值。在深度学习的世界里有两种不同的东西。因此,softmax作为输出层对您帮助不大。在这种情况下,您的度量也应该是MSE

高于1.0的学习率也很少见,Adam的默认值为0.001。通常,如果您不确定学习率,请使用默认值。因此,也许错误就在那里,试着降低学习速度,再尝试一次

Softmax激活作为中间层激活也是不寻常的,我建议用ReLU替换它。你使用的神经元数量也非常少,增加一些也会有所帮助。

谢谢:)做出了改变,但还没有大的改善。