Cadeias Ocultas de Markov

33
Pontif´ ıcia Universidade Cat´ olica do Rio Grande do Sul Faculdade de Inform´ atica os-Graduac ¸˜ ao em Ciˆ encia da Computac ¸˜ ao Um Estudo sobre Modelos Ocultos de Markov HMM - Hidden Markov Model Luciana da Silveira Espindola Orientador: Paulo Henrique Lemelle Fernandes Introduc ¸˜ ao ` a Pesquisa I Porto Alegre, junho de 2009

description

Mathematics

Transcript of Cadeias Ocultas de Markov

Page 1: Cadeias Ocultas de Markov

Pontifıcia Universidade Catolica do Rio Grande do Sul

Faculdade de Informatica

Pos-Graduacao em Ciencia da Computacao

Um Estudo sobre Modelos Ocultos de Markov

HMM - Hidden Markov Model

Luciana da Silveira Espindola

Orientador: Paulo Henrique Lemelle Fernandes

Introduc ao a Pesquisa I

Porto Alegre, junho de 2009

Page 2: Cadeias Ocultas de Markov

Sumario

LISTA DE FIGURAS ii

Capıtulo 1: Introduc ao 1

Capıtulo 2: Cadeias de Markov 3

2.1 Definicao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 Modelo Markoviano do Tempo . . . . . . . . . . . . . . . . . . . . . . . . .. 7

Capıtulo 3: Modelos Ocultos de Markov 9

3.1 Definicao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Capıtulo 4: Problemas Canonicos 13

4.1 Solucao do Problema 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 14

4.1.1 Algoritmo Forward-Backward . . . . . . . . . . . . . . . . . . . . .. 16

4.2 Solucao do Problema 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 20

4.2.1 Algoritmo de Viterbi . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4.3 Solucao do Problema 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 24

4.3.1 Algoritmo de Baum-Welch . . . . . . . . . . . . . . . . . . . . . . . . 24

Capıtulo 5: Consideracoes Finais 27

REFERENCIAS BIBLIOGR AFICAS 28

i

Page 3: Cadeias Ocultas de Markov

Lista de Figuras

3.1 Markov de 3 estados e HMM correspondente (Fonte: Jelinek[1]) . . . . . . . . 11

3.2 Dois estagios do trellis, correspondendo ao HMM binario da Figura 3.1 (Fonte:

Jelinek [1]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4.1 Trellis para a sequencia de observaveis “0 1 1 0” relativa a Figura 3.1 (Fonte:

Jelinek [1]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.2 Trellis da Figura 4.1 contemplando apenas os caminhos que geram a sequencia

completa de observaveis “0 1 1 0” (Fonte: Jelinek [1]) . . . . .. . . . . . . . 16

4.3 Ilustracao da parteforwarddo algoritmoforward-backward(Fonte: Rabiner [3]) 17

4.4 Ilustracao da partebackwarddo algoritmoforward-backward(Fonte: Rabiner

[3]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.5 Trellis para a representacao do algoritmo de Viterbi (Fonte: Jelinek [1]) . . . . 23

4.6 Ilustracao do algoritmoforward-backwardaplicado a solucao doProblema 3

(Fonte: Rabiner [3]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

ii

Page 4: Cadeias Ocultas de Markov

Resumo

”Modelos Ocultos de Markov”(Hidden Markov Models- HMM) trata-se de um formalismo

Markoviano usado para modelar situacoes nas quais a fontegeradora dos sinais observados esta

oculta do observador. Esse formalismo pode ser usado tanto para estudar a natureza dessa fonte

quanto para ajudar a prever observacoes futuras.

Este trabalho tem carater introdutorio, sendo o escopo domesmo limitado a modelos dis-

cretos tanto no espaco de estados quanto no tempo. Inicialmente, e feita a fundamentacao de

modelos Markovianos e Cadeias de Markov, princıpio basico para o desenvolvimento do for-

malismo de HMM. Em seguida, descreve-se o formalismo propriamente dito e a resolucao de

uma serie de problemas-controle, que auxiliam na calibrac¸ao do modelo.

O primeiro problema calcula a probabilidade de uma sequencia de observaveis atraves da

resolucao da parte forward do algoritmoforward-backward; o segundo busca identificar, pelo

uso do algoritmo deViterbi, a sequencia de estados mais provavel, dada a sequencia observada;

o ultimo problema-controle, resolvido pelo uso do algoritmo deBaum-Welch, trata de buscar

melhores parametros para o modelo, otimizando a probabilidade de observacao de uma dada

sequencia.

Restricoes adicionais a esse tratamento incluem a forma regular e homogenea da matriz de

transicao, a finitude do espaco de observaveis, a independencia entre observacoes, e o fato de

que toda transicao entre estados da Markov embutida emiteum observavel.

A intencao e aprofundar esse estudo em trabalhos futuros, buscando por uma descricao mais

generica atraves da eliminacao das restricoes acimarelacionadas.

Page 5: Cadeias Ocultas de Markov

1 Introduc ao

A grande maioria dos processos envolvendo sistemas reais s˜ao tao complexos que mesmo que

haja forma analıtica de resolve-los, muitas vezes acaba sendo mais produtivo lancar mao do uso

de teoria de probabilidade. Segundo Reichl [2], para aplicar teoria de probabilidade ao mundo

real, e necessario introduzir o conceito de “variavel estocastica”. Assim,X e dita variavel

estocasticase seu valor, dentre o conjunto{xi} de possıveis realizacoes, e determinado pelo

resultado de um experimento.

Talvez nao seja possıvel observar diretamente a dinamica estocastica que rege um dado pro-

cesso do mundo real, mas muito provavelmente esse processo produz observaveis, tambem

chamados “sinais”, a partir dos quais o sistema pode ser modelado. Esses sinais podem ou nao

ser de fonte estacionaria (sistema em equilıbrio), ser denatureza discreta ou contınua, tratar-se

de sinais limpos ou ruidosos, dentre outras caracterısticas imaginaveis.

Poderıamos encontrar varios motivos para fazer modelagens baseadas em sinais. Rabiner

[3] sugere que uma modelagem desse tipo pode servir para prover descricao teorica de uma

ferramenta para processamento de sinais. Um exemplo de uso seria a otimizacao de um sinal

de audio pela remocao de ruıdo e distorcoes de transmissao. Modelos de sinais tambem podem

ajudar na compreensao de sua fonte, caso nao seja possıvel observar o processo diretamente

ou caso o custo dessa observacao seja muito alto. Assim, a fonte pode ser simulada e muito

pode-se aprender dessa simulacao, [3].

Sao varios os modelos estocasticos baseados em sinais. Alguns exemplos sao os modelos

para processos Gaussianos, processos de Poisson, processos Markovianos e os modelos para

processos ocultos de Markov, sobre o qual versa essa monografia.

Encontramos o formalismo de Modelos Ocultos de Markov (Hidden Markov Models- HMM)

sob os mais diversos nomes, dentre eles: Processos Ocultos de Markov (Hidden Markov Pro-

cesses), Fontes Markovianas (Markov Sources), Cadeias de Markov Ocultas (Hidden Markov

Chains), Funcoes Probabilısticas de Cadeias de Markov (Probabilistic Functions of Markov

1

Page 6: Cadeias Ocultas de Markov

Chains).

O formalismo de Modelos Ocultos de Markov (HMM) e usado paramodelar processos que

sao governados por um processo Markoviano embutido, cuja dinamica nao pode ser direta-

mente observada. Esse processo Markoviano evolui no tempo por meio de transicoes entre seus

estados, as quais sao responsaveis pela emissao de sinais observaveis.

Todo modelo passa por uma fase de calibracao, e para modelos em HMM nao poderia ser

diferente. Rabiner [3] aborda o assunto por meio da resolucao de tres problemas fundamentais,

organizacao essa proposta por Jack Ferguson (IDA -Institute for Defense Analysis, USA). O

primeiro problema consiste em, tendo a proposta de modelo emHMM, determinar a probabi-

lidade de observacao de uma determinada sequencia de sinais. O segundo problema trata de

descobrir qual a sequencia de estados mais provavel, no contexto desse modelo, que levou a

sequencia de sinais observados. E por fim, o terceiro problema trata da calibracao propriamente

dita, buscando aperfeicoar os parametros do modelo, tendo em vista melhorar as probabilidades

de geracao, ou emissao, de sinais.

Ha varios tutoriais que tratam de HMM, [4], [5], [6], [7], [8], [9]. Contudo, as bases desse

estudo sobre Modelos Ocultos de Markov sao fundamentadas em duas fontes. Uma delas e o ar-

tigo “A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition”,

escrito por Lawrence Rabiner [3]. A outra fonte e o capıtulo sobre“Hidden Markov Models”,

do livro “Estatistical Methods for Speech Recognition”, de Frederick Jelinek [1]. Muitas das

ideias desses autores sao aqui reproduzidas, dando a essamonografia um carater deReview. As

formulas apresentadas no decorrer do texto sao resultadode uma tentativa de unificacao entre as

notacoes usadas por esses autores. As figuras incluıdas nessa monografia tambem foram todas

obtidas desses dois trabalhos de Jelinek [1] e Rabiner [3].

Esse estudo sobre Modelos Ocultos de Markov esta organizado da forma que segue. Num pri-

meiro momento (Cap. 2), conceituam-se Cadeias de Markov, fundamental para a compreensao

e desenvolvimento de modelagens em HMM. Apos, trata-se de Modelos Ocultos de Markov

(Cap. 3) de forma geral, definindo as bases do formalismo. O capıtulo seguinte (Cap. 4) aborda

com detalhes a resolucao dos tres problemas fundamentais (ou canonicos) desse formalismo. O

fechamento do trabalho trata das consideracoes finais desse estudo e trabalhos futuros.

2

Page 7: Cadeias Ocultas de Markov

2 Cadeias de Markov

Processos Markovianos sao um tipo especial de processos estocasticos que tem aplicabilidade

quase universal. Exemplos de aplicacoes podem ser encontrados junto a quımica, biologia,

fısica, informatica, entre outros, provavelmente abrangendo todas as areas do conhecimento

humano.

Jelinek [1], de forma muito clara e precisa, define processosestocasticos de tempo discreto

sobre um espaco de estados tambem discreto e finito. Seja uma sequencia de variaveis es-

tocasticasX0 X1 · · · Xt · · · XT , onde0 ≤ t ≤ T representa uma ordenacao discreta no

tempo, definidas para um mesmo espaco de estados discreto e finito. Se nada mais e dito, a

probabilidade conjunta dessas variaveis estocasticase dada pela formula de Bayes:

P (X0 X1 · · · XT ) =

T∏

t=0

P (Xt|X0 X1 · · · Xt−1) (2.1)

= P (X0)P (X1|X0)P (X2|X0 X1) · · ·P (XT |X0 X1 X2 · · · XT−1)

Um processo estocastico, tal como descrito pela equacao2.1, e ditoMarkoviano de grau 1se

satisfaz a seguinte propriedade:

P (Xt|X0 X1 X2 · · · Xt−1) = P (Xt|Xt−1), (2.2)

ou seja, dada a sequencia temporal de realizacoes em um processo estocastico, a probabilidade

desse processo evoluir para um estado qualquer do espaco deamostras no instante seguinte e

dependente unica e exclusivamente do estado corrente no qual o sistema se encontra. Em outras

palavras, em um processo Markoviano de grau 1, a probabilidade do proximo passo, deXt−1

paraXt , depende apenas do estado de origem desse passo,Xt−1 . Essa propriedade e conhecida

comoMarkov property, ou “propriedade de Markov”, em traducao literal.

Assim, em se tratando de processos Markovianos de grau 1, a equacao 2.1 passa a ter a

3

Page 8: Cadeias Ocultas de Markov

seguinte forma:

P (X0 X1 · · · XT ) =

T∏

t=0

P (Xt|Xt−1) (2.3)

= P (X0)P (X1|X0)P (X2|X1)P (X3|X2) · · ·P (XT |XT−1)

O fato de estarmos tratando de processos estocasticos discretos tanto no espaco de estados

quanto no tempo nao implica em real restricao, trata-se apenas de uma forma de simplificar os

calculos para chegar mais rapidamente a definicao de Cadeias de Markov, objetivo dessa secao.

Assim, se desejado for, essas equacoes podem ser modificadas para representar a probabilidade

conjunta e probabilidade condicional (de transicao) para o caso de processos em espaco e tempo

contınuos, assim como para processos em espaco de estadosdiscreto e tempo contınuo.

2.1 Definicao

De acordo com a grande maioria dos autores, processos Markovianos1 em espacos de estados

discretos sao chamados Cadeias de Markov (Markov Chains), podendo esses processos ser

tanto de tempo discreto como contınuo. Reichl [2] restringe o termo para contemplar apenas

processos Markovianos em espacos de estados discretos a tempos discretos. Independentemente

de qual das definicoes e mais correta, optou-se aqui por tratar apenas de Cadeias de Markov de

tempo discreto.

Nesse trabalho, ainda sao feitas restricoes adicionaisquanto a forma da matriz de transicao.

Trataremos apenas de matrizes de transicaoregularese daremos preferencia ashomogeneas.

Matriz de transicao, A, e aquela que guarda em suas celulas as probabilidades de transicao

definidas para um espaco de estados, sendo que essas probabilidades podem ou nao variar com

o tempo. Dizemos que essa matriz e homogenea seA(t) = A, ou seja, se a matriz e estacionaria,

tendo probabilidades de transicao independentes do tempo.

De acordo com Reichl [2], a matrizA sera regular se todos os elementos de alguma potencia

AN , N inteiro, forem nao-nulos. Cadeias de Markov governadas por matrizes de transicao regu-

lares sao ditasergodicas, isto e, todos os estados sao atingıveis atraves de sucessivas transicoes.

Sistemas ergodicos tendem a estacionariedade apos algum tempo, ou seja, a distribuicao de

probabilidade nos estados passa a ser constante.

1Processos Markovianossao aqueles para os quais apropriedade de Markove satisteita, ou seja, a probabilidade

de um passo depende unicamente do estado atual do sistema.

4

Page 9: Cadeias Ocultas de Markov

Como lembra Trivedi [10], dizer que uma matriz de transicao chegou a sua forma esta-

cionaria, ou homogenea, nao e o mesmo que dizer que o sistema alcancou estacionariedade.

Como vimos, a estacionariedade da matriz diz respeito as probabilidades de transicao, en-

quanto que a estacionariedade do processo diz respeito a probabilidade conjunta das variaveis

estocasticas.

Sejam

1. Um espaco de estadosS = {s1, s2, s3, · · · , sN}

2. Uma variavel estocasticaX a assumir valores do espaco de estadosS em diferentes ins-

tantes de tempo

3. Uma distribuicao de probabilidade inicial para cada estado Π = {πi}, tal queπi =

P (X0 = Si)

4. Uma distribuicao de probabilidade de transicao entre estadosA = {aij}, tal queaij =

P (Xt = sj|Xt−1 = si)

As probabilidades de transicao definidas pela matrizA possuem as seguintes propriedades:

aij ≥ 0 (2.4)

N∑

j=1

aij =

N∑

j=1

P (Xt = sj |Xt−1 = si) = 1 (2.5)

A propriedade 2.4 determina que as probabilidades de transicao sao todas maiores ou iguais a

zero. A propriedade 2.5, por sua vez, mostra que resulta emuma soma das probabilidades de

todas as transicoes partindo do estadosi para os estados definidos no espaco de estadosS.

Como visto anteriormente, a equacao 2.3 decorre da propriedade de Markov e, portanto,

tambem vale para Cadeias de Markov. Considere, entao, essa equacao para a probabilidade

conjunta das variaveis estocasticasX0, X1, X2

P (X0 X1 X2) = P (X0)P (X1|X0)P (X2|X1). (2.6)

Ao aplicarmos um somatorio sobre a variavel estocasticaX1, obtemos a probabilidade conjunta

deX0, X2

P (X0 X2) = P (X0) ·∑

X1

P (X1|X0)P (X2|X1). (2.7)

Se dividirmos a equacao resultante porP (X0), obteremos a probabilidade condicional,P (X2|X0),

do sistema ocupar um determinado estado no instantet = 2 sendo que ocupou algum outro es-

tado no instantet = 0. A equacao 2.8, conhecida comoequacao de Chapman-Kolmogorov,

5

Page 10: Cadeias Ocultas de Markov

reflete esse raciocınio

P (X2|X0) =∑

X1

P (X1|X0)P (X2|X1). (2.8)

A equacao de Chapman-Kolmogorov evidencia a propriedadede Markov, pois a partir dela

fica clara a independencia entre passos sucessivos na evolucao de um sistema governado por

uma cadeia de Markov. Em outras palavras, a probabilidade detransicao entreX1 eX2 nao e

afetada pelo fato de ter sido precedida pela transicao entreX0 eX1. Ou, mais sucintamente,

passos sucessivos sao estatisticamente independentes, [2].

Redefinindo um dos termos da equacao 2.8, temos:

P (X2 = sj |X1 = si) = aij = (A(t))ij (2.9)

ondeaij e um dos elementos daMatriz de Transicao, A(t). Como dito anteriormente, no

decorrer desse estudo, daremos preferencia ao estudo de matrizes de transicao independentes

do tempo, ou homogeneas:A(t) = A. Entao, paraA independente do tempo, temos:

(A)ij = aij = P (X2 = sj|X1 = si)

= P (X1 = sj|X0 = si)

= P (Xt = sj |Xt−1 = si). (2.10)

Assim, tendo uma matriz de transicao homogenea, podemosampliar a equacao de Chapman-

Kolmogorov, 2.8, para dar conta de um numero arbitrario depassos:

P (Xt′ = sj | Xt = si) =

=∑

All 6=(t||t′)

P (Xτ1|Xt = si)P (Xτ2|Xτ1) · · ·P (Xτn|Xτn−1)P (Xt′ = sj|Xτn

)

= (At′−t)ij. (2.11)

Com relacao a equacao 2.11, o numero de termos no produto e o numero de passos desde

o instantet ate o instantet′. A cada par de passos, soma-se sobre todos os possıveis estados

intermediarios, como feito na equacao 2.8, ate que a sequencia de passos seja completada. Isso

e equivalente a elevar a matriz de transicaoA a potencia(t′ − t), que e justamente o numero

de passos, e escolher o valor guardado na celula (i,j) dessanova matriz. Essa celula guarda a

probabilidade de sair do estadosi e chegar ao estadosj em(t′ − t) passos.

6

Page 11: Cadeias Ocultas de Markov

2.2 Modelo Markoviano do Tempo

Em seu artigo sobre HMM e suas aplicacoes em reconhecimento de fala, Rabiner [3] usa um

otimo exemplo para ilustrar a aplicacao de Cadeias de Markov de forma simples. O exemplo

trata da modelagem do tempo no decorrer dos dias.

Assim, seja a variavel estocasticaX, que representa o tempo e tem suas realizacoes definidas

no conjunto discreto{S1 = chuvoso, S2 = nublado, S3 = ensolarado}. Determina-se que

as observacoes sao feitas uma vez ao dia, que o resultado obtido sera sempre um unico desses

tres estados possıveis, sem combinacao entre estados,e que as probabilidades de transicao entre

esses estados sao dadas pela matriz

A = {aij} =

a11 a12 a13

a21 a22 a23

a31 a32 a33

=

0.4 0.3 0.3

0.2 0.6 0.2

0.1 0.1 0.8

Dado que o tempo no dia 1 e “ensolarado” (X0 = S3), qual a probabilidade (de acordo com o

modelo) de que o tempo para os proximos 7 dias seja “ensolarado-ensolarado-chuvoso-chuvoso-

ensolarado-nublado-ensolarado”? Mais formalmente, definimos a sequencia de observacao

O = {X0 = S3, X1 = S3, X2 = S3, X3 = S1, X4 = S1, X5 = S3, X6 = S2, X7 = S3}.

Queremos obter a probabilidade deO, dado o modelo:

P (O|Model) = P (S3, S3, S3, S1, S1, S3, S2, S3|Model)

= P (S3)P (S3|S3)P (S3|S3)P (S1|S3)P (S1|S1)P (S3|S1)P (S2|S3)P (S3|S2)

= π3 · a33 · a33 · a31 · a11 · a13 · a32 · a23

= 1 · (0.8)(0.8)(0.1)(0.4)(0.3)(0.1)(0.2)

= 1.536 × 10−4

onde a notacao

πi = P (X0 = Si), 1 ≤ i ≤ N (2.12)

e usada para indicar a probabilidade inicial de cada estado.

Outra questao de interesse e: dado que o modelo esta em um estado conhecido, qual a pro-

babilidade dele permanecer nesse estado por exatamented dias? Essa probabilidade pode ser

7

Page 12: Cadeias Ocultas de Markov

avaliada como sendo a probabilidade da sequencia de observacao

O = {Si, Si, Si, · · · , Si, Sj 6= Si}

1 2 3 d d+1

dado o modelo, a qual e

P (O|Model,X0 = Si) = (aii)d−1(1 − aii) = pi(d). (2.13)

A quantidadepi(d) e a densidade de probabilidade de duracaod no estadoi. Essa duracao

exponencial e caracterıstica do tempo de permanencia emum estado numa Cadeia de Markov.

A partir depi(d) podemos calcular o numero medio de observacoes subseq¨uentes em um dado

estado, condicionado ao fato desse ter sido o estado inicial

di =

∞∑

d=1

d(pi(d)) (2.14)

=∞∑

d=1

d((aii)d−1(1 − aii)) =

1

1 − aii

. (2.15)

Assim, de acordo com o modelo, o numero esperado de dias ensolarados consecutivos e

1/(0.2) = 5 (o atual, mais 4 dias de sol), de dias nublados e2.5 e de dias chuvosos e1.67.

8

Page 13: Cadeias Ocultas de Markov

3 Modelos Ocultos de Markov

No final da decada de 1960, Leonard E. Baum e colaboradores publicaram uma serie de ar-

tigos lancando as bases para o formalismo de Modelos Ocultos de Markov (Hidden Markov

Models- HMM)1 . As primeira aplicacoes dessa modelagem estavam voltadas para o reco-

nhecimento de fala, sendo os trabalhos de F. Jelinek (IBM) e J. K. Baker (Carnegie Mellon

University - CMU), no comeco dos anos 70, pioneiros no uso deHMM. Na segunda metade

da decada de 80, HMM foi aplicado em sequenciamento de DNA,alcancando posteriormente

grande importancia em todo o campo da bioinformatica.

Nas palavras de Rabiner [3], na maioria dos processos Markovianos, cada estado corresponde

a um observavel2 do sistema. Para esclarecer a ideia, consideremos o exemplo sobre modelagem

do tempo, introduzido no capıtulo 2, sobre Cadeias de Markov. Ao verificar a condicao do

tempo em um determinado dia, o observador obtera diretamente um dos estados da Markov

como resposta,{S1 = chuvoso, S2 = nublado, S3 = ensolarado}.

Por outro lado, Modelos Ocultos de Markov sao usados na modelagem de processos Marko-

vianos que geram observaveis de forma indireta, em funcao das transicoes entre os estados da

cadeia de Markov que governa o processo, mas que nao pode serdiretamente observada. Em

outras palavras, a evolucao da cadeia de Markov esta escondida do observador. Em comparacao

a proposta anterior de modelagem do tempo por Cadeias de Markov, uma possıvel modelagem

em HMM poderia tratar da observacao do comportamento de umtrabalhador em sua forma de

transporte ao trabalho. Esse trabalhador se locomove de bicicleta ou taxi em funcao do tempo

ou de sua previsao. Geralmente vai ao trabalho de bicicleta, mas costuma pegar taxi em dias

chuvosos. Assim, se esse trabalhador foi trabalhar de bicicleta em um determinado dia, ha uma

probabilidade maior de que o dia esteja ensolarado do que chuvoso, mas ainda assim pode se

1Hidden Markov Modelsaparece na literatura sob diversos nomes, tais comoHidden Markov Processes, Mar-

kov Sources, Hidden Markov Chains, Probabilistic Functions of Markov Chains.2Observavel, no contexto desse trabalho, e algo que pode ser observado.Para ilustrar, ao jogar uma moeda para

cima, obteremos como resultado da observacao um dos dois possıveis observaveis:caraoucoroa.

9

Page 14: Cadeias Ocultas de Markov

tratar de um dia de chuva.

Assim, a diferenca fundamental entre HMM e o resto dos formalismos Markovianos esta

na forma de se observar o sistema. Enquanto que na maioria dosprocessos Markovianos a

observacao e direta, pois os observaveis sao os proprios estados, em HMM a observacao e

indireta, feita por inferencia, pois os observaveis saofuncoes probabilısticas dos estados da

Markov ou das transicoes entre esses estados.

3.1 Definicao

No contexto desse trabalho, Modelos Ocultos de Markov sao definidos como modelos Mar-

kovianos onde a observacao da evolucao do sistema se dade forma indireta, como funcao pro-

babilıstica da transicao entre os estados definidos num espaco de estados discreto e finito. Por

mais que conhecamos todos os parametros do modelo3 , continua oculta a evolucao da Markov

que governa esse processo. Em outras palavras, nao se sabe qual o caminho ou sequencia de

passos exatos que levaram a uma determinada observacao.

Sejam

1. Um espaco de estadosS = {s1, s2, s3, · · · , sN}

2. Um conjunto de observaveisY = {y1, y2, y3, · · · , yM}

3. Uma variavel estocasticaQ a assumir valores do espaco de estadosS em diferentes ins-

tantes de tempo

4. Uma variavel estocasticaO a assumir valores do conjunto de observaveisY em diferentes

instantes de tempo

5. Uma distribuicao de probabilidade inicial para cada estado Π = {πi}, tal queπi =

P (q0 = si)

6. Uma distribuicao de probabilidade de transicao entre estadosA = {aij}, tal queaij =

P (qt = sj|qt−1 = si)

7. Uma distribuicao de probabilidade de observacaoB = {bij(k)}, tal quebij(k) = P (Ot =

yk|qt−1 = si, qt = sj) associada a transicoes do estadosi para o estadosj

3Sao chamadosparametros do modeloo conjunto de valoresλ = (A, B, Π) que definem o modelo, ondeΠ

e o vetor de probabilidade inicial de cada estado da Markov oculta,A e a matriz que define as probabilidades de

transicao entre esses estados eB e a matriz de probabilidade de emissao de observaveis.

10

Page 15: Cadeias Ocultas de Markov

Jelinek [1] cita tres possıveis definicoes para o formalismo de Modelos Ocultos de Markov. A

primeira delas, adotada pelo proprio autor, trata dos observaveis como funcao das transicoes en-

tre os estados da Markov oculta. Outra definicao, adotada por Rabiner [3], trata dos observaveis

como funcao dos proprios estados da Markov. A terceira definicao, muito usada em modelos

acusticos, remove a restricao quanto a finitude deY .

Em se tratando de mais uma variante de processos Markovianos, onde trabalhamos com uma

cadeia de Markov que esta escondida do observador, todas asequacoes que valem para Cadeias

de Markov tambem valem para Modelos Ocultos de Markov.

Como observado por Jelinek [1], se o espaco de estados da Markov nao for muito grande,

podemos usar automatos para analisar graficamente as relac¸oes entre os estados, suas transicoes

e os observaveis gerados.

(a) Cadeia de Markov de 3 estados (b) HMM de 3 estados e observaveis

y ∈ {0, 1}

(c) HMM e observaveis para cada

transicao

Figura 3.1. Markov de 3 estados e HMM correspondente (Fonte: Jelinek [1])

Suponha, entao, a Cadeia de Markov de tres estados mostrada na Figura 3.1. Algumas

transicoes nao sao mostradas em(a), significando quea21 = a22 = a33 = 0. A HMM cor-

respondente, de tres estados e observaveisy ∈ {0, 1}, pode ser vista em(b). Em (c) temos

a representacao da HMM evidenciando os observaveis gerados em funcao da ocorrencia de

transicoes entre os estados da Markov que governa o processo.

Seguindo na abordagem adotada por Jelinek [1] no estudo de Modelos Ocultos de Markov

(HMM), alem de automatos, usaremos outro artifıcio grafico para nos ajudar na compreensao de

HMM. Esse artifıcio e conhecido comotrellis4. Ele auxilia no calculo da probabilidade de uma

sequencia de observaveisP (y1 y2 · · · yk), colocando em evidencia a evolucao temporal do

processo gerador dessa sequencia. O trellis consiste na concatenacao deestagioselementares

4Trellis, do ingles, significa “trelica”, um gradeado para plantastrepadeiras. No contexto desse trabalho,trellis

e um artifıcio grafico para entender a dinamica de transicoes entre os estados da Markov, de momento a momento.

Apesar da existencia de uma traducao para o portugues, no decorrer do texto, opta-se pelo uso do termo em ingles.

11

Page 16: Cadeias Ocultas de Markov

atribuıdos, um a um, a cada observavel. Esses “estagios”, ilustrados na Figura 3.2 mostram as

transicoes entre os estados da Markov que poderiam gerar aquele observavel especıfico.

Figura 3.2. Dois est agios do trellis, correspondendo ao HMM bin ario da Figura 3.1 (Fonte:

Jelinek [1])

Voltaremos ao trellis varias vezes no decorrer desse estudo, como forma de ilustrar os pro-

blemas canonicos de HMM, abordados no capıtulo 4, cujas resolucoes sao fundamentais na

calibracao de modelos criados com base no formalismo de Modelos Ocultos de Markov.

12

Page 17: Cadeias Ocultas de Markov

4 Problemas Canonicos

Por definicao [11], a modelagem de um sitema fısico ou realidade qualquer e uma versao

bastante simplificada da realidade propriamente dita. Dessa forma, nao ha modelo absoluto,

existem apenas modelos mais ou menos adequados para uma dadosistema. Tendo isso em

mente, poderıamos tratar o processo de modelagem como sendo composto de duas etapas:

a definicao dos parametros do modeloe o ajuste do mesmo pela resolucao de uma serie de

“problemas-controle”.

No contexto de modelagens em HMM, ha tres problemas fundamentais (ou canonicos) a

serem resolvidos antes de fazer uso de um modelo, [3]1. Esses problemas, responsaveis pelo

ajuste finode um modelo, sao os seguintes:

Problema 1: Probabilidade de uma Sequencia de Observaveis

Sejam o modeloλ = (A, B, π) e a sequencia de observaveisO = O1O2 · · ·OT .

Como calcular de forma eficiente a probabilidade dessa sequˆencia ser gerada

pelo modelo,P (O|λ)?

Problema 2: SequenciaOtima de Estados

Sejam o modeloλ = (A, B, π) e a sequencia de observaveisO = O1O2 · · ·OT .

Dentre as diversas sequencias de estados que poderiam ter gerado essa

sequencia de observaveis, qual e a mais provavel?

Problema 3: Maximizacao da Probabilidade de uma Sequencia de Observaveis

Como ajustamos os parametrosλ = (A, B, π) do modelo para maximizar

P (O|λ)?

1Rabiner [3] fundamenta essa abordagem nas ideias apresentadas por Jack Ferguson, do IDA, em apresentacoes

nos Laboratorios Bell.

13

Page 18: Cadeias Ocultas de Markov

4.1 Solucao do Problema 1

Sejam os parametros do modelo e a sequencia de observaveis

λ = (A, B, π); (4.1)

O = O1 O2 · · · OT . (4.2)

Queremos calcularP (O|λ), a problabilidade de gerar a sequenciaO a partir desse modelo. A

maneira mais direta de realizar esse calculo parte da identificacao de cada sequencia de estados

Q que possa gerarO. Usando o jargao da area, essa seria a resolucao a “forc¸a bruta” e, por

consequencia, tende a ser onerosa, pois dispende mais tempo e poder computacional. Veremos

adiante um algoritmo mais eficiente, mas por ora vamos nos deter a analise dessa resolucao

“mais direta”.

Para simplificar os calculos, consideramos que cada transicao entre estadosqt−1 eqt gera um

observavelOt. Uma simplificacao adicional e feita ao considerar que, alem de ser ergodico, o

sistema tem a caracterıstica especial de queaqt−1qt> 0, ∀ t, ou seja, transicoes estao previstas

entre quaisquer pares de estados do modelo.

Dadas essas consideracoes, suponha queO tenha sido gerado pela seguinte sequencia de

estados

Q = q0 q1 · · · qT , (4.3)

na qual o ındice numerico e um inteiro,0 ≤ t ≤ T , que indica um instante no tempo. As-

sim, q0 significa o estado da Markov no instantet = 0, ou simplesmente o estado inicial. A

probabilidade deQ e dada por

P (Q|λ) = πq0aq0q1aq1q2 · · ·aqT−1qT(4.4)

Assumindo que as observacoes sao estatisticamente independentes entre si2, podemos escre-

ver

P (O|Q, λ) =T∏

t=1

P (Ot|qt−1, qt, λ) (4.5)

de onde segue que

P (O|Q, λ) = bq0q1(O1) · bq1q2(O2) · · · bqT−1qT(OT ). (4.6)

2A rigor, HMM nao restringe quanto a natureza da relacao entre os observaveis em uma sequencia, podendo as

observacoes ser ou nao estatisticamente independentes, [1].

14

Page 19: Cadeias Ocultas de Markov

Dessas equacoes, podemos escrever a probabilidade conjunta deO eQ

P (O,Q|λ) = P (O|Q, λ) P (Q|λ) (4.7)

Fazendo o somatorio de 4.7 sobre todas as sequencias de estadosQ = q0 q1 · · · qT , tem-se

P (O|λ) =∑

allQ

P (O|Q, λ) P (Q|λ) =∑

allQ

πq0

T∏

t=1

aq(t−1)qtbq(t−1)qt

(Ot) (4.8)

=∑

q0 q1 q2 ··· qT

πq0aq0q1bq0q1(O1) aq1q2bq1q2(O2) · · · aq(T−1)qTbq(T−1)qT

(OT ) (4.9)

Para entender o significado dessa equacao, considere uma ´unica sequencia de estadosQ. A

probalididade da Markov ocupar um dosN possıveis estados no instantet = 0 e dada porπq0.

Em t = 1, o sistema sofre transicao do estadoq0 para o estadoq1, gerando o observavelO1,

de acordo com as propabilidades de transicao e de observac¸ao, aq0q1 e bq0q1(O1), respectiva-

mente. Esse procedimento se repete atet = T . Tendo calculado a probabilidade para uma

dada sequenciaQ, passa-se a proxima, dentre as sequencias restantes. A soma sobre todas as

sequencias resulta na probalididade do modelo gerar a sequenciaO de observaveis.

O ındice numerico0 ≤ t ≤ T tambem pode ser visto como uma coluna dotrellis, ondeq0

e o estado da Markov na coluna0 do trellis,q1 e o estado da Markov na coluna1, e assim por

diante. Na transicao entre duas colunas do trellis, um observavel e emitido. Essa dinamica e

mostrada nas Figuras 4.1 e 4.2 para a sequencia de observacao{0 1 1 0}, referente ao exemplo

apresentado em capıtulo anterior para o caso de uma Markov de3 estados, gerando observaveis

y ∈ {0, 1} (ver Figura 3.1 para mais detalhes).

Figura 4.1. Trellis para a sequ encia de observ aveis “0 1 1 0” relativa a Figura 3.1 (Fonte:

Jelinek [1])

15

Page 20: Cadeias Ocultas de Markov

Figura 4.2. Trellis da Figura 4.1 contemplando apenas os cam inhos que geram a sequ encia

completa de observ aveis “0 1 1 0” (Fonte: Jelinek [1])

Da equacao 4.9, observamos que existemNT sequenciasQ deT posicoes feitas a partir de N

estados. Assim, haNT termos no somatorio dessa equacao, o que implica emNT − 1 adicoes.

Tambem existemT operacoes de multiplicacao entre os termosaqt−1qt· bqt−1qt

(Ot), sendo que

1 ≤ t ≤ T , e saoT − 1 as multiplicacoes entre esse conjunto de termos e seus correlatos, desde

aq0q1 · bq0q1(O1) ateaqT−1qT· bqT−1qT

(OT ). Assim, sao(2T − 1) multiplicacoes em cada termo

do somatorio, totalizando(2T − 1) ·NT multiplicacoes. Portanto, a resolucao da equacao 4.9

envolve um total de2TNT − 1 operacoes. Esse calculo talvez nao seja computacionalmente

impossıvel, mas certamente e muitıssimo oneroso. Como exemplo, considere um sistema com

N = 5 estados e uma sequencia deT = 100 observaveis. Para esse exemplo, a resolucao de

4.9 envolve2 · 100 · 5100 ≈ 1072 operacoes.

Contudo, como frisa Rabiner [3], existe um procedimento muito mais eficiente para resol-

ver o Problema 1. Esse algoritmo e conhecido comoforward-backward procedure, do qual

precisamos apenas da parte “forward”, por enquanto3 .

4.1.1 Algoritmo Forward-Backward

Considere a variavelforward, definida como

αt(i) = P (O1 O2 · · · Ot, qt = Si|λ) (4.10)

isto e, a probabilidade da observacao parcial da sequencia de observaveis, deO1 ateOt, con-

junta com a probabilidade de ocupacao do estadoSi da Markov no instantet. Como estamos

3O algoritmo completo sera usado na resolucao doProblema 3.

16

Page 21: Cadeias Ocultas de Markov

trabalhando com sequencias em funcao do tempo, podemos dizer que trabalhamos com conjun-

tos ordenados de eventos, o que nos permite assumir, por inducao, queαt(i) vale para qualquer

instante de tempo dentro dos limites do problema,0 ≤ t ≤ T . Assim, resolvemos oProblema

1 pela aplicacao do seguinte procedimento:

1. Inicializacao:

α0(i) = πi, 1 ≤ i ≤ N (4.11)

2. Inducao:

αt+1(j) =

N∑

i=1

αt(i)aijbij(Ot+1), 0 ≤ t ≤ T − 1 (4.12)

1 ≤ j ≤ N

3. Finalizacao:

P (O|λ) =N∑

i=1

αT (i) (4.13)

A figura 4.3 ilustra a situacao.

Figura 4.3. Ilustrac ao da parte forwarddo algoritmo forward-backward(Fonte: Rabiner [3])

A “Inducao” e a parte mais importante desse procedimento, entao vamos tentar compreende-

la. O termoαt(i) e a probabilidade conjunta da

• observacao parcialO = O1 O2 · · · Ot;

• ocupacao do estadoqt = Si.

Ao multiplicaraij e porbij(Ot+1) estamos calculando a probabilidade conjunta de

17

Page 22: Cadeias Ocultas de Markov

• transicao do estadoqt = Si para o estadoqt+1 = Sj ;

• emissao do observavelOt+1 em consequencia da transicaoaij .

Multiplicando, entao, os termosαt(i), aij e bij(Ot+1), e somando sobre todos os estados1 ≤

i ≤ N , obtemos a probabilidade conjunta de

• observacao parcialO = O1 O2 · · · Ot;

• ocupacao do estadoqt+1 = Sj, qualquer que tenha sido o estado no instante anterior;

• emissao do observavelOt+1 em consequencia de todas as transicoes com destino aqt+1 =

Sj;

que nada mais e do que a o valor deαt+1(j) (equacao 4.12).

Para finalizar o procedimento, faz-se o somatorio deαT (i) sobre todos os estados1 ≤ i ≤ N .

Isso faz todo o sentido quando analisamos a definicao da variavel forwardpor ocasiao do ultimo

instante de observacaoT :

αT (i) = P (O1 O2 · · · OT , qT = Si|λ) (4.14)

Essa equacao nada mais e do que a probabilidade conjunta da sequencia completa de observacao

com a probabilidade de ocupar o estadoSi no instanteT . Dessa forma, ao somarmos a equacao

4.14 sobre todos os estados, obtemos a probabilidade de que um dado modeloλ = (A, B, π)

gere a sequencia de observaveisO = O1 O2 · · · OT , ou seja, obtemos 4.13.

O procedimento inteiro, ate a obtencao da equacao 4.13, envolve2N2T multiplicacoes e

(N − 1)NT adicoes, totalizando(3N − 1)NT operacoes4 . Nesse momento, cabe comparar a

eficiencia desse procedimento com relacao ao anterior. Para tal, usamos o mesmo exemplo, com

espaco de estadosN = 5 e uma sequencia deT = 100 observaveis. Enquanto que o metodo

de resolucao por “forca bruta” envolve aproximadamente1072 operacoes, a parteforward do

procedimentoforward-backwardprecisa de 7000 operacoes, uma diferenca de1069 ordens de

grandeza. Com esse exemplo, nao ha o que discutir sobre a superioridade doforward-backward

nas resolucao doProblema 1.

4No procedimento original, encontrado no artigo [3], de Rabiner, a parte “Indutiva” e dada pela equacao

αt+1(j) =[∑N

i=1αt(i)aij

]

bj(Ot+1), o que resulta(N + 1)NT multiplicacoes, dando um total de2N2T

operacoes. Assim, paraN = 5 e T = 100, seriam 5000 operacoes quando o observavel e gerado em funcao

do estado, contra as 7000 operacoes quando o observavel ´e gerado em funcao da transicao entre estados.

18

Page 23: Cadeias Ocultas de Markov

Considere agora a variavelbackward, definida como

βt(i) = P (Ot+1 Ot+2 · · · OT |qt = Si, λ), (4.15)

ou seja, a probabilidade conjunta de a Markov estar no estadoSi no instantet com a pro-

babilidade da observacao parcial,Ot+1 Ot+2 · · · OT , nos instantes subsequentes at. A parte

backwarddo procedimentoforward-backwarde muito semelhante ao que acabamos de ver para

a parteforward. Logo, por analogia, segue:

1. Inicializacao:

βT (i) = 1, 1 ≤ i ≤ N (4.16)

2. Inducao:

βt(i) =

N∑

j=1

aijbij(Ot+1)βt+1(j), (4.17)

t = T − 1, T − 2, · · · , 0

1 ≤ i ≤ N

Rabiner [3] nao apresenta uma finalizacao para esse procedimento, contudo, se assumirmos

que o modelo tem um determinado estado inicial,Si, com probabilidadeP (Si) = 1, podemos

dizer que o que buscamos calcular e justamenteβ0, que e a probabilidade da sequencia completa

de observacao, dado que o estado inicial foiq0 = Si:

β0(i) = P (O1 O2 · · · OT |q0 = Si, λ) (4.18)

A figura 4.4 ilustra a situacao.

De acordo com Jelinek [1], a inicializacao apresentada nesse procedimento trata-se de uma

questao de convencao. Para facilitar a compreensao, vamos desenvolver os primeiros termos

desse procedimento. Assim:

βT−1(j) =N∑

k=1

ajkbjk(OT ) βT (k)︸ ︷︷ ︸

1

=N∑

k=1

ajkbjk(OT ) (4.19)

βT−2(i) =

N∑

j=1

aijbij(OT−1)βT−1(j) (4.20)

=

N∑

j=1

[

aijbij(OT−1)

N∑

k=1

ajkbjk(OT )

]

(4.21)

19

Page 24: Cadeias Ocultas de Markov

Figura 4.4. Ilustrac ao da parte backwarddo algoritmo forward-backward(Fonte: Rabiner

[3])

Assumindo que as observacoes sao independentes, podemos escrever:

βT−2(i) =

[N∑

j=1

aijbij(OT−1)

]

︸ ︷︷ ︸

P (OT−1|qT−2=Si)

·

[N∑

j=1

N∑

k=1

ajkbjk(OT )

]

︸ ︷︷ ︸

P (OT )

(4.22)

= P (OT−1 OT |qT−2 = Si) (4.23)

Assim, a sequencia de observacao esta se criando de tras para a frente.

4.2 Solucao do Problema 2

Esse e o problema de achar a sequencia otima de estados associada a sequencia de ob-

servaveis. Rabiner [3] defende que a dificuldade nesse problema e a de se estabelecer um

criterio de otimizacao, dentre varios que possam existir. Assim, a resolucao doProblema 2

poderia se dar de diferentes formas, indicando diferentes sequencias supostamente otimas, tudo

em funcao do criterio de otimizacao escolhido. Ja Jelinek [1] nem entra nesse merito, passando

direto ao estudo do algoritmo de Viterbi (secao 4.2.1).

Para ilustrar a dificuldade na escolha do criterio de otimizacao, num primeiro momento,

Rabiner [3] resolve o problema adotando o seguinte criterio: a cada instantet escolhe-se o

estado individualmente mais provavel. No desenvolvimento dessa solucao, Rabiner [3] usa as

definicoes das partes do algoritmoforward-backward, como veremos adiante. Agora considere

a definicao da seguinte variavel:

γt(i) = P (qt = Si|O, λ). (4.24)

20

Page 25: Cadeias Ocultas de Markov

Por definicao,γt(i) e a probabilidade de que, dado um modeloλ = (A, B, π) e uma sequencia

completa de observaveisO1 O2 · · · OT , o sistema tenha ocupado o estadoSi no instantet.

Essa equacao pode ser posta em termos das variaveisforwardebackwardvistas na secao 4.1.1:

γt(i) =αt(i)βt(i)

P (O|λ)=

αt(i)βt(i)∑N

i=1 αt(i)βt(i)(4.25)

Como cita Rabiner [3], o fator de normalizacaoP (O|λ) =∑N

i=1 αt(i)βt(i) faz deγt(i) uma

medida de probabilidade, tal queN∑

i=1

γt(i) = 1 (4.26)

Assim, descobrimos o estadoqt individualmente mais provavel no instantet atraves da busca

pelo argumentoi que retorna o maior valor deγt(i) naquele instante (equacao 4.25):

qt = argmax1≤i≤N

[γt(i)] , 0 ≤ t ≤ T (4.27)

Contudo, obter o estado mais provavel no instantet−1 para, em seguida, obter o estado mais

provavel no instantet nao e garantia de termos a sequencia parcial{qt−1 = Si, qt = Sj} mais

provavel, pois pode acontecer que a transicao entreSi eSj nao esteja prevista. Assim, Rabiner

[3] explica que essa solucao nao se aplica para o caso em que aij = 0 para algum par(i, j) de

estados do modelo.

Realmente, o criterio do “estado mais provavel no instante t” so faz sentido se o sistema,

alem de ergodico, tiveraij > 0, ∀1 ≤ i, j ≤ N . Parece ser, entao, mais simples passar direto

a resolucao pelo algoritmo de Viterbi (abordagem adotada por Jelinek [1]), pois ele comtempla

apenas transicoes possıveis, nao apresentando o problema que acabamos de ver.

4.2.1 Algoritmo de Viterbi

Segundo Forney [12], o algoritmo de Viterbi, proposto em 1967 e desde entao usado em

uma grande gama de aplicacoes, e uma solucao otima recursiva para o problema de estimar a

sequencia de estados de um processo Markoviano de estado finito e tempo discreto.

De acordo com Rabiner [3] o criterio mais usado para a resolucao doProblema 2e o de

achar a melhor, ou mais provavel, sequencia completa de estados, e o algoritmo de Viterbi seria

a tecnica formal usada em vista desse criterio. Ora, esse criterio e na verdade o enunciado do

Problema 2, o que justifica passar direto ao algoritmo de Viterbi, como fez Jelinek [1].

Ainda, achar a sequencia de estados mais provavel,Q = q1 q2 · · · qT , dada a sequencia de

observacaoO = O1 O2 · · · OT , ou mais formalmente, maximizarP (Q|O, λ) e equivalente a

21

Page 26: Cadeias Ocultas de Markov

maximizarP (Q,O|λ), pois ambas as operacoes de maximizacao vao devolver asequencia de

estados mais provavel.

Seja, entao, a seguinte definicao:

δt(j) = maxq1 q2 ··· qt−1

P [q1 q2 · · · qt = Sj , O1 O2 · · · Ot|q0 = Si, λ] (4.28)

ou seja,δt(j) guarda a probabilidade do caminho (ou sequencia de estados) mais provavel que

leva ao estadoSj no instantet, gerando os primeirost observaveis.

Por inducao, temos:

δt+1(k) = maxj

[δt(j) ajkbjk(Ot+1)] (4.29)

Para guardar a sequencia de estados, usamos um vetor auxiliar ψt(k) que guarda em cada

posicaot o ındicej do estadoqt−1 = Sj que maximiza a sequencia ate o estadoqt = Sk.

O procedimento completo e mostrado a seguir:

1. Inicializacao:

δ1(j) = aij bij(O1), 1 ≤ j ≤ N (4.30)

ψ1(j) = 0 (4.31)

2. Inducao:

δt(k) = max1≤j≤N

[δt−1(j) ajkbjk(Ot)] , 2 ≤ t ≤ T (4.32)

1 ≤ k ≤ N

ψt(k) = argmax1≤j≤N

[δt−1(j) ajk] , 2 ≤ t ≤ T (4.33)

1 ≤ k ≤ N

3. Finalizacao:

P ∗ = max1≤k≤N

[δT (k)] (4.34)

q∗T = argmax1≤k≤N

[δT (k)] (4.35)

4. Recriacao do Caminho (sequencia de estados):

q∗t = {ψt+1, {q∗t+1}}, t = T − 1, T − 2, · · · , 1 (4.36)

22

Page 27: Cadeias Ocultas de Markov

(a) HMM e observaveis para cada

transicao

(b) Trellis com a sequencia mais provavel de estados

Figura 4.5. Trellis para a representac ao do algoritmo de Viterbi (Fonte: Jelinek [1])

A Figura 4.5 mostra a sequencia mais provavel para cada um dos estados finais, de acordo

com o algoritmo de Viterbi, para um dado modeloλ e sequenciaO de observaveis. Assim, a

sequencia mais provavel que leva ao estado 1 e{1 2 3 1 1}, a sequencia mais provavel que leva

ao estado 2 e{1 2 3 1 2}, e aquela levando ao estado 3 e{1 2 3 2 3}.

Ao inves de prover explicacoes formais para cada uma das equacoes que compoem o algo-

ritmo de Viterbi, vamos explicar informalmente, atraves do uso do trellis, como funciona esse

algoritmo.

Para facilitar, useremos a notacao(estado)coluna para indicar em que coluna esta o estado

do qual falamos. Nao vamos recriar as sequencias que levamaos tres estados da ultima coluna

do trellis, e sequer vamos calcular uma sequencia completa. Para ilustrar o metodo, basta nos

atermos ao estado22.

Assim, dois possıveis caminhos levam a22, sao eles:{1 1 2} e{1 3 2}. O estado11 so pode

ter sido precedido pelo estado10, entao atribuımos “peso 1” a essa transicao; enquanto que o

estado31 pode ter sido precedido tanto por10 quanto por20, assim, atribuımos “peso 0.5” a

cada uma dessas transicoes. O estado22 pode ter sido precedido tanto por11 quanto por31, e

mais uma vez atribuımos “peso 0.5” a cada uma das transicoes. Se multiplicarmos esses pesos,

teremos o valor0.25 para a sequencia parcial{1 3 2} e o valor0.5 para a sequencia parcial

{1 1 2}, fazendo desta ultima a sequencia parcial mais provavel, como mostra a Figura 4.5.

Como dito anteriormente, a Figura 4.5 mostra a sequencia mais provavel para cada um dos

estados finais (coluna 4 do trellis). Essas sequencias sao{1 2 3 1 1}, {1 2 3 1 2} e{1 2 3 2 3}.

Para descobrir qual dentre essas tres e de fato a mais prov´avel, basta seguir o procedimento

23

Page 28: Cadeias Ocultas de Markov

recem explicado e obteremos probabilidades iguais para asduas primeiras sequencias, sendo

que a ultima e menos provavel que as anteriores. O algoritmo de Viterbi resolve esse problema

escolhendo arbitrariamente uma dentre as duas sequenciasigualmente provaveis.

4.3 Solucao do Problema 3

Rabiner [3] menciona que, dentre os tresProblemas Canonicos, este e de longe o mais difıcil

de resolver, pois nao existe metodo analıtico que permita obter os parametrosλ = (A, B, π) que

maximizam a probabilidade de um modelo gerar a sequencia completa de observaveis,P (O|λ)

λ = argmaxλ

P (O|λ) (4.37)

No entanto, existe um algoritmo capaz de maximizar a probabilidade local. Esse algoritmo,

de acordo com Jelinek [1] e citado na literatura sob diferentes nomes, tais comoalgoritmo de

Baum, Baum-Welchou algoritmoforward-backward. Passemos entao ao metodo.

4.3.1 Algoritmo de Baum-Welch

Considere a seguinte definicao5:

ξt(i, j) = P (qt = Si, qt+1 = Sj |O, λ); (4.38)

ou seja,ξt(i, j) e a probabilidade conjunta de estar no estadoSi no instantet e no estadoSj

no instantet + 1, dado o modelo inicialλ = (A, B, π) e a sequencia de treinamentoO. Essa

variavel pode ser expressa em termos das variaveisforward(equacao 4.10) ebackward(equacao

4.15), tomando a seguinte forma:

ξt(i, j) = P (qt = Si, qt+1 = Sj |O, λ) =P (qt = Si, qt+1 = Sj , O|λ)

P (O|λ)

=αt(i) aijbij(Ot+1) βt+1(j)

P (O|λ)

=αt(i) aijbij(Ot+1) βt+1(j)

∑N

i=1

∑N

j=1 αt(i) aijbij(Ot+1) βt+1(j)(4.39)

5O desenvolvimento do algoritmo de Baum-Wech apresentado nesse trabalho e baseado no artigo de Rabiner,

[3].

24

Page 29: Cadeias Ocultas de Markov

Agora, facamos o somatorio da equacao 4.39 sobre o ındicej, 1 ≤ j ≤ N :

N∑

j=1

ξt(i, j) =

N∑

j=1

αt(i) aijbij(Ot+1) βt+1(j)

P (O|λ)

=αt(i)

[∑N

j=1 aijbij(Ot+1) βt+1(j)]

P (O|λ)

=αt(i) βt(i)

P (O|λ)(4.40)

A Figura 4.6 ilustra a situacao.

Figura 4.6. Ilustrac ao do algoritmo forward-backwardaplicado a soluc ao do Problema 3

(Fonte: Rabiner [3])

A parte entre colchetes na equacao 4.40 e exatamente a equacao 4.17, relativa a variavel

backwardno instantet. Logo, a equacao 4.40 se iguala a equacao 4.25, apresentada durante

a resolucao doProblema 2, que defineγt(i) em funcao das variaveisforward e backward.

Portanto,

γt(i) =N∑

j=1

ξt(i, j) (4.41)

Se fizermos o somatorio deγt(i) sobre o tempo de observacao,T , obteremos a estimativa do

numero de vezes que o estadoSi e visitado em todo esse perıodo. Se quisermos saber o numero

de transicoes a partir deSi, basta levar o somatorio ate o instanteT − 1. Analogamente, ao

fazer o somatorio deξt(i, j) ateT −1, obtemos a estimativa do numero de vezes que ocorreram

25

Page 30: Cadeias Ocultas de Markov

transicoes entre os estadosqt−1 = Si e qt = Sj . Formalmente:

T−1∑

t=0

γt(i) = numero esperado de transicoes a partir deSi (4.42)

T−1∑

t=0

ξt(i, j) = numero esperado de transicoes deSi paraSj (4.43)

Usando essas formulas, podemos usar o seguinte metodo para reestimar os parametros de um

modelo:

πi = numero esperado de vezes no estadoq0 = Si = γ1(i) (4.44)

aij =numero esperado de transicoes do estadoSi para o estadoSj

numero esperado de transicoes a partir do estadoSi

=

∑T−1t=0 ξt(i, j)

∑T−1t=0 γt(i)

(4.45)

bij(k) =numero esperado de transicoes entre os estados (i,j) e observacoes do sımboloyk

numero esperado de transicoes entre os estados (i,j)

=

∑T

t=0s.t.Ot=yk

γt(j)

∑T

t=0 γt(j)(4.46)

Se definirmos o modelo atual comoλ = (A, B, π) e usarmos esses parametros para calcular

os parametros do novo modelo,λ = (¯A,

¯B, π), foi provado por Baum e seus colegas que

1. ou λ = λ, o que significa queλ define um ponto crıtico da funcao de probabilidade e,

portanto, o modeloλ e aquele que maximiza a sequencia de observacao;

2. ouλ e mais provavel queλ, poisP (O|λ) > P (O|λ), significando que achamos um novo

modelo,λ, de onde e mais provavel que a sequencia de observacaoO tenha sido gerada.

Esse processo e executado iterativamente, quantas vezes forem necessarias, ate queλ = λ.

26

Page 31: Cadeias Ocultas de Markov

5 Consideracoes Finais

Esse trabalho tratou das bases do formalismo de Modelos Ocultos de Markov (Hidden Mar-

kov Models- HMM), como fundamentado por Rabiner [3] e Jelinek [1]. Antes de mais nada,

conceituou-se Cadeias de Markov, visto que ha sempre uma Markov governando uma mo-

delagem em HMM. Logo apos, apresentou-se a definicao de HMM, seguida da apresentacao

dos problemas canonicos que, uma vez resolvidos, permitemfazer os devidos ajustes para

finalizacao da modelagem.

Assim, um dos problemas se dedicava a calcular a probabilidade de um modelo gerar uma

sequencia de observaveis; outro problema tratou de identificar, dentre as possıveis sequencias

de estados na Markov embutida, aquela que tivesse a maior probabilidade de gerar uma deter-

minada sequencia; o ultimo problema buscava novos parametros para o modelo, tentando elevar

a probabilidade de geracao da sequencia observada.

Conduzimos esses topicos tratando de uma classe muito restrita de problemas, a comecar

pelo fato de termos trabalhado apenas com modelos Markovianos discretos no espaco de esta-

dos e no tempo. Outras restricoes foram quanto a forma da matriz de transicao, pois atacamos

apenas matrizes estacionarias, regulares e, na sua grandemaioria, homogeneas; quanto a fini-

tude do espaco de observaveis e a independencia entre observacoes. Ainda, nao consideramos

nesse trabalho a probabilidade de transicoes entre estados da Markov nao emitirem observaveis.

Essas simplificacoes sao justificadas por esse se tratar de um trabalho de carater introdutorio ao

assunto.

Em trabalhos futuros, pretendemos expandir o conceito com oobjetivo de criar modelos

mais realistas, eliminando as restricoes acima enumeradas e aplicando a problemas de interesse.

Dentre as atividades planejadas para a continuacao desseestudo, esta a identificacao de uma

forma de relacionar HMM com Rede de Automatos Estocasticos (Stochastic Automata Network

- SAN), um formalismo Markoviano muito utilizado em nosso grupo de pesquisa (Performance

Evaluation Group- PEG).

27

Page 32: Cadeias Ocultas de Markov

Referencias Bibliograficas

[1] F. Jelinek.Statistical Methods for Speech Recognition. The MIT Press, 1998.

[2] L. E. Reichl.A Modern Course in Statistical Physics. WILEY-VCH, second edition, 2004.

[3] L. R. Rabiner. A tutorial on hidden markov models and selected applications in speech

recognition.Proceedings of the IEEE, 77(2):257–286, 1989.

[4] S.E. Levinson, L.R. Rabiner, and M.M. Sondhi. An introduction to the application of the

theory of probabilistic functions of a markov process to automatic speech recognition.The

Bell System Technical Journal, 62(4):1035–1074, 1983.

[5] B. H. Juang. On the hidden markov model and dynamic time warping for speech recogni-

tion - a unified view.The Bell System Technical Journal, 63(7):1213–1243, 1984.

[6] L. R. Rabiner and B. H. Juang. An introduction to hidden markov models. IEEE ASSP

Magazine, 3(1):4–16, 1986.

[7] J. S. Bridle. Stochastic models and template matching: some important relationships

between two apparently different techniques for automaticspeech recognition. InProce-

edings of the Institute of Acoustics (Autumn Conference), pages 1–8, 1984.

[8] J. Makhoul, S. Roucos, and H. Gish. Vector quantization in speech coding.Proceedings

of the IEEE, 73(11):1551–1588, 1985.

[9] S.E. Levinson. Structural methods in automatic speech recognition. Proceedings of the

IEEE, 73(11):1625–1650, 1985.

[10] G. Bolch, S. Greiner, H. de Meer, and K. S. Trivedi.Queueing Networks and Mar-

kov Chains: Modeling and Performance Evaluation with Computer Science Applications.

John Wiley & Sons, second edition, 2006.

28

Page 33: Cadeias Ocultas de Markov

[11] Oxford. Dictionary of Physics. Oxford University Press, fourth edition, 2000.

[12] G. D. Forney. The viterbi algorithm.Proceedings of the IEEE, 61(3):268–278, 1973.

29