Sarei tentato di rispondere "nessuna" o "sia classificazione che raggruppamento".
Perché "nessuno"? Perché gli HMM non si trovano nella stessa borsa delle macchine vettoriali di supporto o dei mezzi k.
Le macchine vettore di supporto o i k-media sono specificamente progettati per risolvere un problema (classificazione nel primo caso, raggruppamento nel secondo) e sono in effetti solo una procedura di ottimizzazione per massimizzare un criterio "bontà della classificazione prevista" o "bontà del raggruppamento" . Il bello sta nella scelta del criterio e della procedura di ottimizzazione. Gli HMM non sono di per sé un algoritmo. Sono un tipo specifico di distribuzione di probabilità su sequenze di vettori - per i quali conosciamo buoni algoritmi di stima dei parametri e calcolo della distribuzione marginale. Ma chiedere se appartengono alla famiglia del "raggruppamento" o della "classificazione" è ridicolo quanto chiedere se la distribuzione gaussiana è un apprendimento supervisionato o non supervisionato.
Perché "classificazione e clustering"? A causa di quanto segue: essendo distribuzioni di probabilità, HMM può essere utilizzato per la classificazione in un quadro bayesiano; ed essendo modello con stati nascosti, alcuni cluster latenti dei dati di addestramento possono essere recuperati dai loro parametri. Più precisamente:
HMM può essere utilizzato per la classificazione. Questa è una semplice applicazione del framework di classificazione bayesiana, con l'HMM usato come modello probabilistico che descrive i tuoi dati. Ad esempio, disponi di un ampio database di espressioni di cifre ("una", "due", ecc.) E desideri creare un sistema in grado di classificare una espressione sconosciuta. Per ogni classe nei dati di allenamento ("uno", "due", si stimano i parametri di un modello HMM che descrivono le sequenze di allenamento in questa classe - e si finisce con 10 modelli. Quindi, per eseguire il riconoscimento, si calcolano i 10 punteggi di probabilità (che indicano la probabilità che la sequenza che si desidera riconoscere sia stata generata dal modello) e il modello con il punteggio più alto fornisce la cifra. Nel tutorial di Rabiner sugli HMM, la fase di addestramento è "Problema 3", la fase di classificazione è "Problema 2".
L'HMM può essere utilizzato anche in modo non supervisionato, per ottenere qualcosa di simile al clustering. Data una sequenza, è possibile addestrare un HMM -state su di esso e alla fine del processo di addestramento, eseguire l'algoritmo di Viterbi sulla sequenza per ottenere lo stato più probabile associato a ciascun vettore di input (o semplicemente estrarlo dal durante il processo di allenamento). Questo ti dà un raggruppamento della sequenza di input inγ k kkγkclassi, ma diversamente da quanto avresti ottenuto eseguendo i tuoi dati attraverso k-medie, il tuo clustering è omogeneo sull'asse temporale. Ad esempio, puoi estrarre gli istogrammi di colore di ciascun fotogramma di una sequenza video, eseguire questo processo su questa sequenza e finirai con una suddivisione del video in segmenti temporali omogenei corrispondenti alle scene (il bit non pratico è che è necessario impostare in anticipo il numero di scene ). Questa tecnica viene comunemente utilizzata nell'analisi automatica, senza supervisione, della struttura di video o musica .k