Sie sind auf Seite 1von 33

Pontifcia Universidade Catolica do Rio Grande do Sul

Faculdade de Informatica
Pos-Graduaca o em Ciencia da Computaca o

Um Estudo sobre Modelos Ocultos de Markov


HMM - Hidden Markov Model

Luciana da Silveira Espindola

Orientador: Paulo Henrique Lemelle Fernandes

Introduca o a` Pesquisa I
Porto Alegre, junho de 2009

Sumario
LISTA DE FIGURAS

ii

Captulo 1: Introduca o

Captulo 2: Cadeias de Markov

2.1

Definica o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2

Modelo Markoviano do Tempo . . . . . . . . . . . . . . . . . . . . . . . . . .

Captulo 3: Modelos Ocultos de Markov


3.1

Definica o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Captulo 4: Problemas Canonicos


4.1

4.2

4.3

9
10

13

Soluca o do Problema 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

4.1.1

Algoritmo Forward-Backward . . . . . . . . . . . . . . . . . . . . . .

16

Soluca o do Problema 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

4.2.1

Algoritmo de Viterbi . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

Soluca o do Problema 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

4.3.1

24

Algoritmo de Baum-Welch . . . . . . . . . . . . . . . . . . . . . . . .

Captulo 5: Consideraco es Finais

27

REFERENCIAS
BIBLIOGRAFICAS

28

Lista de Figuras
3.1

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

3.2

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


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

4.1

12

Trellis para a sequencia de observaveis 0 1 1 0 relativa a` Figura 3.1 (Fonte:


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

4.2

11

15

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

Ilustraca o da parte forward do algoritmo forward-backward (Fonte: Rabiner [3]) 17

4.4

Ilustraca o da parte backward do algoritmo forward-backward (Fonte: Rabiner


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

20

4.5

Trellis para a representaca o do algoritmo de Viterbi (Fonte: Jelinek [1]) . . . .

23

4.6

Ilustraca o do algoritmo forward-backward aplicado a` soluca o do Problema 3


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

ii

25

Resumo
Modelos Ocultos de Markov(Hidden Markov Models - HMM) trata-se de um formalismo
Markoviano usado para modelar situaco es nas quais a fonte geradora dos sinais observados esta
oculta do observador. Esse formalismo pode ser usado tanto para estudar a natureza dessa fonte
quanto para ajudar a prever observaco es futuras.
Este trabalho tem carater introdutorio, sendo o escopo do mesmo limitado a modelos discretos tanto no espaco de estados quanto no tempo. Inicialmente, e feita a fundamentaca o de
modelos Markovianos e Cadeias de Markov, princpio basico para o desenvolvimento do formalismo de HMM. Em seguida, descreve-se o formalismo propriamente dito e a resoluca o de
uma serie de problemas-controle, que auxiliam na calibraca o do modelo.
O primeiro problema calcula a probabilidade de uma sequencia de observaveis atraves da
resoluca o da parte forward do algoritmo forward-backward; o segundo busca identificar, pelo
uso do algoritmo de Viterbi, a sequencia de estados mais provavel, dada a sequencia observada;
o u ltimo problema-controle, resolvido pelo uso do algoritmo de Baum-Welch, trata de buscar
melhores parametros para o modelo, otimizando a probabilidade de observaca o de uma dada
sequencia.
Restrico es adicionais a esse tratamento incluem a forma regular e homogenea da matriz de
transica o, a finitude do espaco de observaveis, a independencia entre observaco es, e o fato de
que toda transica o entre estados da Markov embutida emite um observavel.
A intenca o e aprofundar esse estudo em trabalhos futuros, buscando por uma descrica o mais
generica atraves da eliminaca o das restrico es acima relacionadas.

Introduca o

A grande maioria dos processos envolvendo sistemas reais sao tao complexos que mesmo que
haja forma analtica 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
estocastica se seu valor, dentre o conjunto {xi } de possveis realizaco es, e determinado pelo
resultado de um experimento.
Talvez nao seja possvel observar diretamente a dinamica estocastica que rege um dado processo 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 equilbrio), ser de natureza discreta ou contnua, tratar-se
de sinais limpos ou ruidosos, dentre outras caractersticas imaginaveis.
Poderamos encontrar varios motivos para fazer modelagens baseadas em sinais. Rabiner
[3] sugere que uma modelagem desse tipo pode servir para prover descrica o teorica de uma
ferramenta para processamento de sinais. Um exemplo de uso seria a otimizaca o de um sinal
de audio pela remoca o de rudo e distorco es de transmissao. Modelos de sinais tambem podem
ajudar na compreensao de sua fonte, caso nao seja possvel observar o processo diretamente
ou caso o custo dessa observaca o seja muito alto. Assim, a fonte pode ser simulada e muito
pode-se aprender dessa simulaca o, [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 Processes), Fontes Markovianas (Markov Sources), Cadeias de Markov Ocultas (Hidden Markov
Chains), Funco es Probabilsticas de Cadeias de Markov (Probabilistic Functions of Markov

Chains).
O formalismo de Modelos Ocultos de Markov (HMM) e usado para modelar processos que
sao governados por um processo Markoviano embutido, cuja dinamica nao pode ser diretamente observada. Esse processo Markoviano evolui no tempo por meio de transico es entre seus
estados, as quais sao responsaveis pela emissao de sinais observaveis.
Todo modelo passa por uma fase de calibraca o, e para modelos em HMM nao poderia ser
diferente. Rabiner [3] aborda o assunto por meio da resoluca o de tres problemas fundamentais,
organizaca o essa proposta por Jack Ferguson (IDA - Institute for Defense Analysis, USA). O
primeiro problema consiste em, tendo a proposta de modelo em HMM, determinar a probabilidade de observaca o 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 calibraca o propriamente
dita, buscando aperfeicoar os parametros do modelo, tendo em vista melhorar as probabilidades
de geraca o, 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 artigo A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition,
escrito por Lawrence Rabiner [3]. A outra fonte e o captulo 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 essa monografia um carater de Review. As
formulas apresentadas no decorrer do texto sao resultado de uma tentativa de unificaca o entre as
notaco es usadas por esses autores. As figuras includas 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 primeiro 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 captulo seguinte (Cap. 4) aborda
com detalhes a resoluca o dos tres problemas fundamentais (ou canonicos) desse formalismo. O
fechamento do trabalho trata das consideraco es finais desse estudo e trabalhos futuros.

Cadeias de Markov

Processos Markovianos sao um tipo especial de processos estocasticos que tem aplicabilidade
quase universal. Exemplos de aplicaco es podem ser encontrados junto a` qumica, biologia,
fsica, informatica, entre outros, provavelmente abrangendo todas as a reas do conhecimento
humano.
Jelinek [1], de forma muito clara e precisa, define processos estocasticos de tempo discreto
sobre um espaco de estados tambem discreto e finito. Seja uma sequencia de variaveis estocasticas X0 X1 Xt XT , onde 0 t T representa uma ordenaca o discreta no
tempo, definidas para um mesmo espaco de estados discreto e finito. Se nada mais e dito, a
probabilidade conjunta dessas variaveis estocasticas e dada pela formula de Bayes:
P (X0 X1 XT ) =

T
Y

P (Xt |X0 X1 Xt1 )

(2.1)

t=0

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


Um processo estocastico, tal como descrito pela equaca o 2.1, e dito Markoviano de grau 1 se
satisfaz a seguinte propriedade:
P (Xt |X0 X1 X2 Xt1 ) = P (Xt |Xt1 ),

(2.2)

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


desse processo evoluir para um estado qualquer do espaco de amostras no instante seguinte e
dependente u nica 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, de Xt1
para Xt , depende apenas do estado de origem desse passo, Xt1 . Essa propriedade e conhecida
como Markov property, ou propriedade de Markov, em traduca o literal.
Assim, em se tratando de processos Markovianos de grau 1, a equaca o 2.1 passa a ter a

seguinte forma:
P (X0 X1 XT ) =

T
Y

P (Xt |Xt1 )

(2.3)

t=0

= 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 restrica o, trata-se apenas de uma forma de simplificar os
calculos para chegar mais rapidamente a` definica o de Cadeias de Markov, objetivo dessa seca o.
Assim, se desejado for, essas equaco es podem ser modificadas para representar a probabilidade
conjunta e probabilidade condicional (de transica o) para o caso de processos em espaco e tempo
contnuos, assim como para processos em espaco de estados discreto e tempo contnuo.

2.1 Definica o
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 contnuo. Reichl [2] restringe o termo para contemplar apenas
processos Markovianos em espacos de estados discretos a tempos discretos. Independentemente
de qual das definico es e mais correta, optou-se aqui por tratar apenas de Cadeias de Markov de
tempo discreto.
Nesse trabalho, ainda sao feitas restrico es adicionais quanto a` forma da matriz de transica o.
Trataremos apenas de matrizes de transica o regulares e daremos preferencia a` s homogeneas.
e aquela que guarda em suas celulas as probabilidades de transica o
Matriz de transica o, A,
definidas para um espaco de estados, sendo que essas probabilidades podem ou nao variar com
= A,
ou seja, se a matriz e estacionaria,
o tempo. Dizemos que essa matriz e homogenea se A(t)
tendo probabilidades de transica o independentes do tempo.
De acordo com Reichl [2], a matriz A sera regular se todos os elementos de alguma potencia
AN , N inteiro, forem nao-nulos. Cadeias de Markov governadas por matrizes de transica o regulares sao ditas ergodicas, isto e , todos os estados sao atingveis atraves de sucessivas transico es.
Sistemas ergodicos tendem a` estacionariedade apos algum tempo, ou seja, a distribuica o de
probabilidade nos estados passa a ser constante.
1

Processos Markovianos sao aqueles para os quais a propriedade de Markov e satisteita, ou seja, a probabilidade

de um passo depende unicamente do estado atual do sistema.

Como lembra Trivedi [10], dizer que uma matriz de transica o chegou a` sua forma estacionaria, ou homogenea, nao e o mesmo que dizer que o sistema alcancou estacionariedade.
Como vimos, a estacionariedade da matriz diz respeito a` s probabilidades de transica o, enquanto que a estacionariedade do processo diz respeito a` probabilidade conjunta das variaveis
estocasticas.
Sejam
1. Um espaco de estados S = {s1 , s2 , s3 , , sN }
2. Uma variavel estocastica X a assumir valores do espaco de estados S em diferentes instantes de tempo
= {i }, tal que i =
3. Uma distribuica o de probabilidade inicial para cada estado
P (X0 = Si )
4. Uma distribuica o de probabilidade de transica o entre estados A = {aij }, tal que aij =
P (Xt = sj |Xt1 = si )
As probabilidades de transica o definidas pela matriz A possuem as seguintes propriedades:
aij 0
N
X
j=1

aij =

N
X

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

(2.4)
(2.5)

j=1

A propriedade 2.4 determina que as probabilidades de transica o sao todas maiores ou iguais a
zero. A propriedade 2.5, por sua vez, mostra que resulta em um a soma das probabilidades de
todas as transico es partindo do estado si para os estados definidos no espaco de estados S.
Como visto anteriormente, a equaca o 2.3 decorre da propriedade de Markov e, portanto,
tambem vale para Cadeias de Markov. Considere, entao, essa equaca o para a probabilidade
conjunta das variaveis estocasticas X0 , X1 , X2
P (X0 X1 X2 ) = P (X0 )P (X1|X0 )P (X2 |X1 ).

(2.6)

Ao aplicarmos um somatorio sobre a variavel estocastica X1 , obtemos a probabilidade conjunta


de X0 , X2
P (X0 X2 ) = P (X0)

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

(2.7)

X1

Se dividirmos a equaca o resultante por P (X0 ), obteremos a probabilidade condicional, P (X2 |X0 ),
do sistema ocupar um determinado estado no instante t = 2 sendo que ocupou algum outro estado no instante t = 0. A equaca o 2.8, conhecida como equaca o de Chapman-Kolmogorov,
5

reflete esse raciocnio


P (X2 |X0 ) =

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

(2.8)

X1

A equaca o de Chapman-Kolmogorov evidencia a propriedade de Markov, pois a partir dela


fica clara a independencia entre passos sucessivos na evoluca o de um sistema governado por
uma cadeia de Markov. Em outras palavras, a probabilidade de transica o entre X1 e X2 nao e
afetada pelo fato de ter sido precedida pela transica o entre X0 e X1 . Ou, mais sucintamente,
passos sucessivos sao estatisticamente independentes, [2].
Redefinindo um dos termos da equaca o 2.8, temos:
ij
P (X2 = sj |X1 = si ) = aij = (A(t))

(2.9)

onde aij e um dos elementos da Matriz de Transica o, A(t).


Como dito anteriormente, no
decorrer desse estudo, daremos preferencia ao estudo de matrizes de transica o independentes
= A.
Entao, para A independente do tempo, temos:
do tempo, ou homogeneas: A(t)
ij = aij = P (X2 = sj |X1 = si )
(A)
= P (X1 = sj |X0 = si )
= P (Xt = sj |Xt1 = si ).

(2.10)

Assim, tendo uma matriz de transica o homogenea, podemos ampliar a equaca o de ChapmanKolmogorov, 2.8, para dar conta de um numero arbitrario de passos:
P (Xt = sj

Xt = s i ) =
X
=
P (X1 |Xt = si )P (X2 |X1 ) P (Xn |Xn1 )P (Xt = sj |Xn )
All6=(t||t )

= (At t )ij .

(2.11)

Com relaca o a` equaca o 2.11, o numero de termos no produto e o numero de passos desde
o instante t ate o instante t . A cada par de passos, soma-se sobre todos os possveis estados
intermediarios, como feito na equaca o 2.8, ate que a sequencia de passos seja completada. Isso
e equivalente a elevar a matriz de transica o A a` potencia (t t), que e justamente o numero
de passos, e escolher o valor guardado na celula (i,j) dessa nova matriz. Essa celula guarda a
probabilidade de sair do estado si e chegar ao estado sj em (t t) passos.

2.2 Modelo Markoviano do Tempo


Em seu artigo sobre HMM e suas aplicaco es em reconhecimento de fala, Rabiner [3] usa um
o timo exemplo para ilustrar a aplicaca o de Cadeias de Markov de forma simples. O exemplo
trata da modelagem do tempo no decorrer dos dias.
Assim, seja a variavel estocastica X, que representa o tempo e tem suas realizaco es definidas
no conjunto discreto {S1 = chuvoso, S2 = nublado, S3 = ensolarado}. Determina-se que
as observaco es sao feitas uma vez ao dia, que o resultado obtido sera sempre um u nico desses
tres estados possveis, sem combinaca o entre estados, e que as probabilidades de transica o entre
esses estados sao dadas pela matriz

a
a
a
11 12 13

A = {aij } = 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-chuvosoensolarado-nublado-ensolarado? Mais formalmente, definimos a sequencia de observaca o
O = {X0 = S3 , X1 = S3 , X2 = S3 , X3 = S1 , X4 = S1 , X5 = S3 , X6 = S2 , X7 = S3 }.
Queremos obter a probabilidade de O, 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 104
onde a notaca o
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 probabilidade dele permanecer nesse estado por exatamente d dias? Essa probabilidade pode ser
7

avaliada como sendo a probabilidade da sequencia de observaca o


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

d+1

dado o modelo, a qual e


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

(2.13)

A quantidade pi (d) e a densidade de probabilidade de duraca o d no estado i. Essa duraca o


exponencial e caracterstica do tempo de permanencia em um estado numa Cadeia de Markov.
A partir de pi (d) podemos calcular o numero medio de observaco es subsequentes em um dado
estado, condicionado ao fato desse ter sido o estado inicial
di =
=

d=1

d(pi (d))

(2.14)

d((aii )d1 (1 aii )) =

d=1

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 e 2.5 e de dias chuvosos e 1.67.

Modelos Ocultos de Markov

No final da decada de 1960, Leonard E. Baum e colaboradores publicaram uma serie de artigos lancando as bases para o formalismo de Modelos Ocultos de Markov (Hidden Markov
Models - HMM)1 . As primeira aplicaco es dessa modelagem estavam voltadas para o reconhecimento 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 de HMM. 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 captulo 2, sobre Cadeias de Markov. Ao verificar a condica o 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 Markovianos que geram observaveis de forma indireta, em funca o das transico es entre os estados da
cadeia de Markov que governa o processo, mas que nao pode ser diretamente observada. Em
outras palavras, a evoluca o da cadeia de Markov esta escondida do observador. Em comparaca o
a` proposta anterior de modelagem do tempo por Cadeias de Markov, uma possvel modelagem
em HMM poderia tratar da observaca o do comportamento de um trabalhador em sua forma de
transporte ao trabalho. Esse trabalhador se locomove de bicicleta ou taxi em funca o 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
1

Hidden Markov Models aparece na literatura sob diversos nomes, tais como Hidden Markov Processes, Mar-

kov Sources, Hidden Markov Chains, Probabilistic Functions of Markov Chains.


2
Observavel, no contexto desse trabalho, e algo que pode ser observado. Para ilustrar, ao jogar uma moeda para
cima, obteremos como resultado da observaca o um dos dois possveis observaveis: cara ou coroa.

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 dos processos Markovianos a
observaca o e direta, pois os observaveis sao os proprios estados, em HMM a observaca o e
indireta, feita por inferencia, pois os observaveis sao funco es probabilsticas dos estados da
Markov ou das transico es entre esses estados.

3.1 Definica o
No contexto desse trabalho, Modelos Ocultos de Markov sao definidos como modelos Markovianos onde a observaca o da evoluca o do sistema se da de forma indireta, como funca o probabilstica da transica o entre os estados definidos num espaco de estados discreto e finito. Por
mais que conhecamos todos os parametros do modelo3 , continua oculta a evoluca o 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 observaca o.
Sejam
1. Um espaco de estados S = {s1 , s2 , s3 , , sN }
2. Um conjunto de observaveis Y = {y1 , y2 , y3, , yM }
3. Uma variavel estocastica Q a assumir valores do espaco de estados S em diferentes instantes de tempo
4. Uma variavel estocastica O a assumir valores do conjunto de observaveis Y em diferentes
instantes de tempo
5. Uma distribuica o de probabilidade inicial para cada estado = {i }, tal que i =
P (q0 = si )
6. Uma distribuica o de probabilidade de transica o entre estados A = {aij }, tal que aij =
P (qt = sj |qt1 = si )
= {bij (k)}, tal que bij (k) = P (Ot =
7. Uma distribuica o de probabilidade de observaca o B
yk |qt1 = si , qt = sj ) associada a transico es do estado si para o estado sj
3

B,
) que definem o modelo, onde
Sao chamados parametros do modelo o conjunto de valores = (A,

e o vetor de probabilidade inicial de cada estado da Markov oculta, A e a matriz que define as probabilidades de
e a matriz de probabilidade de emissao de observaveis.
transica o entre esses estados e B

10

Jelinek [1] cita tres possveis definico es para o formalismo de Modelos Ocultos de Markov. A
primeira delas, adotada pelo proprio autor, trata dos observaveis como funca o das transico es entre os estados da Markov oculta. Outra definica o, adotada por Rabiner [3], trata dos observaveis
como funca o dos proprios estados da Markov. A terceira definica o, muito usada em modelos
acusticos, remove a restrica o quanto a` finitude de Y.
Em se tratando de mais uma variante de processos Markovianos, onde trabalhamos com uma
cadeia de Markov que esta escondida do observador, todas as equaco es 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 relaco es entre os estados, suas transico es
e os observaveis gerados.

(a) Cadeia de Markov de 3 estados

(b) HMM de 3 estados e observaveis

(c) HMM e observaveis para cada

y {0, 1}

transica o

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
transico es nao sao mostradas em (a), significando que a21 = a22 = a33 = 0. A HMM correspondente, de tres estados e observaveis y {0, 1}, pode ser vista em (b). Em (c) temos
a representaca o da HMM evidenciando os observaveis gerados em funca o da ocorrencia de
transico es 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 artifcio grafico para nos ajudar na compreensao de
HMM. Esse artifcio e conhecido como trellis4. Ele auxilia no calculo da probabilidade de uma
sequencia de observaveis P (y1 y2 yk ), colocando em evidencia a evoluca o temporal do
processo gerador dessa sequencia. O trellis consiste na concatenaca o de estagios elementares
4

Trellis, do ingles, significa trelica, um gradeado para plantas trepadeiras. No contexto desse trabalho, trellis

e um artifcio grafico para entender a dinamica de transico es entre os estados da Markov, de momento a momento.
Apesar da existencia de uma traduca o para o portugues, no decorrer do texto, opta-se pelo uso do termo em ingles.

11

atribudos, um a um, a cada observavel. Esses estagios, ilustrados na Figura 3.2 mostram as
transico es entre os estados da Markov que poderiam gerar aquele observavel especfico.

Figura 3.2. Dois estagios


do trellis, correspondendo ao HMM binario
da Figura 3.1 (Fonte:
Jelinek [1])

Voltaremos ao trellis varias vezes no decorrer desse estudo, como forma de ilustrar os problemas canonicos de HMM, abordados no captulo 4, cujas resoluco es sao fundamentais na
calibraca o de modelos criados com base no formalismo de Modelos Ocultos de Markov.

12

Problemas Canonicos

Por definica o [11], a modelagem de um sitema fsico 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 dado sistema. Tendo isso em
mente, poderamos tratar o processo de modelagem como sendo composto de duas etapas:
a definica o dos parametros do modelo e o ajuste do mesmo pela resoluca o 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 fino de um modelo, sao os seguintes:
Problema 1: Probabilidade de uma Sequencia de Observaveis
B,
) e a sequencia de observaveis O = O1 O2 OT .
Sejam o modelo = (A,
Como calcular de forma eficiente a probabilidade dessa sequencia ser gerada
pelo modelo, P (O|)?

Problema 2: Sequencia Otima


de Estados
B,
) e a sequencia de observaveis O = O1 O2 OT .
Sejam o modelo = (A,
Dentre as diversas sequencias de estados que poderiam ter gerado essa
sequencia de observaveis, qual e a mais provavel?
Problema 3: Maximizaca o da Probabilidade de uma Sequencia de Observaveis
B,
) do modelo para maximizar
Como ajustamos os parametros = (A,
P (O|)?
1

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

nos Laboratorios Bell.

13

4.1 Soluca o do Problema 1


Sejam os parametros do modelo e a sequencia de observaveis
B,
);
= (A,

(4.1)

O = O1 O2 OT .

(4.2)

Queremos calcular P (O|), a problabilidade de gerar a sequencia O a partir desse modelo. A


maneira mais direta de realizar esse calculo parte da identificaca o de cada sequencia de estados
Q que possa gerar O. Usando o jargao da a rea, essa seria a resoluca o a` forca 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 resoluca o
mais direta.
Para simplificar os calculos, consideramos que cada transica o entre estados qt1 e qt gera um
observavel Ot . Uma simplificaca o adicional e feita ao considerar que, alem de ser ergodico, o
sistema tem a caracterstica especial de que aqt1 qt > 0, t, ou seja, transico es estao previstas
entre quaisquer pares de estados do modelo.
Dadas essas consideraco es, suponha que O 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. Assim, q0 significa o estado da Markov no instante t = 0, ou simplesmente o estado inicial. A
probabilidade de Q e dada por
P (Q|) = q0 aq0 q1 aq1 q2 aqT 1 qT

(4.4)

Assumindo que as observaco es sao estatisticamente independentes entre si2 , podemos escrever
P (O|Q, ) =

T
Y

P (Ot |qt1 , qt , )

(4.5)

t=1

de onde segue que

P (O|Q, ) = bq0 q1 (O1 ) bq1 q2 (O2 ) bqT 1 qT (OT ).


2

(4.6)

A rigor, HMM nao restringe quanto a` natureza da relaca o entre os observaveis em uma sequencia, podendo as

observaco es ser ou nao estatisticamente independentes, [1].

14

Dessas equaco es, podemos escrever a probabilidade conjunta de O e Q


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

(4.7)

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


P (O|) =

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

allQ

X
allQ

q0

T
Y

aq(t1) qt bq(t1) qt (Ot )

(4.8)

t=1

q0 aq0 q1 bq0 q1 (O1 ) aq1 q2 bq1 q2 (O2 ) aq(T 1) qT bq(T 1) qT (OT ) (4.9)

q0 q1 q2 qT

Para entender o significado dessa equaca o, considere uma u nica sequencia de estados Q. A
probalididade da Markov ocupar um dos N possveis estados no instante t = 0 e dada por q0 .
Em t = 1, o sistema sofre transica o do estado q0 para o estado q1 , gerando o observavel O1 ,
de acordo com as propabilidades de transica o e de observaca o, aq0 q1 e bq0 q1 (O1 ), respectivamente. Esse procedimento se repete ate t = T . Tendo calculado a probabilidade para uma
dada sequencia Q, passa-se a` proxima, dentre as sequencias restantes. A soma sobre todas as
sequencias resulta na probalididade do modelo gerar a sequencia O de observaveis.
O ndice numerico 0 t T tambem pode ser visto como uma coluna do trellis, onde q0
e o estado da Markov na coluna 0 do trellis, q1 e o estado da Markov na coluna 1, e assim por
diante. Na transica o entre duas colunas do trellis, um observavel e emitido. Essa dinamica e
mostrada nas Figuras 4.1 e 4.2 para a sequencia de observaca o {0 1 1 0}, referente ao exemplo
apresentado em captulo anterior para o caso de uma Markov de 3 estados, gerando observaveis
y {0, 1} (ver Figura 3.1 para mais detalhes).

Figura 4.1. Trellis para a sequencia


de observaveis
0 1 1 0 relativa a` Figura 3.1 (Fonte:
Jelinek [1])

15


Figura 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])

Da equaca o 4.9, observamos que existem N T sequencias Q de T posico es feitas a partir de N


estados. Assim, ha N T termos no somatorio dessa equaca o, o que implica em N T 1 adico es.
Tambem existem T operaco es de multiplicaca o entre os termos aqt1 qt bqt1 qt (Ot ), sendo que
1 t T , e sao T 1 as multiplicaco es entre esse conjunto de termos e seus correlatos, desde
aq0 q1 bq0 q1 (O1 ) ate aqT 1 qT bqT 1 qT (OT ). Assim, sao (2T 1) multiplicaco es em cada termo
do somatorio, totalizando (2T 1) N T multiplicaco es. Portanto, a resoluca o da equaca o 4.9
envolve um total de 2T N T 1 operaco es. Esse calculo talvez nao seja computacionalmente
impossvel, mas certamente e muitssimo oneroso. Como exemplo, considere um sistema com
N = 5 estados e uma sequencia de T = 100 observaveis. Para esse exemplo, a resoluca o de
4.9 envolve 2 100 5100 1072 operaco es.
Contudo, como frisa Rabiner [3], existe um procedimento muito mais eficiente para resolver o Problema 1. Esse algoritmo e conhecido como forward-backward procedure, do qual
precisamos apenas da parte forward, por enquanto3 .
4.1.1

Algoritmo Forward-Backward

Considere a variavel forward, definida como


t (i) = P (O1 O2 Ot , qt = Si |)

(4.10)

isto e , a probabilidade da observaca o parcial da sequencia de observaveis, de O1 ate Ot , conjunta com a probabilidade de ocupaca o do estado Si da Markov no instante t. Como estamos
3

O algoritmo completo sera usado na resoluca o do Problema 3.

16

trabalhando com sequencias em funca o do tempo, podemos dizer que trabalhamos com conjuntos ordenados de eventos, o que nos permite assumir, por induca o, que t (i) vale para qualquer
instante de tempo dentro dos limites do problema, 0 t T . Assim, resolvemos o Problema
1 pela aplicaca o do seguinte procedimento:
1. Inicializaca o:
0 (i) = i ,

1iN

(4.11)

2. Induca o:
t+1 (j) =

N
X

t (i)aij bij (Ot+1 ),

0tT 1

(4.12)

i=1

1jN

3. Finalizaca o:
P (O|) =

N
X

T (i)

(4.13)

i=1

A figura 4.3 ilustra a situaca o.

da parte forward do algoritmo forward-backward (Fonte: Rabiner [3])


Figura 4.3. Ilustracao

A Induca o e a parte mais importante desse procedimento, entao vamos tentar compreendela. O termo t (i) e a probabilidade conjunta da
observaca o parcial O = O1 O2 Ot ;
ocupaca o do estado qt = Si .
Ao multiplicar aij e por bij (Ot+1 ) estamos calculando a probabilidade conjunta de
17

transica o do estado qt = Si para o estado qt+1 = Sj ;


emissao do observavel Ot+1 em consequencia da transica o aij .
Multiplicando, entao, os termos t (i), aij e bij (Ot+1 ), e somando sobre todos os estados 1
i N, obtemos a probabilidade conjunta de
observaca o parcial O = O1 O2 Ot ;
ocupaca o do estado qt+1 = Sj , qualquer que tenha sido o estado no instante anterior;
emissao do observavel Ot+1 em consequencia de todas as transico es com destino a qt+1 =
Sj ;
que nada mais e do que a o valor de t+1 (j) (equaca o 4.12).
Para finalizar o procedimento, faz-se o somatorio de T (i) sobre todos os estados 1 i N.
Isso faz todo o sentido quando analisamos a definica o da variavel forward por ocasiao do u ltimo
instante de observaca o T :
T (i) = P (O1 O2 OT , qT = Si |)

(4.14)

Essa equaca o nada mais e do que a probabilidade conjunta da sequencia completa de observaca o
com a probabilidade de ocupar o estado Si no instante T . Dessa forma, ao somarmos a equaca o
B,
)
4.14 sobre todos os estados, obtemos a probabilidade de que um dado modelo = (A,
gere a sequencia de observaveis O = O1 O2 OT , ou seja, obtemos 4.13.
O procedimento inteiro, ate a obtenca o da equaca o 4.13, envolve 2N 2 T multiplicaco es e
(N 1)NT adico es, totalizando (3N 1)NT operaco es4 . Nesse momento, cabe comparar a
eficiencia desse procedimento com relaca o ao anterior. Para tal, usamos o mesmo exemplo, com
espaco de estados N = 5 e uma sequencia de T = 100 observaveis. Enquanto que o metodo
de resoluca o por forca bruta envolve aproximadamente 1072 operaco es, a parte forward do
procedimento forward-backward precisa de 7000 operaco es, uma diferenca de 1069 ordens de
grandeza. Com esse exemplo, nao ha o que discutir sobre a superioridade do forward-backward
nas resoluca o do Problema 1.
4

No procedimento original, encontrado no artigo [3], de Rabiner, a parte Indutiva e dada pela equaca o
i
hP
N
o es, dando um total de 2N 2 T
t+1 (j) =

(i)a
ij bj (Ot+1 ), o que resulta (N + 1)N T multiplicac
i=1 t

operaco es. Assim, para N = 5 e T = 100, seriam 5000 operaco es quando o observavel e gerado em funca o
do estado, contra as 7000 operaco es quando o observavel e gerado em funca o da transica o entre estados.

18

Considere agora a variavel backward, definida como


t (i) = P (Ot+1 Ot+2 OT |qt = Si , ),

(4.15)

ou seja, a probabilidade conjunta de a Markov estar no estado Si no instante t com a probabilidade da observaca o parcial, Ot+1 Ot+2 OT , nos instantes subsequentes a t. A parte
backward do procedimento forward-backward e muito semelhante ao que acabamos de ver para
a parte forward. Logo, por analogia, segue:
1. Inicializaca o:
T (i) = 1,

1iN

(4.16)

2. Induca o:
t (i) =

N
X

aij bij (Ot+1 )t+1 (j),

(4.17)

j=1

t = T 1, T 2, , 0
1iN

Rabiner [3] nao apresenta uma finalizaca o para esse procedimento, contudo, se assumirmos
que o modelo tem um determinado estado inicial, Si , com probabilidade P (Si) = 1, podemos
dizer que o que buscamos calcular e justamente 0 , que e a probabilidade da sequencia completa
de observaca o, dado que o estado inicial foi q0 = Si :
0 (i) = P (O1 O2 OT |q0 = Si , )

(4.18)

A figura 4.4 ilustra a situaca o.


De acordo com Jelinek [1], a inicializaca o apresentada nesse procedimento trata-se de uma
questao de convenca o. Para facilitar a compreensao, vamos desenvolver os primeiros termos
desse procedimento. Assim:

T 1 (j) =

N
X
k=1

T 2 (i) =

ajk bjk (OT ) T (k) =


| {z }
1

N
X

N
X

ajk bjk (OT )

(4.19)

k=1

aij bij (OT 1)T 1 (j)

(4.20)

j=1

N
X
j=1

"

aij bij (OT 1)

N
X
k=1

19

ajk bjk (OT )

(4.21)

da parte
Figura 4.4. Ilustracao

backward do algoritmo forward-backward (Fonte: Rabiner

[3])

Assumindo que as observaco es sao independentes, podemos escrever:


" N
# " N N
#
X
XX
T 2 (i) =
aij bij (OT 1 )
ajk bjk (OT )
j=1

(4.22)

j=1 k=1

{z

P (OT 1 |qT 2 =Si )

} |

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

{z

P (OT )

(4.23)

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

4.2 Soluca o do Problema 2


Esse e o problema de achar a sequencia o tima de estados associada a` sequencia de observaveis. Rabiner [3] defende que a dificuldade nesse problema e a de se estabelecer um
criterio de otimizaca o, dentre varios que possam existir. Assim, a resoluca o do Problema 2
poderia se dar de diferentes formas, indicando diferentes sequencias supostamente o timas, tudo
em funca o do criterio de otimizaca o escolhido. Ja Jelinek [1] nem entra nesse merito, passando
direto ao estudo do algoritmo de Viterbi (seca o 4.2.1).
Para ilustrar a dificuldade na escolha do criterio de otimizaca o, num primeiro momento,
Rabiner [3] resolve o problema adotando o seguinte criterio: a cada instante t escolhe-se o
estado individualmente mais provavel. No desenvolvimento dessa soluca o, Rabiner [3] usa as
definico es das partes do algoritmo forward-backward, como veremos adiante. Agora considere
a definica o da seguinte variavel:
t (i) = P (qt = Si |O, ).
20

(4.24)

B,
) e uma sequencia
Por definica o, t (i) e a probabilidade de que, dado um modelo = (A,
completa de observaveis O1 O2 OT , o sistema tenha ocupado o estado Si no instante t.
Essa equaca o pode ser posta em termos das variaveis forward e backward vistas na seca o 4.1.1:
t (i) =

t (i)t (i)
t (i)t (i)
= PN
P (O|)
i=1 t (i)t (i)

Como cita Rabiner [3], o fator de normalizaca o P (O|) =


medida de probabilidade, tal que
N
X

PN

i=1

(4.25)
t (i)t (i) faz de t (i) uma

t (i) = 1

(4.26)

i=1

Assim, descobrimos o estado qt individualmente mais provavel no instante t atraves da busca


pelo argumento i que retorna o maior valor de t (i) naquele instante (equaca o 4.25):
qt = argmax [t (i)] ,

0tT

(4.27)

1iN

Contudo, obter o estado mais provavel no instante t 1 para, em seguida, obter o estado mais
provavel no instante t nao e garantia de termos a sequencia parcial {qt1 = Si , qt = Sj } mais
provavel, pois pode acontecer que a transica o entre Si e Sj nao esteja prevista. Assim, Rabiner
[3] explica que essa soluca o 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, tiver aij > 0, 1 i, j N. Parece ser, entao, mais simples passar direto
a` resoluca o pelo algoritmo de Viterbi (abordagem adotada por Jelinek [1]), pois ele comtempla
apenas transico es possveis, 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 aplicaco es, e uma soluca o o tima 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 resoluca o do Problema 2 e 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
observaca o O = O1 O2 OT , ou mais formalmente, maximizar P (Q|O, ) e equivalente a
21

maximizar P (Q, O|), pois ambas as operaco es de maximizaca o vao devolver a sequencia de
estados mais provavel.
Seja, entao, a seguinte definica o:
t (j) =

max P [q1 q2 qt = Sj , O1 O2 Ot |q0 = Si , ]

q1 q2 qt1

(4.28)

ou seja, t (j) guarda a probabilidade do caminho (ou sequencia de estados) mais provavel que
leva ao estado Sj no instante t, gerando os primeiros t observaveis.
Por induca o, temos:
t+1 (k) = max [t (j) ajk bjk (Ot+1 )]
j

(4.29)

Para guardar a sequencia de estados, usamos um vetor auxiliar t (k) que guarda em cada
posica o t o ndice j do estado qt1 = Sj que maximiza a sequencia ate o estado qt = Sk .
O procedimento completo e mostrado a seguir:
1. Inicializaca o:
1 (j) = aij bij (O1 ),

1jN

1 (j) = 0

(4.30)
(4.31)

2. Induca o:
t (k) = max [t1 (j) ajk bjk (Ot )] ,
1jN

2tT

(4.32)

1kN
t (k) = argmax [t1 (j) ajk ] ,

2tT

(4.33)

1jN

1kN
3. Finalizaca o:
P = max [T (k)]

(4.34)

qT = argmax [T (k)]

(4.35)

1kN

1kN

4. Recriaca o do Caminho (sequencia de estados):

qt = {t+1 , {qt+1
}},

t = T 1, T 2, , 1

22

(4.36)

(a) HMM e observaveis para cada

(b) Trellis com a sequencia mais provavel de estados

transica o

do algoritmo de Viterbi (Fonte: Jelinek [1])


Figura 4.5. Trellis para a representacao

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 sequencia O 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 explicaco es formais para cada uma das equaco es que compoem o algoritmo de Viterbi, vamos explicar informalmente, atraves do uso do trellis, como funciona esse
algoritmo.
Para facilitar, useremos a notaca o (estado)coluna para indicar em que coluna esta o estado
do qual falamos. Nao vamos recriar as sequencias que levam aos tres estados da u ltima coluna
do trellis, e sequer vamos calcular uma sequencia completa. Para ilustrar o metodo, basta nos
atermos ao estado 22 .
Assim, dois possveis caminhos levam a 22 , sao eles: {1 1 2} e {1 3 2}. O estado 11 so pode
ter sido precedido pelo estado 10 , entao atribumos peso 1 a essa transica o; enquanto que o
estado 31 pode ter sido precedido tanto por 10 quanto por 20 , assim, atribumos peso 0.5 a
cada uma dessas transico es. O estado 22 pode ter sido precedido tanto por 11 quanto por 31 , e
mais uma vez atribumos peso 0.5 a cada uma das transico es. Se multiplicarmos esses pesos,
teremos o valor 0.25 para a sequencia parcial {1 3 2} e o valor 0.5 para a sequencia parcial
{1 1 2}, fazendo desta u ltima 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 provavel, basta seguir o procedimento

23

recem explicado e obteremos probabilidades iguais para as duas primeiras sequencias, sendo
que a u ltima e menos provavel que as anteriores. O algoritmo de Viterbi resolve esse problema
escolhendo arbitrariamente uma dentre as duas sequencias igualmente provaveis.

4.3 Soluca o do Problema 3


Rabiner [3] menciona que, dentre os tres Problemas Canonicos, este e de longe o mais difcil
B,
) que
de resolver, pois nao existe metodo analtico que permita obter os parametros = (A,
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 como algoritmo de
Baum, Baum-Welch ou algoritmo forward-backward. Passemos entao ao metodo.
4.3.1

Algoritmo de Baum-Welch

Considere a seguinte definica o5 :


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

(4.38)

ou seja, t (i, j) e a probabilidade conjunta de estar no estado Si no instante t e no estado Sj


B,
) e a sequencia de treinamento O. Essa
no instante t + 1, dado o modelo inicial = (A,
variavel pode ser expressa em termos das variaveis forward (equaca o 4.10) e backward (equaca o
4.15), tomando a seguinte forma:
P (qt = Si , qt+1 = Sj , O|)
P (O|)
t (i) aij bij (Ot+1 ) t+1 (j)
P (O|)
t (i) aij bij (Ot+1 ) t+1 (j)
(4.39)
PN PN
j=1 t (i) aij bij (Ot+1 ) t+1 (j)
i=1

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


=
=
5

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

[3].

24

Agora, facamos o somatorio da equaca o 4.39 sobre o ndice j, 1 j N:


N
X

t (i, j) =

j=1

N
X
t (i) aij bij (Ot+1 ) t+1 (j)

P (O|)

j=1

=
=

t (i)

hP
N

j=1 aij bij (Ot+1 ) t+1 (j)

P (O|)

t (i) t (i)
P (O|)

i
(4.40)

A Figura 4.6 ilustra a situaca o.

do algoritmo
Figura 4.6. Ilustracao

do Problema 3
forward-backward aplicado a` solucao

(Fonte: Rabiner [3])

A parte entre colchetes na equaca o 4.40 e exatamente a equaca o 4.17, relativa a` variavel
backward no instante t. Logo, a equaca o 4.40 se iguala a` equaca o 4.25, apresentada durante
a resoluca o do Problema 2, que define t (i) em funca o das variaveis forward e backward.
Portanto,
t (i) =

N
X

t (i, j)

(4.41)

j=1

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


numero de vezes que o estado Si e visitado em todo esse perodo. Se quisermos saber o numero
de transico es a partir de Si , basta levar o somatorio ate o instante T 1. Analogamente, ao
fazer o somatorio de t (i, j) ate T 1, obtemos a estimativa do numero de vezes que ocorreram

25

transico es entre os estados qt1 = Si e qt = Sj . Formalmente:


T 1
X

t (i) = numero esperado de transico es a partir de Si

(4.42)

t (i, j) = numero esperado de transico es de Si para Sj

(4.43)

t=0
T
1
X
t=0

Usando essas formulas, podemos usar o seguinte metodo para reestimar os parametros de um
modelo:
i = numero esperado de vezes no estado q0 = Si = 1 (i)
(4.44)
numero esperado de transico es do estado Si para o estado Sj
a
ij =
numero esperado de transico es a partir do estado Si
PT 1
t (i, j)
= Pt=0
(4.45)
T 1

(i)
t
t=0
n
u
mero
esperado de transico es entre os estados (i,j) e observaco es do smbolo yk
bij (k) =
numero esperado de transico es entre os estados (i,j)
PT
t=0 t (j)
=

s.t.Ot =yk
PT
t=0 t (j)

(4.46)

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

= (A,
os parametros do novo modelo,
B,
), foi provado por Baum e seus colegas que
= , o que significa que define um ponto crtico da funca o de probabilidade e,
1. ou
portanto, o modelo e aquele que maximiza a sequencia de observaca o;
e mais provavel que , pois P (O|)
> P (O|), significando que achamos um novo
2. ou
de onde e mais provavel que a sequencia de observaca o O tenha sido gerada.
modelo, ,
= .
Esse processo e executado iterativamente, quantas vezes forem necessarias, ate que

26

Consideraco es Finais

Esse trabalho tratou das bases do formalismo de Modelos Ocultos de Markov (Hidden Markov 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 modelagem em HMM. Logo apos, apresentou-se a definica o de HMM, seguida da apresentaca o
dos problemas canonicos que, uma vez resolvidos, permitem fazer os devidos ajustes para
finalizaca o 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 possveis sequencias
de estados na Markov embutida, aquela que tivesse a maior probabilidade de gerar uma determinada sequencia; o u ltimo problema buscava novos parametros para o modelo, tentando elevar
a probabilidade de geraca o 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 estados e no tempo. Outras restrico es foram quanto a` forma da matriz de transica o, pois atacamos
apenas matrizes estacionarias, regulares e, na sua grande maioria, homogeneas; quanto a` finitude do espaco de observaveis e a` independencia entre observaco es. Ainda, nao consideramos
nesse trabalho a probabilidade de transico es entre estados da Markov nao emitirem observaveis.
Essas simplificaco es sao justificadas por esse se tratar de um trabalho de carater introdutorio ao
assunto.
Em trabalhos futuros, pretendemos expandir o conceito com o objetivo de criar modelos
mais realistas, eliminando as restrico es acima enumeradas e aplicando a problemas de interesse.
Dentre as atividades planejadas para a continuaca o desse estudo, esta a identificaca o 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

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):257286, 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):10351074, 1983.
[5] B. H. Juang. On the hidden markov model and dynamic time warping for speech recognition - a unified view. The Bell System Technical Journal, 63(7):12131243, 1984.
[6] L. R. Rabiner and B. H. Juang. An introduction to hidden markov models. IEEE ASSP
Magazine, 3(1):416, 1986.
[7] J. S. Bridle. Stochastic models and template matching: some important relationships
between two apparently different techniques for automatic speech recognition. In Proceedings of the Institute of Acoustics (Autumn Conference), pages 18, 1984.
[8] J. Makhoul, S. Roucos, and H. Gish. Vector quantization in speech coding. Proceedings
of the IEEE, 73(11):15511588, 1985.
[9] S.E. Levinson. Structural methods in automatic speech recognition. Proceedings of the
IEEE, 73(11):16251650, 1985.
[10] G. Bolch, S. Greiner, H. de Meer, and K. S. Trivedi. Queueing Networks and Markov Chains: Modeling and Performance Evaluation with Computer Science Applications.
John Wiley & Sons, second edition, 2006.
28

[11] Oxford. Dictionary of Physics. Oxford University Press, fourth edition, 2000.
[12] G. D. Forney. The viterbi algorithm. Proceedings of the IEEE, 61(3):268278, 1973.

29

Das könnte Ihnen auch gefallen