A única história mais provável
O algoritmo forward soma todos os caminhos ocultos para dizer quão prováveis são os dados. Muitas vezes queremos outra coisa: a melhor história única, a sequência de estados que explica os dados com a maior probabilidade. A decodificação de Viterbi a encontra. A ideia é o algoritmo forward com uma mudança: em vez de somar sobre os estados anteriores, tomar o melhor. Guarda-se uma pontuação , a probabilidade do melhor caminho que termina no estado no dia , e lembra-se qual estado anterior a deu, o ponteiro para trás.
Depois do último dia, escolha o estado com maior e volte pelos ponteiros para ler o caminho todo. Dois pontos práticos. Primeiro, trabalhe com logs: produtos de muitas probabilidades tendem a zero, mas os logs os transformam em somas e, como o log é crescente, o melhor caminho é o mesmo. Segundo, o melhor caminho não é o mesmo que escolher o estado mais provável de cada dia separadamente. O caminho pode ser forçado pelo que vem depois, como mostra o exemplo.
- Viterbi troca a soma do algoritmo forward por um máximo e guarda ponteiros para trás.
- O melhor caminho pode diferir do estado mais provável de cada dia tomado separadamente.
- Use logs: somas de logs evitam underflow e mantêm o mesmo melhor caminho.
Lab: o que é avaliado
- Uma pontuação de Viterbi no dia dois15 pts
- A probabilidade do melhor caminho15 pts
- O log do melhor caminho10 pts
- Diante de outro caminho10 pts
- O primeiro estado do melhor caminho15 pts
- Os passos de Viterbi10 pts
- Associar o vocabulário10 pts
- Por que usar logs15 pts