Мой набор данных состоит из векторных последовательностей. Каждый вектор имеет 50 вещественных измерений. Количество векторов в последовательности колеблется от 3-5 до 10-15. Другими словами, длина последовательности не является фиксированной.
Некоторое значительное количество последовательностей (не векторов!) Помечено меткой класса. Моя задача состоит в том, чтобы узнать классификатор, который дает последовательность векторов, вычисляется метка класса для всей последовательности.
Я не могу сказать точную природу данных, но природа последовательностей не является временной. Тем не менее, вектор нельзя заменить на вектор без изменения метки ( ). Другими словами, порядок векторов важен. Сами векторы сравнимы, например, имеет смысл вычислить скалярное произведение и использовать это значение подобия.
Мой вопрос: какие инструменты / алгоритмы могут помочь классифицировать такие данные?
ОБНОВЛЕНИЕ: у данных есть такое свойство, что один или очень немногие векторы сильно влияют на метку класса.
ВОЗМОЖНОЕ РЕШЕНИЕ: После некоторого исследования кажется, что Рекуррентные Нейронные Сети (RNN) отвечают естественным требованиям. Основная идея заключается в том, чтобы выбрать размер контекста , объединить векторы слов, выполнить максимальное объединение и передать его через классический NN. В каждой возможной позиции контекстного окна в предложении строится вектор признаков. Окончательный вектор объектов строится, например, с использованием максимального пула. Обратное распространение выполняется для настройки параметров сети. Я уже получил некоторые положительные результаты (GPU является обязательным).
источник