З огляду на послідовність входів, мені потрібно визначити, чи має ця послідовність певне бажане властивість. Властивість може бути лише істинною або хибною, тобто є лише два можливі класи, до яких може належати послідовність.
Точний взаємозв'язок між послідовністю та властивістю незрозумілий, але я вважаю, що це дуже послідовно і має піддаватися статистичній класифікації. У мене є велика кількість випадків навчання класифікатору, хоча це може бути трохи шумним, в тому сенсі, що є невелика ймовірність того, що послідовності присвоєно неправильний клас у цьому навчальному наборі.
Приклад навчальних даних:
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)
, і він повинен впевненість у тому, що властивість є істинною. Чи існує добре відомий алгоритм підготовки класифікатора з таким видом входів / виходів?
Я вважав наївний байєсівський класифікатор (який насправді не пристосований до того, що порядок має значення, принаймні, не без того, щоб сильно порушити припущення про незалежність даних). Я також дослідив прихований підхід Маркова моделі, який видається непридатним, оскільки доступний лише один вихід, а не один вихід на кожен вхід. Що я пропустив?