Modelos de Markov e Aplicações∗
Graçaliz P. Dimuro1 , Renata H. S. Reiser1 , Antônio C. R. Costa12 , Paulo L. R. Sousa3
1
2
Escola de Informática – Universidade Católica de Pelotas
Rua Felix da Cunha 412 – 96010-140 Pelotas, RS
Programa de Pós-Graduação em Computação – Universidade Federal do Rio Grande do Sul
Caixa Postal 15064 – 90501-970 Porto Alegre, RS
3
Mestrado em Saúde e Comportamento – Universidade Católica de Pelotas
Rua Felix da Cunha 412 – 96010-140 Pelotas, RS
{liz,reiser,rocha}@atlas.ucpel.tche.br
Abstract. This tutorial presents the basic concepts concerning Markov chains,
in particular, regular and absorbing chains. The principal concepts of Hidden Markov Models are also presented. Some applications of these models are
shown.
Resumo. Este tutorial apresenta os conceitos básicos das cadeias de Markov,
ressaltando principalmente, as cadeias regulares e as absorventes. Também
apresentam-se os principais conceitos sobre os modelos de Markov ocultos.
Exemplos ilustrativos foram incluı́dos, para mostrar as potencialidades de
aplicação destes modelos.
1. Introdução
Um processo de Markov é um processo estocástico cujo comportamento dinâmico é tal
que as distribuições de probabilidade para o seu desenvolvimento fututo depende somente
do estado presente, não levando em consideração como o processo chegou em tal estado.
Os processos markovianos são modelados formalmente por sistemas de transições
de estados, onde os estados são representados em termos de seus vetores probabilı́sticos,
que podem variar no espaço temporal (discreto ou contı́nuo), e as transições entre estados
são probabilı́sticas e dependem apenas do estado corrente.
Se o espaço de estados é discreto (enumerável), então o modelo de Markov é denominado de cadeia de Markov [17, 19]. As propriedades desses modelos são estudadas
em termos das propriedades das matrizes de transições de estados que são utilizadas na
sua descrição.
Existem processos de Markov que são modelados como aproximações do mundo
real, onde nem todos os estados são perfeitamente conhecidos. Nestes casos, diz-se que
o modelo é escondido, e a questão central em torno desses modelos é o grau com que são
capazes de capturar a essência do processo escondido sob eles.
∗
Este trabalho foi parcialmente financiado pela FAPERGS e CNPq.
O estudo dos modelos de Markov têm uma aplicação muito ampla em várias áreas,
como, por exemplo, ciências sociais, biológicas e administrativas. Os modelos de Markov
escondidos, que surgiram originalmente no domı́nio de reconhecimento da fala, atualmente têm sido empregados como modelos de computação natural – the so-called brain’s
programs [2], em trabalhos sobre visão computacional [4] e reconhecimento de manuscritos, de formas, gestos e expressões faciais, em biologia computacional, entre outros (veja
em http://www-sig.enst.fr/∼cappe).
Este tutorial é fruto dos estudos sobre os modelos de Markov, visando a sua
aplicação em processos de tomada de decisão, que está sendo desenvolvido junto ao Mestrado em Saúde Mental e Comportamento da UCPel.
2. Modelos de Markov
Uma modelo de Markov é um sistema de transições de estados, onde a probabilidade do
sistema estar em um certo estado futuro depende apenas do estado corrente do sistema.
Esta seção resume os principais conceitos básicos e propriedades desses modelos. As
provas das proposições e teoremas podem ser encontradas em [17, 19].
2.1. Cadeias de Markov
Um modelo de Markov onde o espaço de estados I é discreto é denominado de Cadeia de
Markov e é completamente descrito por sua matriz de transição de estados. Esta matriz
é dinâmica, pois permite que as probabilidades de transição se modifiquem em função do
tempo t, onde t é discreto.
Considere uma cadeia de Markov com N estados xn ∈ I e sejam xi , xj ∈ I.
Denota-se xi (t) para significar que o processo está no estado xi no tempo t.
Definição 1 Se pij é a probabilidade de transição do estado xi (t) para o estado xj (t+1),
então a matriz N × N , dada por
P = [pij ],
denomina-se matriz de transição de estados da cadeia de Markov.
Observa-se que, na Definição 1, a soma das linhas da matriz P deve ser sempre
igual a 1.
A matriz de transição também pode ser dada por um diagrama de transições de
estados. A Figura 1 mostra o diagrama de transições de estados para uma cadeia de
Markov com apenas 2 estados.
Proposição 1 Para t arbitrário, tem-se que:
(i) A probabilidade de transição do estado xi (t) para o estado xj (t + n) (em n passos) é
dada por pni,j ;
(ii) A matriz de transição de n passos, denotada por Pn , é calculada como a potência n
da matriz de transição P , isto é,
Pn = P n .
p 01
p 00
x1
x0
p 11
p 10
Figura 1: Diagrama da matriz de transições de estados de uma cadeia de Markov
de dois estados.
Para simular um processo de Markov, considerando um estado inicial x0 , pode-se
escolher um estado sucessor de acordo com as probabibilidades p0j , para j = 1, . . . , N ,
determinando um novo estado x1 . Repite-se o processo para gerar o próximo estado, e
assim sucessivamente. Devido à natureza probabilı́stica do modelo, cada ves que esta
simulação for repetida, é provável que uma sequência diferente de estados seja obtida
como resultado. Portanto, a única forma de analisar o proceso é manter o registro das
probabilidades de estar em um estado.
Definição 2 Seja Si (t) a probabilidade de que um processo de Markov esteja em um
estado xi no tempo t. Então o vetor


S1 (t)
 S2 (t) 


s(t) =  .. 
 . 
SN (t)
é denominado de vetor de distribuição de probabilidades de estado da cadeia de Markov
no tempo t.
Seja sT (0) a distribuição inicial do processo1 . A evolução do vetor de distribuição
é governada pela matriz de transição em t passos.
Proposição 2 Para qualquer tempo t, tem-se que
sT (t) = sT (0)Pt ,
onde Pt é calculada como em ?? e sT é o vetor transposto de s.
2.2. Cadeias Regulares
Considerando que o vetor de distribuição evolui no tempo, observa-se que há circunstâncias em que ocorre uma distribuição de probabilidade de equilı́brio v tal que
lim s(t) = v,
t→∞
independentemente da distribuição inicial s(0). Isto ocorre em processos de Markov denominados de regulares.
1 T
s é o vetor transposto de s.
Definição 3 Diz-se que um modelo de Markov é regular se sua matriz de transição inicial
P é regular, isto é, alguma potência de P contém somente entradas positivas.
Segue da Definição 3 que um processo de Markov é regular se, para algum t,
tem-se que Pt > 0. Isto significa que, em uma cadeia de Markov regular, todo estado é
acessı́vel a partir de outro, existindo um caminho de comprimento finito entre quaiquer
dois estados, possibilitando a comunicação entre todos os estados.
Seja wT = [w1 , w2 , . . . , wN ] um vetor de comprimento N . Diz-se que w é um
vetor probabiı́stico se w1 , w2 , . . . , wN ≥ 0 e w1 + w2 + . . . + wN = 1.
Teorema 1 Se um processo de Markov é regular, então exite único vetor probabilı́stico
v, denominado de distribuição de equilı́brio, tal que:
(i) v T P = v T ;
(ii) limt→∞ P t = P ∗ , onde P ∗ é formada por t linhas iguais a v T .
2.3. Cadeias Não-Regulares
Existem processos que podem apresentar estados que não acessı́veis a partir de algum
outro estado, isto é, a probabilidade de transição para tais estados é igual a zero. Além
disso, um estado de um processo de Markov finito poderá eventualemnte atingir um estado
de comunicação fechada, absorvente, cuja probabilidade é igual a 1.
Um estado xi de uma cadeia de Markov é denominado de estado absorvente se,
uma vez nesse estado, é impossı́vel sair dele, isto é, pii = 1. Segue que pij = 0, para
i 6= j.
Definição 4 Diz-se que uma cadeia de Markov é absorvente se ela apresenta um estado
absorvente e se de cada estado não absorvente é possı́vel ir para algum estado absorvente em algum tempo t, isto é, para cada estado não absorvente xi (t), existe um estado
absorvente xj (t + 1) tal que pij > 0, para algum t.
Observa-se que, e uma cadeia de Markov absorvente, o estado do sistema será
eventualemente um dos estados absorventes.
Dada uma cadeia de Markov com k estados absorventes, é possı́vel redistribuir
as linhas da matriz de transição P , de modo que os estados absorventes fiquem nas k
primeiras linhas. Com isso, um processo de Markon não regular pode ser sempre reorganizado em quatro submatrizes.
Definição 5 Seja P a matriz de transição de uma cadeia de Markov com k estados absorventes. Então:
(i) A matriz canônica da cadeia é dada por:
Ik
θ
∗
P =
Px→a Px→x
(ii) A matriz fundamental é obtida por:
F = [I − Px→x ]−1
(iii) A matriz de probabilidade de absorção é calculada como o produto:
A = F Px→a
onde Ik é uma matriz diagonal unitária k × k que representa os k estados absorventes,
θ é uma matriz nula, Ps→a representa as probabilidades de transição de qualquer estado
para todos os estados absorventes, Ps→s representa as probabilidades de transição entre
todos os estados não absorventes, e aij é a probabilidade de que o sistema venha a estar
no estado absorvente xj (t), para algum tempo t, dado que esteja inicialmente no estado
não absorvente xi .
2.4. Aplicações de Cadeias Regulares à Genética
Nesta seção introduz-se uma aplicação trivial das cadeias de Markov em problemas de
Genética, através de um exemplo extraı́do de [19].
Certas caracterı́sticas das plantas e dos animais são determinadas por um par de
genes, cada um dos quais podendo ser de dois tipos, denotados por A e a. Existem três
genótipos possı́veis: AA, Aa e aa (os genótipos Aa e aA são idênticos).
Em alguns casos esses três genótipos resultam em três caracterı́sticas distintas e
em outros o AA e o Aa exibem uma mesma forma observável. Nesta última situação,
diz-se que o gene A domina o gene a.
O indivı́duo chama-se dominante se tem o genótipo AA, heterozigoto se tem
genótipo Aa e recessivo se tem o genótipo aa. Por conveniência, denota-se um indivı́duo
AA por D, um Aa por H e um aa por R.
No caso de cruzamento, o filho herda um gene de cada um dos pais. Admita-se
que as probabilidades dos genótipos dos filhos de acordo com os dos pais sejam as dadas
nas Tabelas 1, 2 e 3, a seguir.
Tabela 1: Probabilidades dos genótipos do filho de dois indivı́duos H
D (AA) H (Aa) R (aa)
0.25
0.50
0.25
Tabela 2: Probabilidades dos genótipos do filho de um indivı́duo H com outro D
D (AA) H (Aa) R (aa)
0.50
0.50
0.00
Tabela 3: Probabilidades dos genótipos do filho de um indivı́duo H com outro R
D (AA) H (Aa) R (aa)
0.00
0.50
0.50
As cadeias de Markov intervalares podem auxiliar em cálculos sobre hereditariedade, como descrito neste próximo exemplo.
Exemplo 1 Suponha que no tempo 0, um indivı́duo é acasalado com outro, sendo este
do tipo H. No tempo 1, o produto do acasalamento é novamente acasalado com um
indivı́duo H. O processo repete-se então da mesma maneira. Considera-se como estado
do sistema no tempo t o genótipo do t-ésimo filho. Tem-se como resultado uma cadeia de
Markov com três estados (D, H, R), cuja matriz de transição é dada por:


0.5 0.5 0
P =  0.25 0.5 0.25  ,
0 0.5 0.5
sendo a matriz de transição de 2 passos calculada como (com precisão igual a 2 no
Maple):


0.38 0.50 0.13
P2 =  0.25 0.50 0.25  .
0.13 0.50 0.38
Observa-se que, em 1, devido a erros de arredondamento, tem-se que
(1)
P3
j=1
p1 j 6=
1.
Pela observação da matriz de transição de dois passos P2 dada em 1, que apresenta todas as entradas positivas, conclui-se que esta matriz aproxima uma matriz real
regular que tem uma distribuição de equilı́brio v aproximada pelo vetor probabilı́stico
V = [v1 , v2 , v3 ], tal que V P ≡ V . O sistema correpondente é:
5v1 + 0.25v2
5v1 + 5v2 + 5v3
0.25v2 + 0.5v3
v1 + v2 + v3
=
=
=
=
v1
v2
v3
1
A solução do sistema resulta na distribuição real de equilı́brio v = [.25, .5, .25].
2.5. Aplicações de Cadeias Absorventes na Aprendizagem por Pares Associados
Nesta seção apresenta-se o clássico modelo de Bower [3] de aprendizagem por pares associados. Neste modelo, uma lista de estı́mulos é apresentada a um paciente em ordem
aleatória. Os estı́mulos podem ser palavras, números, sı́labas sem nexo, figuras ou ı́tens
similares. A cada estı́mulo corresponde uma resposta correta que se supões que o paciente
aprenda. Antes que a experiência comece realmente, o paciente pode ser informado de
algum modo sobre o conjunto das respostas ou pode tomar cinhecimento delas gradulamente no decorrer da experiência.
A experiência consiste em apresentar ao paciente um estı́mulo de cada vez, durante um breve perı́odo de tempo, durante o qual solicita-se ao paciente tentar indicar a
resposta correta. Após o paciente ter dado sua resposta, mostra-se a ele a resposta correta. Isso serve como uma confirmação de uma resposta correta ou como uma correção de
uma resposta incorreta. Depois de apresentada toda a lista de estı́mulos, ela é novamente
apresentada, porém em ordem aleatória diferente da anterior.
Na situação experimental modelada por Bower os estı́mulos consistiam em 10
pares de consoantes, enquanto as respostas eram os números 1 e 2. A cada par de consoantes atribuı́a-se aleatoriamente um desses números como resposta, antes do inı́cio da
experiência. Os estı́mulos eram apresentados e pedia-se que o paciente para responder
1 ou 2. Após dar sua resposta, o paciente era informado da resposta correta ao estı́mulo
apresentado. Depois de exibidos os 10 pares de consoantes (constituindo um ensaio)
os 10 cartões com estı́mulos eram baralhados e novamente apresentados ao paciente.
Esse processo era repetido até que o paciente coseguisse passar sem erros pela lista de
estı́mulos, por duas vezes consecutivas. Ao acontecer isso, considerava-se que o paciente
tinha aprendido as respostas corretas.
Para analisar esse tipo de experiência utilizando cadeias de Markov, considera-se
os seguintes axiomas:
1. Cada par estı́mulo-resposta encontra-se em um estado dentre dois possı́veis, em
qualquer ensaio n: condicionado (C(n)) ou palpite (P (n)). O estado de condicionamento do par estı́mulo-resposta corresponde ao paciente ter aprendido o par.
Caso contrário, o paciente estará simplesmente adivinhando.
2. Em qualquer ensaio n, a probabilidade de transição de P (n) para C(n + 1) é uma
constante c(0 ≤ c ≤ 1); segue que a probabilidade de uma transição de P (n) para
P (n + 1) é 1 − c.
3. Em qualquer ensaio n, a probabilidade de transição de C(n) para C(n + 1) é 1;
segue que a probabilidade de uma transição de C(n) para P (n + 1) é 0.
4. Se estiver em P (n), em qualquer ensaio n, a probabilidade de sucesso S(n) (resposta correta ao estı́mulo) é 1/N , onde N ó número total de respostas possı́veis.
5. Cada ı́tem está no estado não condicionado (palpite) no ensaio inicial.
Numa primeira modelagem, considere uma cadeia de Markov com dois estados:
condicionado (1) e palpite (2). De acordo com o axioma 5, a distribuição inicial é então:
sT =
0.00 1.00
.
Pelos axiomas 2 e 5, a matriz de transiçao inicial da cadeia de Markov é:
P =
1.00 0.00
c 1−c
.
(2)
Fazendo c = 0.30 na equação 2, tem-se:
P =
1.00 0.00
0.30 0.70
.
Calcula-se algumas potências da matriz P (com precisão igual a 2):
5
P =
1.00 0.00
0.83 0.17
15
,P
=
1.00 0.00
1.00 0.0047
,P
100
=
1.00
0.00
1.00 0.32.10−15
.
Calcula-se a distribuição da cadeia de Markov nos diversos ensaios realizados:
s(1) = s(0)P1 =
s(10) = s(0)P10 =
0.30 0.70
0.97 0.028
, s(5) = s(0)P5 =
, s(15) = s(0)P15 =
,
1.00 0.0047
0.83 0.17
,....
Observa-se que os resultados obtidos indicam, por exemplo, que no tempo 10 (ou
seja, logo após o décimo ensaio), há uma probabilidade de aproximadamente 97% de um
paciente sob teste estar no estado condicionado. Já no tempo 15 há uma probabilidade
virtual (pois o valor 1 está sujeito há erros de arredondamento) de 100% de um paciente
estar no estado condicionado.
Refina-se agora o modelo, considerando-o como uma cadeia de Markov com três
estados: condicionado (1), palpite errado (2) e palpite certo (3). Para determinar a matriz
de transição da cadeia de Markov correpondente utiliza-se o axioma 4, juntamente com
os outros axiomas. Assim, tem-se que p11 = 1, p12 = 0, p13 = 0, p21 = c, p31 = c.
Para calcular p23 , sejam Gn+1 o evento “o paciente tenta adivinhar no ensaio n +
1”, Sn+1 o evento “o paciente responde corretamente no ensaio n + 1” e Tn o evento “o
paciente faz um palpite errado no ensaio n”. Se P r(x) denota a probabilidade de x e
P r(x|y) denota a probabilidade condicional de x dado que y tenha ocorrido, tem-se que:
p23 = P r(Sn+1 ∩ Gn+1 |Tn ) = P r(Sn+1 |Gn+1 ∩ Tn )P r(Gn+1 |Tn ).
(3)
Pelo axioma 2, tem-se que P r(Gn+1 |Tn ) = 1 − c, e, pelo axioma 4, é válido
que P r(Sn+1 |Gn+1 ∩ Tn ) = 1/N , onde N é o número total de respostas possı́veis. Da
equação 3, segue que:
p23 =
1
(1 − c)
N
.
De forma análoga, conclui-se que:
p22 = (1 −
1
1
1
)(1 − c), p32 = (1 − )(1 − c), p33 = (1 − c).
N
N
N
Assim, a matriz de transição dessa cadeia de Markov é

1.00
0.00
P =  c (1 − N1 )(1 − c)
c (1 − N1 )(1 − c)

0.00
1
(1 − c)  ,
N
1
(1 − c)
N
(4)
que é uma cadeia absorvente, com o estado 1 absorvente e os estados 2 e 3 não absorventes.
Os axiomas 4 e 5 implicam que a distribuição inicial dessa cadeia é:
0.00 1 −
s(0) =
1
N
1
N
.
Sejam c = 0.30 e N = 4. Então a equação 4 torna-se (com precisão igual a 3):


1.000 0.000 0.000
P =  0.30 0.525 0.175 
0.30 0.525 0.175
0.000 0.750 0.250 .
e a distribuição inicial é s(0) =
Calcula-se a distribuição da cadeia em vários tempos, obtendo-se, por exemplo:
s(2) =
0.510 0.368 0.123
s(30) =
, s(15)
1.000 0.169.10−4
0.995 0.356 0.119.10−2
0.563.10−5 , . . .
,
Observa-se que, no trigésimo ensaio, é virtualmente certo que (a incerteza é devido
aos erros de arredondamento) que o paciente esteja no estado condicionado.
Uma importante questão é saber qual o número de vezes em que o paciente se
encontra no estado 2, ou seja, o número de respostas incorretas dadas pelo paciente ao
par estimulo-resposta em questão. Em [19] há a prova de que o número de vezes que o
paciente se encontra nos estados 2 ou 3 é finito, isto é, eventualmente ele estará no estado
condicionado.
Observe que a matriz canônica dessa cadeia de Markov é:

0.000 0.000
0.525 0.175 
0.525 0.175

1.000
∗

P =
0.300
0.300
onde
Px→x =
0.525 0.175
0.525 0.175
Px→a =
0.300
0.300
,
.
O número médios esperado de vezes em que o paciente se encontra no estado 2
ou 3 é dado por
0.750 0.250
F.
Tem-se que
I − Px→x =
1.000 0.000
0.000 1.000
0.525 0.175
0.525 0.175
=
0.475 −0.175
−0.525 0.825
,
e, portanto,
=
2.750 0.583
1.750 1.583
F =
2.500 0.833
−1
F = [I − Px→x ]
.
Consequentemente, tem-se que
0.750 0.250
,
o que significa que, por exemplo, o número esperado de respostas incorretas dadas pelo
paciente ao ı́tem em questão é 2.5. Além disso, tem-se que a matriz de probabilidade de
absorção é dada por:
A = F Px→a =
1.000
1.000
,
significando que, desconsiderando os erros de arredondamento, há 100% de probabilidade
de que o paciente venha a estar no estado condicionado eventualmente.
3. Modelos de Markov Ocultos
Em alguns casos existe a possibilidade de que se tenha uma descrição incompleta do
ambiente em que ocorre um processo Markoviano, onde o espaço de estados é desconhecido. Nestes casos, é possı́vel definir um modelo de Markov considerando uma
aproximação desse espaço. Modelos deste tipo são denominados Modelos de Markov
Ocultos (HMM) [15]. Esta seção apresenta uma discussão sobre esses modelos,
3.1. Conceitos Básicos
Definição 6 Um Modelos de Markov Ocultos (HMM) é uma tripla M = (s, P, B), onde
consideram-se:
(i) Um conjunto especı́fico Ok de observações do tipo k que resultam de um experimento;
(ii) Um conjunto X de estados xi , onde em cada estado xi é possı́vel realizar uma
observação bi (k), com i = 1, . . . , N e k ∈ Ok ;
(iii) Uma distribuição de probabilidade para o estado inicial dada pelo vetor s = [si ],
onde si = P r(xi (0));
(iv) Uma distribuição de probabilidade para as transições de estados dada pela matriz
P = [pij ], onde pij = P r(xj (t + 1)|xi (t));
(v) Uma distribuição de probabilidade para as observações em cada estado dada pela
matriz B = [bj (k)], onde bj (k) = P r(Ok |xj ).
p 11
x begin
p begin-1
p 12
x1
b 1 (m)
b 1 (n)
p 22
x2
p 21
p 2-end
x end
b 2 (m)
b 2 (n)
Figura 2: Diagrama de transições de estados de um modelo de Markov oculto
de dois estados não terminais, onde há a probabilidade de emissão de
dois sı́mbolos (m e n).
Pode-se pensar nesse tipo de modelo como um autômato finito (não determinı́stico) com saı́da [9], cujas transiçoes são vazias e probabilı́sticas, sendo que, em
cada estado poderá haver a emissão de sı́mbolos (ı́tens observáveis) segundo uma certa
probabilidade.
Exemplo 2 Os modelos ocultos podem ser representados como diagramas de estados, como, por exemplo, o modelo oculto com conjunto de estados X = {xbegin , x1 ,
x2 , xend } da Figura 2, onde somente os estados não terminais x1 e x2 emitem os simbolos
(ı́tens observáveis) m e n.
Simulando um experimento, a partir do estado x1 é possı́vel ir para o outro estado
x2 ou não, de acordo com as probabilidades de transição p12 ou P11 , respectivamente. O
mesmo acontece no estado x2 . Segue-se assim sucessivamente, até atingir o estado final.
Em cada estado não terminal observa-se a emissão do sı́mbolo m ou m, de acordo
com as probabilidades de emissão do sı́mbolo m ou n no estado x1 (b1 (m), b1 (n)) e no
estado x2 (b2 (m), b2 (n)).
Como resultado, obtém-se uma seqüencia oculta (que não é observada) de estados
percorridos e um seqüência de sı́mbolos (que é observada). Uma seqüência de sı́mbolos
que pode ser observada, por exemplo, é O = m, n, m; uma seqüência possı́vel de estados
ocultos é I = xbegin , x1 , x1 , x2 , xend . A probabilidade do modelo percorrer os estado de
I para produzir a seqüência de observações O é dada por:
P r(O, I|M ) = pbegin−1 · b1 (m) · p11 · b1 (n) · p12 · b2 (m) · p2−end .
Assim, dada uma seqüência de observações, não se conhece a seqüência de estados pela qual passa o modelo, mas somente uma função probabilı́stica deste caminho.
Exemplo 3 Um exemplo extraido de [2] consiste no modelo das urnas. Suponha que
exitem N urnas contendo L bolas coloridas (preto, branco e cinza). Uma pessoa inicia
por uma das urnas, retira uma bola e observa a sua cor, recoloca-a na urna, e vai para
outra urna ou permanece na mesma urna, com uma certa probabilidade, e toma outra
bola, e assim sucessivamente. O processo termina após W seqüencias de passos deste
tipo.
Considere uma configuração especı́fica de N = 2 urnas e um tempo de
observação W = 3, como mostra a Figura 3, e uma distribuição de probabilidade dada
por:
Estado 1
.8
.7
.2
.1
Estado 2
.9
.3
t=1
t=2
t=3
Figura 3: Esquema do experimento com o modelo de urna com 2 estados em 3
fases de tempo.
s=
0.7
0.3
.
A matriz B define as probabilidades das possı́veis observações para cada estado:
b1 (Branco) b1 (P reto) b1 (Cinza)
0.1 0.4 0.5
B=
=
.
b2 (Branco) b2 (P reto) b2 (Cinza)
0.6 0.2 0.2
A matriz das probabilidades de transição de estado é dada por:
P =
0.8 0.2
0.1 0.9
.
A Figura 3 mostra um esquema do experimento. O modelo está representado
na Figura 4. O algoritmo dado na Tabela 4 é utilizado para gerar as seqüências de
observações. Salienta-se que a seqüência mais provável é O = {Cinza, Cinza, Cinza}.
Isto ocorre porque o estado inicial mais provável é o Estado 1 (urna 1), Cinza é a cor
mais provável de ser observada no Estado 1, e, a partir do Estado 1, o estado mais
provável é ainda o Estado 1. A probabilidade de ocorrer esta seqüência dada a seqüência
I = {Estado1, Estado1, Estado1} de estados é calculada então como:
P r(O, I|M ) = s1 · b1 (cinza) · p11 · b1 (cinza) · p11 · b2 (cinza) = 0.056.
Exemplo 4 Considere um jogo de cara de cara (h) ou coroa (t) no qual sabe-se que o
lançador pode utilizar duas moedas, uma normal e uma viciada. A moeda normal oferece probabilidade de 50% tanto para cara como para coroa, enquanto a moeda viciada
oferece 75% de chance para cara e apenas 25% para coroa.
Sabe-se também o lançador pode iniciar o processo escolhendo qualquer uma das
moedas com igual probabilidade, entretanto, uma vez tendo utilizado uma das moedas
(normal ou viciada) a probabilidade de que o lançador a troque por outra é de apenas
20%.
.8
.1
.2
.3
.7
.9
branco = .1
preto = .4
cinza = .5
branco = .1
preto = .4
cinza = .5
Estado 1
Estado 2
Figura 4: Modelo de urna com 2 estados.
Tabela 4: Algoritmo gerador de seqüências de observações.
t = 1
Escolha um estado inicial utilizando s
Enquanto t <= W :
Escolha uma observação O utilizando B
Escolha um novo estado utilizando P
t = t + 1
O modelo está representado na Figura 5. Tem-se então o conjunto de observações
O = {h, t}, o conjunto de estados X = {N = normal, V = viciada}, a matriz B das
possı́veis observações para cada estado:
B=
bN (h) = 0.50 bN (t) = 0.50
bV (h) = 0.75 bV (t) = 0.25
a matriz de transição:
P =
0.8 0.2
0.2 0.8
e a distribuição inicial:
s=
0.5
0.5
.
Observe que, neste caso, é mais difı́cil descobrir qual a seqüência mais
provável observada em um dado experimento. Considere então uma dada seqüência de
observações O = {h, h, t, t}. Em princı́pio não sabe-se a seqüência de estados que a gerou. Entretanto, considerando uma dada seqüência de estados (por exemplo, a seqüência
I = {N, N, V, N }), é possı́vel estimar qual a probabilidade da seqüência O ter sido
gerada pelo modelo a partir desse caminho de estados:
P r(O, I|M ) = sN · bN (h) · pN N · bN (h) · pN V · bV (t) · pV N · bN (h) = 0, 0005.
.2
.8
.8
N = .5
b N (h) = .5
b N (t) = .5
V = .5
0.2
b V(h) = .75
b V(h) = .25
Figura 5: Modelo das moedas.
3.2. A Probabilidade de uma Seqüência de Observações
Uma discussão interessante, que pode ser feita a partir da análise dos exemplos 2, 3 e 4,
é o problema relacionado à descoberta da probabilidade de que uma dada seqüência
de observações O tenha sido gerada por M . Para calcular a probabilidade de que
tal seqüência venha a ser observada, deve-se considerar a soma das probabilidades da
geração dessa seqüência sobre todos os possı́veis caminhos que a geram. Assim, seja
I = x1 , x2 , . . . , xW uma seqüência particular de estados possı́vel em W passos e considere a expansão de P r(O|M ) em todos os estados, dada por:
P r(O|M ) =
X
P r(O, I|M ).
(5)
∀I
Para qualquer seqüência individual de estados, pode-se usar a regra de Bayes na
equação 5, obtendo:
P r(O, I|M ) = P r(O|I, M )P r(I, M ).
(6)
O primeiro termo do lado direito da equação 6, P r(O|I, M ), é a probabilidade de
se ver uma dada seqüência de observações, considerando um dado conjunto de estados.
Para os estados conhecidos, considerando Ok , o cálculo é realizado como:
P r(O|I, M ) =
Y
bj (k).
j∈I
O segundo termo do lado direito da equação 6 é dado pelo produto da probabilidade de iniciar no estado x1 e passar pelos estados x2 , . . . , xW :
P r(I|M ) = s1 p12 p23 . . . p(W −1)W .
Assim, a equação 5 pode ser escrita como:
P r(O, I|M ) = s1 b1 (k)
W
−1
Y
i=1
bi+1 (k)pi(i+1) .
(7)
Tabela 5: Algoritmo para computar P r(O|M ).
Versão Iterativa
Versão Recursiva
α1 = [si bi (1)]
Para t em {1, . . . , W − 1}:
αt+1 = P · [αit bi (t + 1)]
P
W
P r(O|M ) = N
i=1 αi
Defina α(W ):
se W == 1:
[si bi (1)]
senão:
P · [αiW −1 bi (W )]
P
W
P r(O|M ) = N
i=1 αi
Considerando um modelo onde se tem os estados distingüı́veis xbegin e xend (como
o modelo da Figura 2), então a equação 7, para W +2 passos, onde a sqüência é observada
nos estados não terminais, torna-se:
P r(O, I|M ) = pbegin−1
W
Y
bi (k)pi(i+1) ,
i=1
onde xW +1 = xend .
Uma crı́tica grave a esta formulação é que o custo computacional do somatório da
equação 5 é muito alto (da ordem N W ). Entretanto, é possı́vel usar resultados parciais,
que são acumulados em um vetor αt , conforme descrito no procedimento “forward” do
algoritmo da Tabela 5.
Exemplo 5 Considere o modelo das urnas apresentado no Exemplo 3. Define-se αit como
a probabilidade de acontecer a observação Ot no estado xi . Então, se
0.7
0.5
s=
e B(Cinza) =
,
0.3
0.2
tem-se que o vetor inicial α1 é dado por:
1
α = [si bi (1)] =
s1 b1 (Cinza)
s2 b2 (Cinza)
=
0.35
0.06
Sucessivamente, calcula-se:
α2 = P [αi1 bi (2)]
0.8 0.2
=
0.1 0.9
0.8 0.2
=
0.1 0.9
0.142
=
0.0283
α11 b1 (Cinza)
α21 b2 (Cinza)
0.175
0.012
.
e
α3 = P [αi2 bi (3)]
0.8 0.2
=
0.1 0.9
0.8 0.2
=
0.1 0.9
.0581
=
.
.0122
α12 b1 (Cinza)
α22 b2 (Cinza)
.0712
.00566
Finalmente, a probabilidade de ver a seqüência Cinza,Cinza,Cinza é dada por:
P r(O|M ) =
N
X
i=1
αiW
=
2
X
αi3 = 0.0703.
i=1
Exemplo 6 Considere o modelo das moedas apresentado no Exemplo 4. Define-se αit
como a probabilidade de acontecer a observação Ot no estado xi . Então, se
0.5
0.5
s=
e B(h) =
,
0.5
0.75
tem-se que o vetor inicial α1 é dado por:
s1 b1 (h)
0.25
1
α = [si bi (1)] =
=
.
s2 b2 (h)
0.375
Sucessivamente, calcula-se:
α2 = P [αi1 bi (2)]
1
0.8 0.2
α1 b1 (h)
=
α1 b2 (h)
0.1 0.9
2
0.8 0.2
0.125
=
0.2 0.8
0.281
0.156
=
0.250
e
α3 = P [αi2 bi (3)]
0.8 0.2
=
0.2 0.8
0.8 0.2
=
0.2 0.8
.0750
=
,
.0656
α12 b1 (t)
α22 b2 (t)
.0781
.0625
α4 = P [αi3 bi (4)]
0.8 0.2
=
0.2 0.8
0.8 0.2
=
0.2 0.8
.0333
=
.
.0206
α13 b1 (t)
α23 b2 (t)
.0375
.0164
Finalmente, a probabilidade de ver a seqüência h,h,t,t é dada por:
P r(O|M ) =
N
X
i=1
αiW
=
2
X
αi4 = 0.0539.
i=1
3.3. Caminho Gerador Ótimo
Outra questão fundamental é, dada um seqüência de observações O, descobrir a seqüência
de estados I mais provável, que seja capaz de gerar O. Um critério simples para tratar
este problema é considerar a seqüência que torna cada um dos estados o mais provável2 .
Observa-se que, de forma análoga ao procedimento dado no algoritmo da Tabela 5,
é possı́vel definir um procedimento “backward”, através de um vetor β(t) que registra a
probabilidade de alcançar um dos estados finais, dado um determinado estado corrente.
Este vetor β(t) pode ser utilizado para definir um algoritmo para prever a probabilidade
de seqüências de estados de forma análoga ao algoritmo da Tabela 5.
Seja γit a probabilidade de terminar no estado xi no tempo t, dada a seqüência de
observações O, calculada como:
γit = P r(xi (t) = si |O, M ).
(8)
Em 8, pode-se utilizar os vetores α(t) e β(t) para expressar γit , obtendo:
[αit βit ]
,
P r(O|M )
P
t
onde P r(O|M ) é um fator de normalização tal que N
i=1 γi = 1.
γt =
(9)
Dado γ t , os estados mais prováveis são expressados pelos seus ı́ndices, como:
indext = ı́ndice do max1≤i≤N {γit }.
Para computar a equação 9, pode-se utilizar o algoritmo de Viterbi, onde, para
registrar os estados mais prováveis, define-se um vetor r(t), como mostra o algoritmo
dado na Tabela 6.
2
Pode acontecer que não exista um caminho entre estados sucessores, mas isto geralmente não ocorre
na prática.
Tabela 6: Algoritmo para computar o caminho gerador ótimo.
Vesão Iterativa
Versão Recursiva
γ 1 = [si bi (1)]
Defina r(W):
r(1) = [index1 ]
Se W == 1:
Para t em {1, . . . , W − 1}:
γ 1 = [si bi (1)]
t+1
t
γ
= P · [γi bi (t + 1)]
r(1) = [index1 ]
r(t + 1) = anexe(indext+1 , r(t))
Senão:
γ W = P · [γiW −1 bi (W )]
r(W ) = anexe(indexW , r(W − 1))
Exemplo 7 Considerando o modelo das urnas trabalhado nos Exemplos 3 e 5, dada a
seqüência de observações O = {Cinza, Cinza, Cinza}, pode-se calcular a seqüência
de estados mais provável para produzı́-la. Primeiramente, calcula-se:
1
γ = [si bi (1)] =
s1 b1 (Cinza)
s2 b2 (Cinza)
.35
.06
=
,
onde max1≤i≤N {γi1 } = .35, logo index1 = 1(x1 (1)), e, portanto,
r(1) = [index1 ] =
1(x1 (1)) .... ....
.
Calcula-se sucessivamente:
γ 2 = P [γi1 bi (2)]
.8 .2
=
.1 .9
.8 .2
=
.1 .9
.142
=
,
.0283
γ11 b1 (Cinza)
γ21 b2 (Cinza)
.175
.012
onde max1≤i≤N {γi2 } = .142, logo index2 = 1(x1 (2)), e, portanto,
r(2) =
1(x1 (1)) 1(x1 (2)) ....
γ 3 = P [δi2 bi (3)]
;
γ12 b1 (Cinza)
=
γ 2 b2 (Cinza)
2
.8 .2
.0712
=
.1 .9
.00566
0.0581
=
,
0.0122
.8 .2
.1 .9
onde max1≤i≤N {γi3 } = .0581, index3 = 1(x1 (3)), e, portanto,
r(3) =
1(x1 (1)) 1(x1 (2)) 1(x1 (3))
.
Logo o caminho gerador ótimo da sequência cinza,cinza,cinza é x1 , x1 , x1 , como
era esperado.
Exemplo 8 Considerando o modelo das moedas trabalhado nos Exemplos 4 e 6, dada a
seqüência de observações O = {h, h, t, t}, pode-se calcular a seqüência de estados mais
provável para produzı́-la. Primeiramente, calcula-se:
1
γ = [si bi (1)] =
s1 b1 (h)
s2 b2 (h)
=
.25
.675
,
onde max1≤i≤2 {γi1 } = .675, logo index1 = 2(x2 (1)), e, portanto,
r(1) = [index1 ] =
2(x2 (1)) .... ....
.
Calcula-se sucessivamente:
γ 2 = P [γi1 bi (2)]
.8 .2
=
.2 .8
.8 .2
=
.2 .8
.156
=
,
.250
γ11 b1 (h)
γ21 b2 (h)
.125
.281
onde max1≤i≤2 {γi2 } = .250, logo index2 = 2(x2 (2)), e, portanto,
r(2) =
2(x2 (1)) 2(x2 (2)) ....
γ 3 = P [γi2 bi (3)]
;
γ12 b1 (t)
=
γ 2 b2 (t)
2
.8 .2
.0781
=
.2 .8
.0625
0.0750
=
,
0.0656
.8 .2
.2 .8
onde max1≤i≤2 {γi3 } = .075, index3 = 1(x1 (3)), e, portanto,
r(3) =
2(x2 (1)) 2(x2 (2)) 1(x1 (3))
γ 4 = P [γi3 bi (4)]
.8 .2
=
.2 .8
.8 .2
=
.2 .8
0.0333
=
,
0.0206
;
γ13 b1 (t)
γ23 b2 (t)
.0375
.0164
onde max1≤i≤2 {γi4 } = .0333, index4 = 1(x1 (4)), e, portanto,
r(4) =
2(x2 (1)) 2(x2 (2)) 1(x1 (3)) 1(x1 (4))
.
Logo o caminho gerador ótimo da sequência h,h,t,t é x2 , x2 , x1 , x1 .
3.4. Aperfeiçoando o Modelo
O principal problema em HMM é descobrir o melhor modelo M , o que é muito difı́cil e
não tem solução analı́tica conhecida. Pode-se derivar uma aproximação que é melhor que
a versão corrente. Este procedimento pode ser repetido até que nehuma melhoria possa
ser verificada.
Em linhas gerais, esta estratégia iniciará com um conjunto inicial M = (s, P, B)
e executar o modelo um número suficiente de vezes para estimar um novo conjunto de
parâmetros M 0 = (s0 , P 0 , B 0 ). Estas estimativas são então utilizadas como o novo modelo,
e, então, o processo é repetido.
As estimativas de s e B são simples de calcular:
s0 = γ t
(10)
e
PW
0
bj (k) =
t
t=1,Ot =k γj
PW t .
t=1 γj
(11)
Tabela 7: Algoritmo de Baum-Welch.
Repita os seguintes passos até que os
parâmetros do modelo estejam de acordo
com a tolerância considerada:
Estimar s utilizando a equação 10
Estimar B utilizando a equação 11
Estimar P utilizando a equação 12
Para estimar pij , calcula-se ηij como:
ηij = P r(xi (t) = si , xi (t + 1) = sj |), M )
resultando em
ηij =
αit pij bj (t + 1)βjt+1
,
P r(O|M )
de tal forma que a estimativa pode ser obtida como uma média ao longo do tempo:
p0ij
PW
= Pt=1
W
ηij
t
t=1 γj
.
(12)
A Tabela 7 apresenta o algoritmo de Baum-Welch para aperfeiçoamento do modelo pelo cálculo sucessivo de estimativas para os parâmetros.
Referências
[1] J. F. F. Araújo, G. P. Dimuro, M. A. Campos, “Probabilidades Intervalares com Aplicações no Maple”, ESIN/UCPel, Pelotas, RS, 2001.
(http://gmc.ucpel.tche.br/fmc)
[2] D. H. Ballard, “An Introduction to Natural Computation”, MIT Press, Cambridge, 1997.
[3] G. H. Bower, Applications of a Model to Paired-Associate Learning, “Psychometrika”,
Vol. 26, pp. 225-2380, 1961,
[4] H. Bunke, T. Caelli (Eds), “Hidden Markov Models Applied in Computer Vision”, in Machine Perception and Artificial Intelligence, Vol. 45, World Scientific, N. J., 2001.
[5] M. A. Campos, “Uma Extensão Intervalar para a Probabilidade Real”, Tese de Doutorado,
Centro de Informática/UFPE, 1997.
[6] M. A. Campos, Interval probabilities, application to discrete ramdom variables, “Seleta
do XXII CNMAC” (E.X.L. de Andrade, J. M. Balthazar, S. M. Gomes, G. N. Silva,
A. Sri Langa, eds.), TEMA, Vol. 1.2, pp. 333-344, SBMAC, 2000.
[7] M. A. Campos, G. P. Dimuro, A. C. R. Costa, J. F. F. Araujo, A. M. Dias, “Probabilidade
Intervalar e Cadeias de Markov Intervalares no Maple”, “Seleta do XXIV CNMAC”
(E.X.L. de Andrade, J. M. Balthazar, S. M. Gomes, G. N. Silva, A. Sri Langa, eds.),
TEMA, SBMAC, 2002.
[8] A. M. Dias, G. P. Dimuro, “Matemática Intervalar com Aplicações no Maple”,
ESIN/UCPel, Pelotas, 2000. (http://gmc.ucpel.tche.br/mat-int)
[9] J. Hopcroft and J. D. Ullman, “Introduction to Automata Theory, Languages and Computation”, Addison-Wesley, Reading, 1979).
[10] U. W. Kulisch, W. L. Miranker, “Computer Arithmetic in Theory and Practice”, Academic
Press, New York, 1981.
[11] H. E. Kyburg, Jr., Interval-valued Probabilities, http://www.ensmain.rug.ac.be/ ipp.
[12] M. B. Monagan, K. O. Geddes, K. M. Heal, G. Labahn, and S. M. Vorkoetter, “Maple V:
Program. Guide”, Springer, N. York, 1998.
[13] R. E. Moore,“Methods and Applications of Interval Analysis”, SIAM, Philadelphia, 1979.
[14] A. Neumaier, “Interval Methods for Systems of Equations”, Cambridge University Press,
Cambridge, 1990.
[15] L. R. Rabiner and B. H. Juang, An Introduction to Hidden Markov Models, “IEEE ASSP
Magazine”, 3(4):4-16, 1986.
[16] B. Tessem, Interval Probability Propagation, “International Journal of Approximate Reasoning”, 7:95-120, 1992.
[17] K. S. Trivedi, “Probability and Statistics with Reliability, Queuing, and Computer Science
Applications”, Prentice-Hall, Englewood Cliffs, NJ, 2000.
[18] K. Weichselberger, Axiomatic foundations of the theory of interval-probability, “Symposia Gaussiana”, Conference B: Statistical Sciences, pp. 47-64, Munich, Germany,
August 2-7, 1993.
[19] W. Yoselogff, “Finite Mathematics”, Worth Publishing, New York, 1975.
[20] I. O. Kozine and L. V. Utkin, Interval-Valued Finite Markov Chains, “Reliable Computing”, 8(2): 97-113, 2002.
Download

Tutorial: Modelos de Markov e Aplicações