hidden markov models 2 de maio de 2006 1 2 k … 1 2 k … 1 2 k … … … … 1 2 k … x1x1 x2x2...
TRANSCRIPT
Hidden Markov Models
2 de maio de 2006
1
2
K
…
1
2
K
…
1
2
K
…
…
…
…
1
2
K
…
x1 x2
x3
xK
2
1
K
2
Introdução
● Um cassino tem dois dados– Um dado honesto
P(1)=P(2)=P(3)=P(4)=P(5)=P(6)=1/6
– Um dado viciado
P(1)=P(2)=P(3)=P(4)=P(5)=1/10
P(6)=1/2
Introdução
● O jogo:– Você aposta R$1– Você joga seu dado (sempre com um dado honesto)– O jogador do cassino joga seu dado (talvez com um
dado honesto, talvez com um dado viciado)– O número maior ganha R$2
O modelo do cassino desonesto
HONESTO VICIADO
0.05
0.05
0.950.95
P(1|H) = 1/6P(2|H) = 1/6P(3|H) = 1/6P(4|H) = 1/6P(5|H) = 1/6P(6|H) = 1/6
P(1|V) = 1/10P(2|V) = 1/10P(3|V) = 1/10P(4|V) = 1/10P(5|V) = 1/10P(6|V) = 1/2
Pergunta #1: Avaliação
● Dada uma seqüência de jogadas de dado do cassino
1245526462146146136136661664661636616366163616515615115146123562344
● Quão verossímil é esta seqüência, dado nosso modelo de como a cassino funciona?
Pergunta #2: Decodificação
● Dada uma seqüência de jogadas de dado do cassino
1245526462146146136136661664661636616366163616515615115146123562344
● Qual parte da seqüência foi gerada com o dado honesto e qual parte foi gerada com o dado viciado?
Pergunta #3: Aprendizado
● Dada uma seqüência de jogadas de dado do cassino
1245526462146146136136661664661636616366163616515615115146123562344
● Quão honesto é o dado honesto e quão viciado é o dado viciado? Com que freqüência o cassino muda de honesto pra viciado e de viciado para honesto?
HMM-Hidden Markov Model● Para responder a estes tipos de perguntas, criou-
se um modelo probabilístico chamado HMM (Hidden Markov Model)
● Surgiu no campo do reconhecimento de voz● Tem aplicações em várias áreas onde tem-se
umas seqüência de símbolos e um padrão a ser achado.– Ex: seqüências de nucleotídeos ou de aminoácidos.
HMM-Definição
Definição: Um modelo oculto de Markov (HMM)– Alfabeto = { b1, b2, …, bM }– Conjunto de estados Q = { 1, ..., K }– Probabilidades de transição entre quaisquer dois estados
K
1
…
2
HMM-Definição
aij = probabilidade de transição do estado i para o estado jai1 + … + aiK = 1, para todos os estados i = 1…KProbabilidades de entrada a0i
a01 + … + a0K = 1Probabilidades de emissão dentro de cada estado
ei(b) = P( xi = b | i = k)ei(b1) + … + ei(bM) = 1, para todos os estados i = 1…
K
O modelo do cassino desonesto
HONESTO (1)
VICIADO(2)
a12=0.05
a21=0.05
a22=0.95a11=0.95
e1(1) = 1/6e1(2) = 1/6e1(3) = 1/6e1(4) = 1/6e1(5) = 1/6e1(6) = 1/6
e2(1) = 1/10e2(1) = 1/10e2(3) = 1/10e2(4) = 1/10e2(5) = 1/10e2(6) = 1/2
Um parse de uma seqüência
1
2
K…
1
2
K…
1
2
K…
…
…
…
1
2
K…
x1
x2 x3 xK
2
1
K
2
● Dada uma seqüência X e um HMM, o número depossíveis seqüências de estados capazes de produzir X é da ordem de |Q|K●Um parse de uma seqüência X de K símbolos é uma seqüência de estados com tamanho K
Um parse de uma seqüência● No modelo do cassino, com uma seqüência X=14126 de 5 jogadas
=(2,1,1,1,2)1. Poderia haver |Q|k=25=32 parses para esta seqüência
1
2
…
1
2
…
2
…
…
…
…
1
2
…
x1
x2 x3 xK
2
1
22
1 1
Um parse de uma seqüência● Dado uma seqüência e um parse desta seqüência, é possível avaliar sua verossimilhança multiplicando as probabilidades de entrada, transição e emissão.
● X=14126 e =(2,1,1,1,2)Likelihood= 1/2 x 1/10 x 0.05 x 1/6 x 0.95 x 1/6 x 0.95 x 1/6 x 0.05 x ½ = 2,6E-7
1
2
…
1
2
…
2
…
…
…
…
1
2
…
x1
x2 x3 xK
2
1
22
1 1
Um HMM não tem memória!
• A cada ponto no tempo, a única coisa que afeta os estados futuros é o estado atual t
P( t+1 = k | “o que quer que tenha acontecido até então”) =
P( t+1 = k | 1, 2, …, t, x1, x2, …, xt)=
P( t+1 = k | t)
• Há variações simples no modelo do HMM para levar em consideração dois ou mais estados anteriores
#1-Avaliação
Dada uma seqüência x e um HMM M,
P: Qual a probabilidade de que X tenha sido gerada pelo modelo? ( P(X) )
R: Soma das probabilidades de todos os parses que possam ter gerado X
#1-AvaliaçãoP:Dada uma posição i, qual o estado mais provável que
emitiu Xi?
R: No exemplo do cassino, escolhemos o maior entre:
Soma da probabilidade de todos os parses que possam ter gerado X dado que i = Honesto
eSoma da probabilidade de todos os parses que possam ter gerado X dado que i = Viciado
#2-DecodificaçãoP:Dada uma seqüência X e um HMM M, qual a
seqüência de estados mais verossímil que gerou X?
x = 12341623162616364616234161221341
R: Avalia-se, dentre todas as possíveis seqüências de estados, qual a mais verossímil.
= HHHHHHHHHVVVVVVVVVVHHHHHHHHHHHH
#3-AprendizadoP:Apenas observando X, como estimar os parâmetros
de emissão e transição?
R: Se temos um conjunto de treinamento, obtemos os parãmetros a partir deste conjunto.Se não temos um conjunto de treinamento, roda-se um algoritmo que:-Dá um chute inicial pra esses parâmetros-Avalia o quão bem os parâmetros predizem X-Refina os parâmetros-….repete o processo…
Aplicações em Biologia● Encontrar ilhas CpG num genoma
● Encontrar domínios em proteínas (Banco PFAM)
● Encontrar genes
● Encontrar promotores
Ilhas CpG
A+ C+ G+ T+
A- C- G- T-
Ilha CpG
Não ilha CpG
Ilhas CpG
● Parâmetros– Extraídos a partir da freqüência observada de
dinucleotídeos num conjunto de treinamento
+ A C G TA .180 .274 .426 .120
C .171 .368 .274 .188
G .161 .339 .375 .125
T .079 .355 .384 .182
- A C G TA .300 .205 .285 .210
C .233 .298 .078 .302
G .248 .246 .298 .208
T .177 .239 .292 .292
Domínios de proteínas● HMMER – possui ferramentas pra avaliar, decodificar e
aprender os parâmetros de um HMM– Ex: O banco de domínios PFAM é gerado a partir de alinhamentos
múltiplos de famílias de proteínas conhecidas é um banco de HMM’s
FIM