Data una sequenza di input, devo determinare se questa sequenza ha una certa proprietà desiderata. La proprietà può essere solo vera o falsa, ovvero ci sono solo due possibili classi a cui una sequenza può appartenere.
L'esatta relazione tra la sequenza e la proprietà non è chiara, ma credo che sia molto coerente e dovrebbe prestarsi alla classificazione statistica. Ho un gran numero di casi su cui addestrare il classificatore, anche se potrebbe essere leggermente rumoroso, nel senso che c'è una leggera probabilità che a una sequenza venga assegnata la classe sbagliata in questo set di addestramento.
Dati di formazione di esempio:
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
...
In termini approssimativi, la proprietà è determinata dall'insieme di valori nella sequenza (ad es. La presenza di un "11" significa che la proprietà sarà quasi sicuramente falsa), così come l' ordine dei valori (ad es. "21 7 5 "aumenta significativamente la possibilità che la proprietà sia vera).
Dopo l'allenamento, dovrei essere in grado di dare al classificatore una sequenza mai vista prima, come (1 21 7 5 3)
, e dovrebbe produrre la sua sicurezza che la proprietà è vera. Esiste un noto algoritmo per addestrare un classificatore con questo tipo di ingressi / uscite?
Ho considerato l'ingenuo classificatore bayesiano (che non è davvero adattabile al fatto che l'ordine conta, almeno non senza rompere gravemente l'assunto che gli input siano indipendenti). Ho anche studiato l'approccio del modello Markov nascosto, che sembra essere inapplicabile perché è disponibile un solo output, anziché un output per input. Cosa mi sono perso?