Quão provável é o que vimos?
Suponha que vimos os movimentos Pequeno, Grande, Grande. Quão provável é essa sequência no nosso modelo? Poderíamos listar todos os caminhos ocultos (Calmo-Calmo-Calmo, Calmo-Calmo-Tempestuoso etc.), calcular a probabilidade de cada um e somá-las. Com estados e dias são caminhos, demais. O algoritmo forward faz a mesma soma em passos reaproveitando o trabalho. Ele guarda um número : a probabilidade das primeiras observações e de estar no estado no dia .
Leia a recorrência em palavras: para estar no estado hoje, veio-se de algum estado ontem (soma sobre com a probabilidade de transição) e então o estado de hoje produziu a observação de hoje. Dividir pelo seu total dá as probabilidades filtradas, sua crença sobre o estado de hoje dados os dados até hoje. Um problema prático: multiplicar muitos números pequenos dá números que tendem a zero. Então a cada passo divide-se pelo total e guarda-se. O log da probabilidade dos dados é então simplesmente a soma dos .
- Algoritmo forward: soma sobre todos os caminhos ocultos em passos em vez de .
- Probabilidades filtradas: normalize para obter sua crença sobre o estado de hoje com os dados até hoje.
- Escalonamento: divida por a cada passo e some os para evitar underflow.
Lab: o que é avaliado
- O primeiro valor forward15 pts
- O total do primeiro dia10 pts
- Filtrado após dois dias15 pts
- A probabilidade da sequência15 pts
- A log-verossimilhança10 pts
- O que o algoritmo forward economiza10 pts
- Associar o vocabulário10 pts
- Por que os valores são reescalados15 pts