Я хочу обучить нейронную сеть прогнозировать классы / числа из ввода, которое также является числом; таким образом, отображение - число-> число (вход-> выход).
, но при рассмотрении типа данных и значений я не уверен, что следует рассматривать проблему как проблему классификации или регрессии.
в качестве примера первые строки данных выглядят так:
, поскольку моя цель варьируется от 0 до 14, мой первый подход состоял в том, чтобы рассматривать эту проблему как проблему классификации, где я выбираю размер выходного слоя для быть размером = 15.
вот моя модель NN
from tensorflow.keras import Sequential
from tensorflow.keras.layers import Dense, Flatten, Activation, Dropout, LSTM, Conv1D
model.add(Flatten())
model.add(Dense(8, activation='relu'))
model.add(Dense(15, activation='softmax'))
model.add(Activation('softmax'))
model.compile(loss='sparse_categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])
model.summary()
history = model.fit(X_train, y_train, epochs=100, batch_size=128)
, которая всегда предсказывает одни и те же значения классификации:
точность сходится через несколько эпох и не изменяется больше примерно на 20%.
почему модель всегда предсказывает один и тот же класс? что мне здесь не хватает? я должен рассматривать эту проблему как регрессионную задачу?
спасибо