Keras-ANN线性回归的层/函数选取

2024-05-17 16:20:28 发布

您现在位置:Python中文网/ 问答频道 /正文

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

https://drive.google.com/file/d/1dcUuTVVDGwxHn2O5qqJk0wgiEf83MslN/view?usp=sharing

我试过很多次从0.1到10的损失率迭代,试过2层用3个中子,试过把epochs增加到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-会计科目:0.0000e+00-价值损失:49522900789.2154-价值会计科目:0.0000e+00


Tags: fromimportaddmodeltrainactivation会计科目keras
1条回答
网友
1楼 · 发布于 2024-05-17 16:20:28

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

高于1.0的学习率也很少见,Adam的默认值是0.001。一般来说,如果您不确定学习率,请使用默认值。所以也许错误就在那里,试着降低学习速度,再给它一次机会

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

相关问题 更多 >