um estudo sobre modelos ocultos de markov hmm -hidden ... · modelos markovianos e cadeias de...
TRANSCRIPT
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
• 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
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
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
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
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
(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
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
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
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
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
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
[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