Universidad Nacional de Colombia Facultad de Ingeniería Departamento de Ingeniería Industrial y de...
-
Upload
camila-villalta -
Category
Documents
-
view
16 -
download
0
Transcript of Universidad Nacional de Colombia Facultad de Ingeniería Departamento de Ingeniería Industrial y de...
Universidad Nacional de ColombiaFacultad de Ingeniería
Departamento de Ingeniería Industrial y de SistemasBiología Computacional
MODELOS OCULTOS DE MARKOV
(Hidden Markov Models ,HMMs)
CONTENIDO
Aprendizaje de los HMMs
Conclusiones
Generalidades de los HMMs
GENERALIDADES DE LOS HMM´s
Cadenas de Markov
Problemas fundamentales de los HMMs
Aplicaciones
Modelos ocultos de Markov HMMs
CADENAS DE MARKOV
Una cadena de Markov es un proceso estocástico de tiempo discreto
{Xt } t T
definido por:
Espacio de estados : S = {1,2, ... ,N} Probabilidad de transición: A = (aij )N x N
Probabilidad inicial : = (1, … ,N)
11
n
jija
i jai j
aij 0
Propiedades
propiedad 1
propiedad 2 propiedad 3
11
n
ii
Ejemplo
Ampliación a Modelos Ocultos de Markov
Cada estado corresponde a un evento determinísticamente observable
Modelo restringido no aplicable a ciertos problemas importantes.
Ampliar el concepto de modelo de Markov para incluir el caso en el cual la
observación es una función probabilística del estadoModelo resultante
Modelos ocultos de Markov
Un Hidden Markov Model (HMM) es un proceso estocástico bivariado
{(qt ,ot )} t T
con:
o = (o1 o2 ...oT )proceso observado
estocásticamente dependiente de q = (q1
q2 ...qT )
q = (q1 q2 ...qT ) un proceso de Markov no observado (oculto)
B = (bj (k))N distribución de probabilidad de los símbolos de observación, en donde
bj (k) = P[ot = vk|qt = j ], 1 k M , 1 j N
Elementos de un HMM
N número de estados en el modelo. q = {1,2,...,N } son los estados individuales y qt = i es el estado i en el tiempo tA = (ai j )N x N distribución de probabilidad de transición estados , en donde
ai j = P[qt+1 = j|qt = i ], 1 i,j N = (i )N distribución del estado inicial
M = Número de símbolos de observación de un alfabeto
= { v1, … ,vM },
El Modelo Oculto de Markov dado un número de estados N para qt y un conjunto M de símbolos
de observación queda completamente
especificado por:
A probabilidad de transición de estados
B probabilidad de emisión de símbolos
probabilidad de iniciación de estados
= (A,B,)
Especificación de un HMM
Arquitectura de un HMM
1
2
n
v1
v2
vM
v1
v2
vM
v1
v2
vM
Ot un proceso observado estocásticamente dependiente de qt
qt un proceso de Markov no observado (oculto)
Tipos de arquitecturas de HMMs
•Arquitectura ergódica
•Arquitectura izquierda - derecha
•Arquitectura izquierda - derecha con rutas paralelas
Arquitectura de un HMM de secuencias de DNA
Arquitectura de un profile HMM (Salzberg, 1998)
TI
Estados principales Estados de deleción Estados de inserción
Ejemplo 1: Alineamiento de secuencias de DNA
A C A - - - A T G
T C A A C T A T C
A C A C - - A G C
A G A - - - A T C
A C C G - - A T C
Sea el siguiente motif (Salzberg, 1998):
Cuál es la probabilidad de cada secuencia de observaciones?
Cuál es la probabilidad de la secuencia de consenso?
Cual es la probabilidad de la secuencia excepcional?
Ejemplo 1: Alineamiento de secuencias de DNA
• Número de estados
• Probabilidades de transición de estados
• Probabilidades de emisión de símbolos
• Probabilidades del estado inicial
• Alfabeto de la secuencia de observaciones
Construir un HMM (parametrizado con ) con los siguientes elementos:
Ejemplo 1: Alineamiento de secuencias de DNA
Probabilidades de transición A
Elementos del HMM :
{ A,C,G,T } alfabeto del DNA
6 a 9 longitud secuencia
7 estados (siete columnas con inserciones)
4 símbolos de observación por estado
Probabilidad estado inicial
1 2 3 4 5 6 71 12 13 0.6 0.44 0.4 0.65 16 17
1 2 3 4 5 6 71 0 0 0 0 0 0
1 2 3 4 5 6 7A .8 .8 .2 1C .8 .2 .4 .8G .2 .2 .2 .2T .2 .2 .8
Probablidades de emisión de símbolos B
Original A C A - - - A T G
Original T C A A C T A T C
Original A C A C - - A G C
Original A G A - - - A T C
Original A C C G - - A T C
Consenso A C A C - - A T C
ExcepcionalExcepcional T G C T - - A G T G C T - - A G GG
=•M =•N =•T =
motif
Ejemplo 1: Alineamiento de secuencias de DNA
1 2 3
4
5 6 7
A=.8
C=.0
G=.0
T=.2
A=.0
C=.8
G=.2
T=.0
A=.8
C=.2
G=.0
T=.0
A=.2
C=.4
G=.2
T=.2
A=1
C=.0
G=.0
T=.0
A=.0
C=.0
G=.2
T=.8
A=.0
C=.8
G=.2
T=.0
Modelo oculto de Markov derivado del alineamiento (Salzberg, 1998)
1 1 .4
.6.6
1 1
.4
Ejemplo 1: Alineamiento de secuencias de DNA
|----------------Secuencia-----------| Probabilidad
Original A C A - - - A T G0.033
Original T C A A C T A T C0.000075
Original A C A C - - A G C0.012
Original A G A - - - A T C0.033
Original A C C G - - A T C0.0059
Consenso A C A C - - A T C 0.047
Excepcional T G C T - - A G G 0.000023
Probabilidades de las 5 secuencias en el alineamiento
P(ACACATC) = 0.8 X 1.0 X 0.8 X 1.0 X 0.8 X 0.6 X 0.4 X 0.6 X 1.0 X 1.0 X 0.8 X 1.0 X 0.8 = 0 .04718592
Puntaje de la secuencia consenso ACACATC
Algoritmo HMMgenerador(A, B, , N, M, T)
q1 = i = arg max1 i N [ i ]t = 1while t < T ot = vk = max1 j N [bj(k)] 1 k M
qt + 1 = j = arg max1 j N [ai j ] t = t + 1
Secuencia de estados y observaciones generadas por el algoritmo
Tiempo t : 1 2 3 4 5 6 7 . . . T
Estado qt : q1 q2 q3 q4 q5 q6 q7 . . . qT
Observación ot : o1 o2 o3 o4 o5 o6 o7 . . . oT
Ejemplo 2: Experimento del lanzamiento de monedas
Sea la secuencia O =(C C C C S C S S S S)
Suponga un modelo con:
• tres estados (que corresponden a tres monedas diferentes)
• probabilidades de iniciación de estados equiprobables
• probabilidades de transición de estados equiprobables y
• probabilidades de emisión de símbolos como se muestran en la figura
Representar un HMM (parametrizado por ).
Ejemplo 2 Experimento del lanzamiento de monedas
1
2
3
c = 0.5
s = 0.5c = 0.25
s = 0.75
c = 0.75
s = 0.25
1=1/ 3
2=1/ 3
3=1/ 3
a 12 = 1/
3
a1
1=
1/
3
a22= 1/ 3
a3
3 = 1
/
3a 21= 1/
3
a23 = 1/ 3
a13= 1/ 3a31= 1/ 3
a32 = 1/
3
b1(k)
b2(k)
b3(k)
lo observadoO =( C C C C S C S S S S )
lo oculto q =(2 2 2 2 3 2 3 3 3 3)
= { c, s }
q = {1,2,3}
Ejemplo 2. Experimento del lanzamiento de monedas
•estado 1, es decir, q = ( 1 1 1 1 1 1 1 1 1 1 ) ?
•estado 2, es decir, q ^ = ( 2 2 2 2 2 2 2 2 2 2 ) ?
•estado 3, es decir, q ~ = ( 3 3 3 3 3 3 3 3 3 3 ) ?
0865382.110
311050.0|,
qOP
095 92454.310
3125.0575.0|^,
qOP
095~ 92454.310
3175.0525.0|,
qOP
Cuál es la probabilidad de que la secuencia de observación
O =( C C C C S C S S S S ) provenga exclusivamente del :
Solución:
Ejemplo 2. Experimento del lanzamiento de monedas
q * =( 2 2 2 2 3 2 3 3 3 3)
0710
3110* 5367.975.0|, qOP
La secuencia de estados q* más probable es:
La probabilidad de la secuencia de observación O dada q* es:
La cantidad de secuencias de estados del ejemplo son:
La cantidad de secuencias de estados de un HMM con N estados y con secuencias de observaciones de longitud T son:
T
TTTqqq
Tqqqqqqqq ObaobaobOP,...,,
21
21
122111...)(|
310 = 59049
N T
La complejidad computacional es:
O( T.N T )
Ejemplo 3: Experimento de lanzamiento de monedas
Sea la secuencia O =(C C C C S C S S S S)
1. Cuál es la secuencia de estados q mas probable?
2. Cuál es la probabilidad de la secuencia de observación con esa
secuencia de estados q mas probable?
3. Cuál es la probabilidad de que la secuencia de observación provenga
exclusivamente del estado 1, 2 o 3?
Considere la representación de un HMM (parametrizado por ) del experimento del lanzamiento de una moneda.
Suponga un modelo de tres estados (que corresponden a tres monedas diferentes) con probabilidades (ver figura)
Ejemplo 3: Experimento de lanzamiento de monedas
1
2
3
c = 0.50
s = 0.50
c = 0.25
s = 0.75
c = 0.75
s = 0.25
1=1/ 3
2=1/ 3
3=1/ 3
a 12 =
0.05
a1
1=
0.9
a22= 0.1
a3
3 = 0
.1
a 21=
0.45
a23 = 0.45a13=
0.05a31= 0.45
a32 = 0.45
b1(k)
b2(k)
b3(k)
O =( C C C C S C S S S S )
q = (??????????) lo oculto
Dados:•un HMM = ( A, B, ) y
•una secuencia de observaciones O = (o1 o2 . . . oT )
PROBLEMAS FUNDAMENTALES EN LOS HMM´s
Algoritmo forward y programación dinámica.
Problema 1: Calcular la probabilidad P ( O| )
Enfoque de la solución:
1. Problema de la evaluación: Cómo calcular la probabilidad de que la secuencia observada O fué producida por el modelo ?2. Problema de puntaje: Qué tan correctamente un modelo dado empareja una secuencia de observación?
Solución:
1
i
N
j
vk
t(i) t+1(j)
a1j
ai j
aNj 1
11
tj
N
iijtt obaij
bj
Solución recursiva con programación dinámica
Algoritmo avance (forward)
Inicialización:
Inducción:
Terminación:
Niobi ii 1 ,11
NjTtobaij tj
N
iijtt
1 ,11 ,1
11
N
iT iOP
1
|
Dados:•un HMM = ( A, B, ) y
•una secuencia de observaciones O = (o1 o2 . . . oT )
PROBLEMAS FUNDAMENTALES EN LOS HMM´s
Algoritmo de Viterbi y programación dinámica.
Problema 2: Encontrar la mejor secuencia de estados (q1 q2 ... qT )
Enfoque de la solución:
Solución:
intentar descubrir la parte oculta del modelo, esto es,
encontrar la secuencia “correcta” de estados
1
i
N
j
vk
t-1(i)
t-1(i)
t (j)t(i)
a1j
aij
aNj
bj
Solución recursiva con programación dinámica
ijt
tjijtNi
t
ai max
obaimaxj
1-tNi1
11
argj
Algoritmo de Viterbi
.1,...,2,1 ),(
estados) de (secuencia inverso rastreo de Camino 4.
arg
:nTerminació 3.
1
2 ,arg
1
2 , maxj :Recursión 2.
0
1 , :ciónInicializa 1.
*11
*
1
*
1
*
11
1-t1
1
1
TTtqq
imaxq
imaxP
Nj
Ttaimaxj
Nj
Ttobai
i
Niobi
ttt
TNi
T
TNi
ijtNi
t
tjijNi
t
iit
Ejemplo 1. Experimento de la moneda
1 2 3 4 5 6 7 8 9 101 0.5 (0.75)
(0.5)(0.75)2
(0.5)(0.75)3
(0.5)(0.75)4
(0.5)(0.75)5
(0.5)(0.75)6
(0.5)(0.75)7
(0.5)(0.75)8
(0.5)(0.75)9
(0.5)2 0.75 (0.75)2 (0.75)3 (0.75)4 (0.75)4
(0.25)(0.75)6 (0.75)6
(0.25)(0.75)7
(0.25)(0.75)8
(0.25)(0.75)9
(0.25)3 0.25 (0.75)
(0.25)(0.75)2
(0.25)(0.75)3
(0.25)(0.75)5 (0.75)5
(0.25)(0.75)7 (0.75)8 (0.75)9 (0.75)10
C C C C S C S S S S
t(i)
*11
*
1
*
1
*
arg
ttt
TNi
T
TNi
imaxq
imaxP
q*t = { 2 2 2 2 3 2 3 3 3 3 }
Dados:un número de estados N, un alfabeto y una secuencia
de observaciones O = ( o1 o2 . . . oT ) en
Métodos estadísticos de aprendizaje (entrenamiento, ajuste o reestimación)
requieren un modelo inicial 0 = ( A 0 , B 0 , 0 )
Problema 3: Encontrar =A,B , tal que P( O| ) sea máximo
PROBLEMAS FUNDAMENTALES EN LOS HMM´s
Enfoque de la solución:
optimizar los parámetros del modelo para describir mejor como viene una secuencia de observación dada
Solución:
ENTRENAMIENTO DE LOS MODELOS OCULTOS DE MARKOV
Expectation-maximization, EM (o Baum-Welch).
Expectation-maximization generalized, GEM.
Técnicas de gradiente.
Técnicas de gradiente generalizado.
Gramáticas estocásticas.
Expectation-maximization (EM) o Baum-Welch.
Fórmulas de reestimación para , A , B
i estado elen veces)de (número esperada frecuencia'
j estado elen vecesde esperado número
vsímbolo el observandoy j estado elen vecesde esperado número'
i estado el desde nes transiciode esperado número
j estado el hasta i estado el desde nes transiciode esperado número'
i
k
kb
a
j
ij
Expectation-maximization (EM) o Baum-Welch.
N
jT
i
j
ii
1
11'
•Reestimación de :
ii
jobai
a
t
T
tt
ttjij
T
tt
ij
11
1
11
'
•Reestimación de A :
•Reestimación de B :
ii
voiikb
t
T
tt
kt
T
ttt
i
1
1
,'
Terminación del aprendizaje del HMM
Sea ´ = ( A´, B ´, ´ ) el modelo reestimado
Sea = ( A , B , ) el modelo inicial
si ´ = se encontró un punto crítico de la función de probabilidad, entonces terminar
sino
´ es mas probable que , es decir, P( O|´ ) > P( O| ) continuar el aprendizaje
Supóngase la siguiente secuencia de observación O:
Ejemplo 4: Experimento del lanzamiento de una o más monedas
(ccscccccccccscccscccscccccccccccssssCccsssssssssssssssccccsscsssccccsscssscsssssscccccscsssccccccss)
1 2
c = 0.2s = 0.8
c = 0.1s = 0.9
0.5 0.5
0.2
0.9
0.8 0.1
0 = (A0 ,B0 ,0 )
Ejemplo 4: Experimento del lanzamiento de una o más monedas
1 2
c = 0.33s = 0.67 s = 1
1.0
0.28
0.95
0.72 0.05
* = (A*,B*,*)
Ejemplo 4: Experimento del lanzamiento de una o más monedas
1111111222222211122222211222221111222222111122222222222222211122221111111111111111111111111111122111
P ( 0 | * ) = 9.171638e-28
Ejemplo 4: Experimento del lanzamiento de una o más monedas
Solución al Problema 2: Mejor secuencia de estados q* en *
Solución al Problema 1:
147 iteracione
s
Entrenamiento de HMM con dos estados
0,00E+00
2,00E-28
4,00E-28
6,00E-28
8,00E-28
1,00E-27
1
21
41
61
81
10
1
12
1
14
1
reestimaciones
P(O
|lam
da
)
*
0
c = 0.9s = 0.1
s
1
2
3
4
0.25
0.25
0.25
0.25
0.70.7
0.7
0.7
0.1
0.1
0.1
0.1
0.10.1
0.1
0.1
0.1
0.7
0.1
0.1
0 = (A0 ,B0 ,0 )
c = 0.1
s = 0.9
c = 0.1
s = 0.9
c = 0.1
s = 0.9
Ejemplo 5: Experimento del lanzamiento de una o más monedas
1
2
3
4
1
0.6
1
0.62
0.2
10.36
0.2
0.2
* = (A*,B*,*)
c = 1
c = 0.7
s = 0.3
s = 1
c = 0.7
s = 0.3
Ejemplo 5: Experimento del lanzamiento de una o más monedas
número deestados
P(O|)
2 9.171638e-283 3.091544e-274 3.091236e-275
mejorHMM
3.091236e-27
número deestados
P(O|)
2 9.171638e-283 3.091544e-274 3.091236e-275
mejorHMM
3.091236e-27
Resumen de los experimentos
OTRAS ESTRATEGIAS DE APRENDIZAJE
• Redes neuronales
• Redes bayesianas
• Algoritmos genéticos
APLICACIONES GENERALES
Reconocimiento óptico de caracteres.
Reconocimiento óptico de caracteres.
Minería de datos Minería de datos
Clasificación de secuencias y fragmentos.
Clasificación de secuencias y fragmentos. Análisis estructural y descubrimiento de patrones.
Análisis estructural y descubrimiento de patrones.