#python #tensorflow #machine-learning
Вопрос:
Я пытаюсь обучить свои данные CSV, чтобы сделать прогноз. Я использую Tensorflow для обучения данных. Но в какой-то момент я получаю большие потери в своих тренировках, и мои categorical_accuracy
данные имеют одинаковое значение.
- Что не так в моем коде?
- Как я могу преодолеть это, чтобы уменьшить свои потери?
- Я хотел бы обучить их с помощью LSTM, поскольку это одна из лучших моделей, используемых для прогнозирования. Как я могу реализовать это в коде?
Я использую Tensorflow в первый раз и не знаю, как это сделать правильно. Я надеюсь получить вашу поддержку.
Вот как выглядит содержимое моего CSV-файла:
class x1 y1 ... y21 z21
A 0.187087 0.668525 ... -0.024700 0.220235
B 0.202503 0.669253 ... -0.107100 0.240229
....
C 0.248009 0.676325 ... -0.070317 0.278087
C 0.245750 0.658381 ... -0.077429 0.282217
D 0.235889 0.643202 ... -0.080697 0.262705
....
Мои тренировки проходят с моей консоли Python, где мои потери действительно высоки:
Epoch 340/500
1132/1132 [==============================] - 3s 3ms/step - loss: 7.7938e-04 - categorical_accuracy: 0.0561
Epoch 341/500
1132/1132 [==============================] - 3s 3ms/step - loss: 9.2271e-06 - categorical_accuracy: 0.0561
Комментарии:
1. На самом деле это очень низкий показатель, 9.2271 e-06 = 0.0000092271. Тем не менее, ваша метрика должна быть
sparse_categorical_accuracy
такой .2.
loss
Тогда тоже должно бытьsparse_categorical_accuracy
? Или какую потерю вы бы тогда понесли?3. @Mayama: Ваша функция потери в порядке. и, как сказал Страхтера, ваши значения потерь очень низкие, и вам действительно не нужно уменьшать свои потери. Просто измениться
metrics
. А для LSTM вы должны преобразовать свои табличные данные в временные ряды. Другими словами, добавьте новое измерение, называемое временными шагами. Затем вы можете скормить их слоям LSTM.4. Ваша новая правка полностью нарушила комментарии. Теперь ваша модель неверна, так как
softmax
при использовании 1 нейрона будет выдаваться только постоянный выходной сигнал.5. Не могли бы вы предоставить какой-нибудь код вашей модели, чтобы мы могли изучить его для выявления проблемы. Спасибо