Я довольно новичок в области глубокого обучения, особенно Керас. Здесь у меня есть простая проблема классификации, и я не знаю, как ее решить. Что я не понимаю, так это общий процесс классификации, например, преобразование входных данных в тензоры, метки и т. Д.
Допустим, у нас есть три класса, 1, 2, 3
.
Существует последовательность классов, которую необходимо классифицировать как один из этих классов. Набор данных, например,
- Последовательность
1, 1, 1, 2
помечена 2
- Последовательность
2, 1, 3, 3
помечена 1
- Последовательность
3, 1, 2, 1
помечена 3
и т. Д.
Это означает, что входной набор данных будет
[[1, 1, 1, 2],
[2, 1, 3, 3],
[3, 1, 2, 1]]
и метка будет
[[2],
[1],
[3]]
Теперь одна вещь, которую я понимаю, это горячее кодирование класса. Поскольку у нас есть три класса, каждый 1
будет преобразован в [1, 0, 0]
, 2
будет [0, 1, 0]
и 3
будет [0, 0, 1]
. Преобразование приведенного выше примера даст набор данных 3 x 4 x 3 и метку 3 x 1 x 3.
Другое, что я понимаю, это то, что последний слой должен быть слоем softmax. Таким образом, если появятся такие тестовые данные, как (например, [1, 2, 3, 4]
), они будут мягкими и будут рассчитаны вероятности этой последовательности, относящейся к классу 1, 2 или 3.
Я прав? Если да, можете ли вы дать мне объяснение / пример процесса классификации этих последовательностей?
Заранее спасибо.