Подбор слоев / функций для Keras ANN - Линейная регрессия - PullRequest
1 голос
/ 27 октября 2019

Я получаю огромные числа потерь и 0 точности, когда я запускаю свою линейную регрессию ANN (прогнозирование цен на жилье в Калифорнии). Может кто-нибудь предложить какие-либо лучшие функции активации для этого типа проблемы.

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

Я пробовал много итераций коэффициента потерь от 0,1 до 10, пробовал 2 слоя с ReLU3 нейтрона, попытался увеличить период до 10К, пробовал 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 - 1с - потеря: 48621637708.0739 - соотв .: 0,0000e + 00 - val_loss: 49522900789.2154 - val_acc: 0,0000e + 00

1 Ответ

2 голосов
/ 27 октября 2019

Вы упускаете что-то фундаментальное из глубокого обучения здесь. Точность - это показатель, используемый для классификации , но вы пытаетесь сделать это регрессия , т.е. не предсказывать метки классов, а непрерывные значения. Две разные вещи в мире глубокого обучения. Поэтому softmax в качестве выходного слоя вам не сильно поможет. В этом случае ваш показатель также должен быть MSE.

Скорость обучения выше 1,0 также очень необычна, значение по умолчанию для Адама - 0,001. В общем, если вы не уверены в скорости обучения, придерживайтесь значений по умолчанию. Поэтому, возможно, в этом и заключается ошибка, попробуйте уменьшить скорость обучения и сделать еще один выстрел.

Активация Softmax, так как активация промежуточного уровня также необычна, я бы рекомендовал заменить ее на ReLU. Количество нейронов, которые вы используете, также очень мало, добавление еще нескольких может также помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...