Beruflich Dokumente
Kultur Dokumente
Faculdade de Informatica
Pos-Graduaca o em Ciencia da Computaca o
Introduca o a` Pesquisa I
Porto Alegre, junho de 2009
Sumario
LISTA DE FIGURAS
ii
Captulo 1: Introduca o
2.1
Definica o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2
Definica o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . . . . . . . . . . . . . . .
27
REFERENCIAS
BIBLIOGRAFICAS
28
Lista de Figuras
3.1
3.2
4.1
12
4.2
11
15
16
4.3
4.4
20
4.5
23
4.6
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
(2.1)
t=0
(2.2)
seguinte forma:
P (X0 X1 XT ) =
T
Y
P (Xt |Xt1 )
(2.3)
t=0
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
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)
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
(2.8)
X1
(2.9)
(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.
a
a
a
11 12 13
= 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)
d+1
(2.13)
d=1
d(pi (d))
(2.14)
d=1
1
.
1 aii
(2.15)
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-
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.
y {0, 1}
transica o
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.
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|)?
Rabiner [3] fundamenta essa abordagem nas ideias apresentadas por Jack Ferguson, do IDA, em apresentaco es
13
(4.1)
O = O1 O2 OT .
(4.2)
(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
(4.6)
A rigor, HMM nao restringe quanto a` natureza da relaca o entre os observaveis em uma sequencia, podendo as
14
(4.7)
P (O|Q, ) P (Q|) =
allQ
X
allQ
q0
T
Y
(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).
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])
Algoritmo Forward-Backward
(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
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
0tT 1
(4.12)
i=1
1jN
3. Finalizaca o:
P (O|) =
N
X
T (i)
(4.13)
i=1
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
(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
(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
(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)
T 1 (j) =
N
X
k=1
T 2 (i) =
N
X
N
X
(4.19)
k=1
(4.20)
j=1
N
X
j=1
"
N
X
k=1
19
(4.21)
da parte
Figura 4.4. Ilustracao
[3])
(4.22)
j=1 k=1
{z
} |
= P (OT 1 OT |qT 2 = Si )
{z
P (OT )
(4.23)
(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)
PN
i=1
(4.25)
t (i)t (i) faz de t (i) uma
t (i) = 1
(4.26)
i=1
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) =
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
qt = {t+1 , {qt+1
}},
t = T 1, T 2, , 1
22
(4.36)
transica o
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.37)
Algoritmo de Baum-Welch
(4.38)
[3].
24
t (i, j) =
j=1
N
X
t (i) aij bij (Ot+1 ) t+1 (j)
P (O|)
j=1
=
=
t (i)
hP
N
P (O|)
t (i) t (i)
P (O|)
i
(4.40)
do algoritmo
Figura 4.6. Ilustracao
do Problema 3
forward-backward aplicado a` solucao
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
25
(4.42)
(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