Учитывая последовательность входов, мне нужно определить, обладает ли эта последовательность определенным желаемым свойством. Свойство может быть только истинным или ложным, то есть существует только два возможных класса, к которым может принадлежать последовательность.
Точная связь между последовательностью и свойством неясна, но я считаю, что она очень последовательна и должна подойти для статистической классификации. У меня есть большое количество случаев для обучения классификатора, хотя это может быть немного шумно, в том смысле, что есть небольшая вероятность того, что последовательности назначен неправильный класс в этом обучающем наборе.
Пример тренировочных данных:
Sequence 1: (7 5 21 3 3) -> true
Sequence 2: (21 7 5 1) -> true
Sequence 3: (12 21 7 5 11 1) -> false
Sequence 4: (21 5 7 1) -> false
...
Грубо говоря, свойство определяется набором значений в последовательности (например, наличие «11» означает, что свойство почти наверняка будет ложным), а также порядком значений (например, «21 7 5»). «значительно увеличивает вероятность того, что свойство верно).
После обучения я смогу дать классификатору ранее невиданную последовательность, например (1 21 7 5 3)
, и он должен вывести свою уверенность в том, что свойство истинно. Существует ли хорошо известный алгоритм для обучения классификатора с такого рода входами / выходами?
Я рассмотрел наивный байесовский классификатор (который на самом деле нельзя адаптировать к тому факту, что порядок имеет значение, по крайней мере, без серьезного нарушения предположения о том, что входные данные независимы). Я также исследовал скрытый подход к модели Маркова, который представляется неприменимым, поскольку доступен только один выход вместо одного вывода на вход. Что я пропустил?