hidden markov models 2 de maio de 2006 1 2 k … 1 2 k … 1 2 k … … … … 1 2 k … x1x1 x2x2...

24
Hidden Markov Models 2 de maio de 2006 1 2 K 1 2 K 1 2 K 1 2 K x 1 x 2 x 3 x K 2 1 K 2

Upload: aparecida-madeira-correia

Post on 07-Apr-2016

237 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2

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

Page 2: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 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

Page 3: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 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

Page 4: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 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

Page 5: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 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?

Page 6: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2

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?

Page 7: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2

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?

Page 8: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2

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.

Page 9: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2

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

Page 10: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 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

Page 11: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2

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

Page 12: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 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

Page 13: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2

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

Page 14: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2

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

Page 15: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2

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

Page 16: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2

#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

Page 17: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2

#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

Page 18: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2

#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

Page 19: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2

#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…

Page 20: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2

Aplicações em Biologia● Encontrar ilhas CpG num genoma

● Encontrar domínios em proteínas (Banco PFAM)

● Encontrar genes

● Encontrar promotores

Page 21: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2

Ilhas CpG

A+ C+ G+ T+

A- C- G- T-

Ilha CpG

Não ilha CpG

Page 22: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2

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

Page 23: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2

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

Page 24: Hidden Markov Models 2 de maio de 2006 1 2 K … 1 2 K … 1 2 K … … … … 1 2 K … x1x1 x2x2 x3x3 xKxK 2 1 K 2

FIM