t ecnicas inteligentes en bioinform atica … · t ecnicas inteligentes en bioinform atica modelos...
TRANSCRIPT
TECNICAS INTELIGENTES EN BIOINFORMATICA
Modelos para el analisis de secuencias
Agustın Riscos Nunez (Coord.)Carmen Graciani
Grupo de investigacion en Computacion NaturalDpto. Ciencias de la Computacion e Inteligencia Artificial
Universidad de Sevilla
Master Universitario en Logica, Computacion e Inteligencia Artificial
1 Repaso de teorıa de la Probabilidad
2 Secuencias
3 Modelos probabilısticos de secuenciasMultinomialCadenas de MarkovModelos ocultos de Markov
4 Perfiles
2 / 111
Variable aleatoria discreta X : toma valores en un conjunto finito Val(X ).
Dadas X1, . . . ,Xn variables aleatorias discretas:
Espacio de eventos S : asignaciones conjuntas de valores.
Evento elemental a: elemento del espacio de eventos, lo notaremosX1 = x1, . . . ,Xn = xn.
Evento A: subconjunto del espacio de eventos.
¬A denota el evento S/A.
3 / 111
1 1 1 2
1 1 2 2
1 2 2 2
Elegimos uno de los objetos al azar:
Variable Forma:
Val(Forma) = {cuadrado, cırculo, triangulo}
Variable Sombreado:
Val(Sombreado) = {no, sı}
Variable Valor:Val(Valor) = {1, 2}
4 / 111
S = {(Forma = cuadrado,Sombreado = no,Valor = 1),
(Forma = cuadrado,Sombreado = no,Valor = 2),
(Forma = cuadrado,Sombreado = sı,Valor = 1),
(Forma = cuadrado,Sombreado = sı,Valor = 2),
(Forma = cırculo,Sombreado = no,Valor = 1),
(Forma = cırculo,Sombreado = no,Valor = 2),
(Forma = cırculo,Sombreado = sı,Valor = 1),
(Forma = cırculo,Sombreado = sı,Valor = 2),
(Forma = triangulo,Sombreado = no,Valor = 1),
(Forma = triangulo,Sombreado = no,Valor = 2),
(Forma = triangulo,Sombreado = sı,Valor = 1),
(Forma = triangulo,Sombreado = sı,Valor = 2)}
5 / 111
Sombreado = no ∧ Valor = 2 ≡
{(Forma = cuadrado, Sombreado = no,Valor = 2),
(Forma = cırculo, Sombreado = no,Valor = 2),
(Forma = triangulo,Sombreado = no,Valor = 2)}
¬(Valor = 2 ∨ (Sombreado = sı ∧ Forma = cuadrado)) ≡
{(Forma = cuadrado,Sombreado = no,Valor = 1),
(Forma = cırculo,Sombreado = no,Valor = 1),
(Forma = cırculo,Sombreado = sı,Valor = 1),
(Forma = triangulo,Sombreado = no,Valor = 1),
(Forma = triangulo,Sombreado = sı,Valor = 1)}
6 / 111
Funcion de probabilidad: P : P(S)→ R1. P(A) ≥ 0, para todo A ⊆ S .
2. P(S) = 1.
3. Para todo par A,B ⊆ S mutuamente excluyentes
P(A ∪ B) = P(A) + P(B)
Propiedades:
P(¬A) = 1− P(A).
P(A) ≤ P(B), para todo A ⊆ B.
P(A) ≤ 1.
P(A ∪ B) = P(A) + P(B)− P(A ∩ B).
P(A) =∑n
i=1 P(ai ), con A = {a1, . . . , an}.
7 / 111
P(Forma = cuadrado, Sombreado = no,Valor = 1) = 0,
P(Forma = cuadrado, Sombreado = no,Valor = 2) =1
12,
P(Forma = cuadrado, Sombreado = sı,Valor = 1) =1
4,
. . .
P(Sombreado = no ∧ Valor = 2) =1
12+
1
12+
1
12=
1
4P(¬(Valor = 2 ∨ (Sombreado = sı ∧ Forma = cuadrado))) =
0 + 0 +1
6+ 0 +
1
12=
1
4
8 / 111
Probabilidad conjunta de dos eventos A y B:
P(A,B)def= P(A ∩ B)
Probabilidad de A condicionada a B, con P(B) > 0:
P(A|B)def=
P(A,B)
P(B)
Regla fundamental:
P(A,B) = P(A|B)P(B) = P(B|A)P(A)
9 / 111
Regla de Bayes:
P(A|B) =P(B|A)P(A)
P(B)
Version generalizada:
P(A|B,C ) =P(B|A,C )P(A|C )
P(B|C )
10 / 111
P(Valor = 2|Sombreado = sı) =P(Valor = 2, Sombreado = sı)
P(Sombreado = sı)
=1/43/4
=1
3
Regla de Bayes:
P(Valor = 2|Sombreado = sı)
=P(Sombreado = sı|Valor = 2)P(Valor = 2)
P(Sombreado = sı)
=1/2 · 1/2
3/4=
1
3
11 / 111
Distribucion de probabilidad de una variable X con Val(X ) = {x1, . . . , xn}:
P(X )def=(P(X = x1), . . . ,P(X = xn)
)
Notacion: P(Y |X ) es el conjunto de distribuciones de probabilidadP(Y |X = x), con x ∈ Val(X ).
Notacion: P(x) es P(X = x) y P(Y |x) es P(Y |X = x).
12 / 111
P(Forma):
cuadrado 1/3cırculo 1/3triangulo 1/3
P(Sombreado):
no 1/4sı 3/4
P(Valor):
1 1/22 1/2
P(Forma|Valor,Sombreado):
1 2
sı no sı
cuadrado 1/2 1/3 0cırculo 1/3 1/3 1/3triangulo 1/6 1/3 2/3
13 / 111
Val(X ) = {x1, . . . , xm}, Val(Y ) = {y1, . . . , yn}Regla de la probabilidad total:
P(xi ) =n∑
j=1
P(xi , yj)
P(X ) se puede determinar a partir de P(X ,Y ).
P(X ) =
n∑j=1
P(x1, yj), . . . ,n∑
j=1
P(xm, yj)
La expresion anterior se denomina marginalizacion sobre Y y se denota por∑
Y P(X ,Y ).
14 / 111
P(Valor = 1) =∑
forma
∑sombra
P(forma, sombra, 1)
=
(0 +
1
4
)+
(0 +
1
6
)+
(0 +
1
12
)=
1
2
P(Valor = 2) =∑
forma
∑sombra
P(forma, sombra, 2)
=
(1
12+ 0
)+
(1
12+
1
12
)+
(1
12+
1
6
)=
1
2
15 / 111
X independiente de Y , X ⊥P Y :
P(x |y) = P(x)
para todo x ∈ Val(X ), y ∈ Val(Y ).
X condicionalmente independiente de Y dado Z , X ⊥P Y |Z :
P(x |y , z) = P(x |z)
para todo x ∈ Val(X ), y ∈ Val(Y ), z ∈ Val(Z ).
Las relaciones de independencia e independencia condicional sonsimetricas.
16 / 111
Forma ⊥P Sombreado:
P(forma, sı) =1
4
P(forma)P(sı) =1
3· 3
4=
1
4
P(forma, no) =1
12
P(forma)P(no) =1
3· 1
4=
1
12
para toda forma ∈ Val(Forma)
17 / 111
Forma /⊥P Valor:
P(cuadrado, 1) =1
46= 1
3· 1
2= P(cuadrado)P(1)
Sombreado /⊥P Valor:
P(sı, 1) =1
26= 3
4· 1
2= P(sı)P(1)
17 / 111
1 1 1 2
1 1 2 2
1 2 2 2
Forma /⊥P Sombreado:
P(cuadrado, sı) =1
4
P(cuadrado)P(sı) =1
3· 1
2=
1
6
18 / 111
1 1 1 2
1 1 2 2
1 2 2 2
Forma ⊥P Sombreado|Valor:
P(forma, no|1) = P(forma|1)P(no|1)
P(forma, no|2) = P(forma|2)P(no|2)
P(forma, sı|1) = P(forma|1)P(sı|1)
P(forma, sı|2) = P(forma|2)P(sı|2)
para toda forma ∈ Val(Forma).
18 / 111
X = {X1, . . . ,Xn} conjunto de variables aleatorias.
Regla de la cadena:
P(X) = P(Xn|Xn−1, . . . ,X1) · · ·P(X2|X1)P(X1)
=n∏
i=1
P(Xi |X1, . . . ,Xi−1)
P(Forma, Sombreado,Valor)
= P(Sombreado|Forma,Valor)P(Forma|Valor)P(Valor)
= P(Sombreado|Valor,Forma)P(Valor|Forma)P(Forma)
= P(Forma|Sombreado,Valor)P(Sombreado|Valor)P(Valor)
= . . .
19 / 111
X = {X1, . . . ,Xn} conjunto de variables aleatorias.
Regla de la cadena:
P(X) = P(Xn|Xn−1, . . . ,X1) · · ·P(X2|X1)P(X1)
=n∏
i=1
P(Xi |X1, . . . ,Xi−1)
P(Forma, Sombreado,Valor)
= P(Sombreado|Forma,Valor)P(Forma|Valor)P(Valor)
= P(Sombreado|Valor,Forma)P(Valor|Forma)P(Forma)
= P(Forma|Sombreado,Valor)P(Sombreado|Valor)P(Valor)
= . . .
19 / 111
1 Repaso de teorıa de la Probabilidad
2 Secuencias
3 Modelos probabilısticos de secuenciasMultinomialCadenas de MarkovModelos ocultos de Markov
4 Perfiles
20 / 111
Secuencias sobre una alfabeto
Una secuencia, palabra, sobre un alfabeto A = {a1, . . . , an}
s = s1s2 · · · sL donde st ∈ A 1 ≤ t ≤ L
Seleccion:I A partir de un conjunto de ındices I ⊆ {1, 2, . . . , L}I Obtenemos una secuencia
I = {t, r , l} s[I ] = stsr sl
Casos particulares:I Si I = [t, r ] notaremos s[I ] como s[t : r ]I Si I = {t} notaremos s[I ] como st
21 / 111
1 Repaso de teorıa de la Probabilidad
2 Secuencias
3 Modelos probabilısticos de secuenciasMultinomialCadenas de MarkovModelos ocultos de Markov
4 Perfiles
22 / 111
Dada una secuencia
s = s1s2 · · · sL donde st ∈ A 1 ≤ t ≤ L
consideramos las siguientes variables aleatorias:
Xt = {A} elemento que ocupa la posicion t en s
Los modelos estadısticos que vamos a considerar:
Capturan suficientes propiedades y son computacionalmente eficientes
Los algoritmos son validos para cualquier alfabeto A
23 / 111
1 Repaso de teorıa de la Probabilidad
2 Secuencias
3 Modelos probabilısticos de secuenciasMultinomialCadenas de MarkovModelos ocultos de Markov
4 Perfiles
24 / 111
Multinomial
Suposicion: las sımbolos aparecen en la secuencia de forma independientee identicamente distribuida (i.i.d.)
Todas las posiciones de la secuencia tienen la misma distribucionprobabilidad.
1 ≤ t, r ≤ L, a ∈ A P(Xt = a) = P(Xr = a) = Pa
La aparicion de cada elemento del alfabeto en la secuencia esindependiente del contenido del resto de la secuencia
1 ≤ t, r ≤ L, a, b ∈ A P(Xt = a & Xl = b) = Pa · Pb
Probabilidad de una secuencia s = s1s2 · · · sL
P(X1 = s1 & . . . & XL = sL) =∏
1≤t≤LPst = P(s)
25 / 111
Estimacion de los parametros del modelo
Hipotesis de maxima verosimilitud, notada hML (maximum likelihood eningles):
hML = argmaxh∈H
P(s|h)
El conjunto de hipotesis es
H = {M(θa1 , . . . θan) : θa ∈ [0, 1] ∧ 1 =∑a∈A
θa} (infinito)
Suponemos que todas las hipotesis son igualmente probables a priori
26 / 111
Estimacion de los parametros del modelo
Hipotesis de maxima verosimilitud, notada hML (maximum likelihood eningles):
hML = argmaxh∈H
P(s|h)
Como las apariciones de los sımbolos son i.i.d.
P(s|h) =∏
1≤j≤LP(sj |h) =
∏a∈A
θNaa
26 / 111
Estimacion de los parametros del modelo
Hipotesis de maxima verosimilitud, notada hML (maximum likelihood eningles):
hML = argmaxh∈H
P(s|h)
Como las apariciones de los sımbolos son i.i.d.
P(s|h) =∏
1≤j≤LP(sj |h) =
∏a∈A
θNaa
Se trata de encontrar el valor de h que maximiza dicha probabilidad
26 / 111
Estimacion de los parametros del modelo
Hipotesis de maxima verosimilitud, notada hML (maximum likelihood eningles):
hML = argmaxh∈H
P(s|h)
Como las apariciones de los sımbolos son i.i.d.
P(s|h) =∏
1≤j≤LP(sj |h) =
∏a∈A
θNaa
Para maximizar es habitual: tomar el logaritmo, derivar respecto decada θa e igualar a 0
LP(s|h) =∑a∈A
Nalog(θa)⇒ θa =Na
L
26 / 111
Estimacion de los parametros del modelo
Hipotesis de maxima verosimilitud, notada hML (maximum likelihood eningles):
hML = argmaxh∈H
P(s|h)
hML = M(Na1
L, . . . ,
Nan
L)
En la practica, para evitar que alguna de estas probabilidades sean 0,se aplica un suavizado de Laplace:
θa =na + 1
L + n
27 / 111
Log–probabilidad
Supongamos
Modelo multinomial i.i.d., |A| = 20, |s| = 50 y Pa = 1/20 para todoa ∈ A
P(s) =1
2050≈ 8.8 ∗ 10−66
log10P(s) = log10(P(s)) = −50 ∗ log10(20) ≈ −65.05
logP(s) = ln(P(s)) = −50 ∗ ln(20) ≈ −149.79
El problema no es solo de este modelo
¿Por que es insuficiente este modelo?
28 / 111
Composicion
Tabla de frecuencias (absolutas y relativas) en una cadena de losdistintos elementos del alfabeto (global/local).
Variabilidad: tabla de frecuencias para cada subcadena de tamano k .
I Identificar posiciones en las que se producen cambios (individuales oconjuntas (C + G vs A + T )).
Tabla de frecuencias de dımeros, codones, ...
29 / 111
Variabilididad
Enterobacteria phage lambda (48502 b.)
30 / 111
Composicion CG
I Poca variacion en el contenido del par CGI Localizar secuencias procedentes de otros organimosI Las zonas ricas en AT necesitan menos energıa para separarse (son mas
inestables).
Puntos de cambio
K-meros y motif bias
Elementos usuales/inusuales (N - frecuencia):
odds ratio ≈ N(xy)
N(x)N(y)
aprox. 1 si es una multinomial
I Regiones reguladoras de los genesI Sitios de union de los factores de transcripcion
31 / 111
Puntos de cambio
Enterobacteria phage lambda (48502 b.)
32 / 111
Utilidades
Segmentacion: Separar trozos de secuencias de nucleotidos por suscaracterısticas biologicas.
Separacion exon - intron
Alineacion multiple: Comparando cada secuencia con un modeloestadıstico.
Predicciones sobre funcionalidad: relacionar proteınas yfuncionalidades.
Localizacion de genes: En celulas eucariotas.Composicion de un gen
33 / 111
Puntos de cambio
Enterobacteria phage lambda (48502 b.)
34 / 111
1 Repaso de teorıa de la Probabilidad
2 Secuencias
3 Modelos probabilısticos de secuenciasMultinomialCadenas de MarkovModelos ocultos de Markov
4 Perfiles
35 / 111
Cadenas de Markov
Suposicion:
La probabilidad de un sımbolo depende, unicamente, del sımboloinmediatamente anterior (ni de su posicion en la cadena, ni del restode sımbolos, en cualquier otra posicion que no sea la anterior, queaparecen en la misma).
P(Xt+1 = st+1|Xt = st & Y ) = P(Xt+1 = st+1|Xt = st)
P(Xt+1 = st+1|Xt = st) = P(Xr+1 = st+1|Xr = st)
36 / 111
Cadenas de MarkovElementos que definen el modelo
Matriz de transicion: MT = (Pai ,aj ) para 1 ≤ i , j ≤ n donde1 ≤ t < L, Pa,b = P(Xt+1 = b|Xt = a)
Vector inicial: π = (πai ) donde πai = P(X1 = ai )
πa Pa,b πb
a b
Pa,a Pb,bPb,a
37 / 111
Cadenas de MarkovProbabilidad de una secuencia
P(X1 = s1 & . . . & XL = sL) =
P(X1 = s1 & . . . & XL−1 = sL−1)P(XL = sL|X1 = s1 & . . . & XL−1 = sL−1) =
P(X1 = s1 & . . . & XL−1 = sL−1)P(XL = sL|XL−1 = sL−1) = . . .
P(X1 = s1 & X2 = s2)P(X3 = s3|X2 = s2) . . .P(XL = sL|XL−1 = sL−1) =
P(X1 = s1)P(X2 = s2|X1 = s1)P(X3 = s3|X2 = s2) . . .P(XL = sL|XL−1 = sL−1)
P(s) = πs1
∏1≤t<L
Pst ,st+1
38 / 111
Sımbolos que pueden aparecer
Sımbolo Nombre Nucleotido
A Adenine AT Thymine TC Cytosine CG Guanine GU Uracil UW Weak A TS Strong C GM aMino A CK Keto G TR puRine A GY pYrimidine C T
B no A C G TV no T A C GD no C A G TH no G A C T
N aNy base A C G T
39 / 111
Segmentacion
Enterobacteria phage lambda (48502 b.)
40 / 111
1 Repaso de teorıa de la Probabilidad
2 Secuencias
3 Modelos probabilısticos de secuenciasMultinomialCadenas de MarkovModelos ocultos de Markov
4 Perfiles
41 / 111
Modelos ocultos de Markov
Para cada posicion t en una secuencia tenemos:I una variable aleatoria Xt , con posibles valores {s1, . . . , sn} (estados, no
observable directamente)I otra variable aleatoria Et , con posibles valores {v1, . . . , vm}
(observaciones)
Propiedades asumidas:I Propiedad de Markov: (En cada posicion, el estado solo depende del
estado en la posicion inmediatamente anterior)
P(Xt |Y ,Xt−1) = P(Xt |Xt−1)
I Independencia de las observaciones: (En cada posicion, lo observadodepende solo del estado en esa posicion)
P(Et |Y ,Xt) = P(Et |Xt)
En ambos casos, el modelo es el mismo para cualquier t
42 / 111
Los estados ocultos pueden representar diferentes tipos de secuencias:
I Rica en GC, rica en ATI Region reguladora, region codificadora, . . .I intron, exonI . . .
Probabilidad de que se produzca un cambio de estado
Lo unico que se observa es la sucesion de sımbolos generados a partirde una distribucion multinomial que depende del estado.
Probabilidad de que aparezca cada uno de los sımbolos en cada uno de los
posibles estados
43 / 111
Componentes de un MOM (o HMM) I
La cadena de Markov de los estados (modelo de transicion):
Una variable Xt con posibles valores {s1, . . . , sn} (estados ocultos)
En cada posicion t, Xt toma exactamente uno de sus estados.
P(Xt |Xt−1): viene dada por una matriz A = (aij), dondeaij = P(Xt = sj |Xt−1 = si ) (probabilidad de pasar de si a sj)
El estado en una posicion solo depende del estado en la posicion anterior.
El modelo probabilıstico que describe la manera de transitar entre una
posicion y la siguiente, no cambia a lo largo de la secuencia.
Se cumple que∑n
j=1 aij = 1
Vector π = (πi ), donde πi = P(X1 = si ) (probabilidades a priori paracada estado).
44 / 111
Componentes de un MOM (o HMM) II
Por otro lado, la parte correspondiente a las observaciones (modelosensor):
Una variable aleatoria Et , con posibles valores {v1, . . . , vm}(observaciones)
En cada posicion t, Et toma exactamente una de sus observaciones.
La tabla de probabilidad P(Et |Xt), dada por una matriz deprobabilidades de observacion B = (bij), dondebij = P(Et = vj |Xt = si ) (probabilidad de observar vj cuando elestado es si )
La observacion en una posicion solo depende del estado en dicha posicion.
El modelo probabilıstico que describe la emision de la observacion en cada
estado, no cambia a lo largo de la secuencia.
Se cumple que∑n
j=1 bij = 1
45 / 111
Ejemplo
Disponemos de dos dados, uno equilibrado y el otro cargado. Una cadenade Markov modela la eleccion del dado en cada tirada. Y segun el dadoutilizado se genera el valor de la tirada segun una distribucion deprobabilidad distinta.Escogido uno de los lados existe un 90% de probabilidad de volver a usarel mismo para la siguiente tirada.Con el dado equilibrado la probabilidad de obtener cada uno de los valoreses siempre la misma: 0.1667Con el dado cargado la probabilidad de obtener un 6 es 0.5, mucho masque la probabilidad de obtener cualquiera del resto de los valores: 0.1 paratodos ellos.
46 / 111
Representacion grafica
b be6 c6= P(6 | e)=0.1667 = P(6 | c)=0.5
b
0.9 0.90.1
0.1
e c
b
0.5 0.5
e1 c1= P(1 | e)=0.1667 = P(1 | c)=0.1
... ...
b be5 c5= P(5 | e)=0.1667 = P(5 | c)=0.1
47 / 111
Probabilidad de una secuencia de estados
¿P(X1 = q1,X2 = q2, . . . ,Xt = qt)?
Aplicando la regla de la cadena, es igual a:
P(Xt = qt |X1 = q1, . . . ,Xt−1 = qt−1) · . . . · P(X2 = q2|X1 = q1) · P(X1 = q1)
Por la propiedad de Markov, eso es igual a:
P(Xt = qt |Xt−1 = qt−1) · . . . · P(X2 = q2|X1 = q1) · P(X1 = q1)
Luego P(X1 = q1,X2 = q2, . . . ,Xt = qt) = πq1 · aq1q2 · . . . · aqt−1qt
Es decir, la probabilidad de una secuencia de estados es el productode las correspondientes probabilidades de transitar de cada estado alsiguiente.
Ejemplo:
P(e e e c) = 0.5 · 0.9 · 0.9 · 0.1 = 0.0405
48 / 111
Problemas principales a resolver en MOMs
Dada una secuencia de observaciones o1 · · · otFiltrado: ¿cual es la probabilidad de que Xt = q?
I Ejemplo: si sabemos que la secuencia de valores hasta la cuarta tiradaes 1, 1, 2, 1 ¿cual es la probabilidad de que en la cuarta tirada se hayautilizado el dado cargado?
Explicacion mas verosımil: (o Decodificacion) ¿cual es lacorrespondiente secuencia de estados mas probable?
I Ejemplo: si sabemos que la secuencia de valores hasta la septima tiradaes 6, 6, 1, 1, 3 ¿cual es la secuencia mas probable de dados utilizados?
Aprendizaje: conociendo los estados del modelo, pero no las matricesde transicion y de observaciones, establecer dichas probabilidades
49 / 111
Filtrado
Supongamos un modelo oculto de Markov:I Con variables aleatorias Xt (estado) y Et (observacion)I Con n estados {s1, . . . , sn} y m posibles observaciones {v1, . . . , vm}I Con vector de probabilidades iniciales π, matriz de transicion A y
matriz de observacion B
Supongamos que tenemos una secuencia O = o1 · · · ot , observaciones
Filtrado: dado un estado q, queremos calcular la probabilidad de,habiendo observado la secuencia O, que el estado del sistema en laposicion t sea q
Es decir, queremos calcular
P(Xt = q|o1 · · · ot)
50 / 111
Filtrado: una primera simplificacion
Tengase en cuenta que:
P(Xt |o1 · · · ot) = β · P(Xt , o1 · · · ot)
Luego bastara calcular P(Xt = si , o1o2 · · · ot) para todos los estadossi (1 ≤ i ≤ n), y luego normalizar
Es decir, la probabilidad de observar la secuencia O y que, ademas,el estado en la posicion t sea si
¿Como se calcula β?, es decir, ¿como se normaliza?
51 / 111
Una manera ineficiente de hacer filtrado
Supongamos dada una secuencia de estados Q = q1 · · · qt y unasecuencia de observaciones O = o1 · · · otEntonces (¿por que?):
P(Q,O) = P(O|Q)P(Q) = bq1o1 · . . . · bqtot · πq1 · aq1q2 · . . . · aqt−1qt
Denotamos por Qt al conjunto de todas las secuencias con t estados
Podrıamos entonces calcular P(Xt = q,O) haciendo∑Q∈Qt−1
P(Q · q,O)
Ineficiente: ¡¡ nt−1 sumandos !!
Alternativa eficienteI Calcular P(Xk = q, o1 · · · ok), 1 ≤ k ≤ t, de manera recursiva
52 / 111
Calculo recursivo para filtrado
Llamamos αk(sj) a P(Xk = sj , o1 · · · ok), 1 ≤ k ≤ t:
Inicio: 1 ≤ j ≤ nα1(sj) = P(X1 = sj , o1) = P(o1|X1 = sj) · P(X1 = sj) = bjo1 · πj ,
Recursion (conocidos los valores de αk−1(sj)): 1 ≤ j ≤ n
αk(sj) = P(Xk = sj , o1 · · · ok)
= P(ok |Xk = sj , o1 · · · ok−1) · P(Xk = sj , o1 · · · ok−1)
= P(ok |Xk = sj) ·n∑
i=1
P(Xk = sj ,Xk−1 = si , o1 · · · ok−1)
= bjok ·n∑
i=1
(P(Xk = sj |Xk−1 = si , o1 · · · ok−1) · P(Xk−1 = si , o1 · · · ok−1)
)= bjok ·
n∑i=1
(P(Xk = sj |Xk−1 = si ) · αk−1(si )
)= bjok ·
n∑i=1
(aij · αk−1(si )
)
53 / 111
Algoritmo de Avance
Entrada:I Un modelo oculto de MarkovI Una secuencia de observaciones O = o1 · · · ot
Salida:I El conjunto de probabilidades P(Xt = sj ,O) : 1 ≤ j ≤ n
Procedimiento:I Inicio: α1(sj) = bjo1 · πj , (1 ≤ j ≤ n)I Para k desde 2 a t:
F αk(sj) = bjok ·n∑
i=1
(aij · αk−1(si )), (1 ≤ j ≤ n)
I Devolver: {αt(sj) : 1 ≤ j ≤ n}
54 / 111
¿Como usamos los αt(sj)? (I)
Recordar que αt(sj) = P(Xt = sj , o1 · · · ot)Calculo de la probabilidad de una secuencia de observaciones:
P(o1 · · · ot) =n∑
j=1
P(Xt = sj , o1 · · · ot) =n∑
j=1
αt(sj)
I Es decir, sumando los αt(sj), 1 ≤ j ≤ n, se obtiene la probabilidad dela secuencia de observaciones
55 / 111
¿Como usamos los αt(sj)? (II)
Calculo de la probabilidad de que en la posicion t estemos en unestado q, condicionado a que se ha observado la secuencia o1 · · · ot(filtrado):
I P(Xt |o1 · · · ot) se obtiene normalizando el conjunto de probabilidadesP(Xt = sj , o1 · · · ot) (1 ≤ j ≤ n)
I Es decir, normalizando los αt(sj), 1 ≤ j ≤ n, se obtienen lascorrespondientes probabilidades de filtrado
56 / 111
Ejemplo
Si sabemos que la secuencia de valores hasta la septima tirada es 1, 1, 2, 1¿cual es la probabilidad de que en la cuarta tirada se haya utilizado el dadocargado?
α1(e) = be1 · πe = 16· 0.5 = 0.08333
α1(c) = bc1 · πc = 0.1 · 0.5 = 0.05
α2(e) = be1 · (aee · α1(e) + ace · α1(c)) = 16· (0.9 · 0.08333 + 0.1 · 0.05) = 0.01333
α2(c) = bc1 · (aec · α1(e) + acc · α1(c)) = 0.1 · (0.1 · 0.08333 + 0.9 · 0.05) = 0.00533
α3(e) = be2 · (aee · α2(e) + ace · α2(c)) = 16· (0.9 · 0.01333 + 0.1 · 0.00533) = 0.00209
α3(c) = bc2 · (aec · α2(e) + acc · α2(c)) = 0.1 · (0.1 · 0.01333 + 0.9 · 0.00533) = 0.00061
α4(e) = be1 · (aee · α3(e) + ace · α3(c)) = 16· (0.9 · 0.00209 + 0.1 · 0.00061) = 0.00032
α4(c) = bc1 · (aec · α3(e) + acc · α3(c)) = 0.1 · (0.1 · 0.00209 + 0.9 · 0.00061) = 0.00008
Normalizando los valores de α4 se tiene que:
P(X4 = c |1121) = 0.2
57 / 111
Smoothing
¿cual es el estado mas probable para alguna de las posiciones intermedias?
Supongamos que tenemos la secuencia O = o1o2 · · · ot depercepciones hasta el instante t.
Dado un estado q queremos calcular la probabilidad de que, habiendoobservado la secuencia O hasta el instante t, el estado del sistema enel instante k (1 ≤ k < t) sea q;
P(Xk = q|O) =P(Xk = q,O)
P(O)=
P(Xk = q,O)∑1≤i≤n
αt(si ).
Se tiene que
P(Xk = q,O) = P(Xk = q, o1, . . . , ok)P(ok+1, . . . , ot |Xk = q, o1, . . . , ok)
= P(Xk = q, o1, . . . , ok)P(ok+1, . . . , ot |Xk = q)
= αk(q)P(ok+1, . . . , ot |Xk = q)
58 / 111
Calculo recursivo para “smoothing” (I)
Si llamamos βk(sj) a P(ok+1, . . . , ot |Xk = sj), tenemos:
Inicio:
βt−1(si )= P(ot |Xt−1 = si ) =∑
1≤j≤nP(ot ,Xt = sj |Xt−1 = si )
=∑
1≤j≤nP(ot |Xt = sj ,Xt−1 = si )P(Xt = sj |Xt−1 = si )
=∑
1≤j≤nP(ot |Xt = sj)aij =
∑1≤j≤n
bj(ot)aij
59 / 111
Calculo recursivo para “smoothing” (II)
Recursion:
βr (si ) = P(or+1, . . . , ot |Xr = si ) =∑
1≤j≤n
P(or+1, . . . , ot ,Xr+1 = sj |Xr = si )
=∑
1≤j≤n
P(or+1, . . . , ot |Xr+1 = sj ,Xr = si )P(Xr+1 = sj |Xr = si )
=∑
1≤j≤n
P(or+1, or+2, . . . , ot |Xr+1 = sj)aij
=∑
1≤j≤n
P(or+1|Xr+1 = sj)P(or+2, . . . , ot |Xr+1 = sj , or+1)aij
=∑
1≤j≤n
bj(or+1)P(or+2, . . . , ot |Xr+1 = sj)aij =∑
1≤j≤n
bj(or+1)βr+1(sj)aij
Se suele iniciar la recursion considerando: βt(si ) = 1
60 / 111
Algoritmo de “retroceso”(backward)
Entrada:I Un modelo oculto de MarkovI Una secuencia de percepciones O = o1 · · · otI Un entero k tal que 1 ≤ k < t.
Salida:I Valores βk(si ) = P(ok+1, . . . , ot |Xk = si ), para cada estado si
Procedimiento:I Inicio: βt(si ) = 1, para 1 ≤ i ≤ nI Para r desde t − 1 a k :
F Para j desde 1 a n:
• Hacer βr (sj) =∑
1≤i≤n
bi (or+1)βr+1(si )aji
I Devolver los βk(si ), para 1 ≤ i ≤ n
61 / 111
Ejemplo 1 de modelo oculto de Markov (J. Eisner)
Supongamos que en el ano 2534, un cientıfico quiere estudiar eltiempo que hubo en el ano 2012, pero no es capaz de encontrar datos(por simplificar supondremos solo dos tipos de dıas: c (calor) y f(frıo)). Pero ha encontrado un diario de la epoca, en el que unapersona describe cuantos helados tomo cada dıa de 2012 (1,2 o 3).
I Estados: variable Xt que indica el tiempo en el dıa t (posibles estadosc y f )
I Percepciones: variable Et , numero de helados comidos el dıa t (1, 2 o3).
En este ejemplo, es razonable asumir que se cumple la propiedad deMarkov y la de la independencia de las percepciones:
I El tiempo que haga un dıa depende solo del tiempo del dıa anterior.I La cantidad de helados comidos solo depende (probabilısticamente) del
tiempo en ese mismo dıa
62 / 111
Representacion grafica, ejemplo 1
Suponiendo s1 = c y s2 = f
0.70.3
0.6
0.4
0.8 0.2
1b (1)
1b
1b
b (1)
b
b
(2)
(3)
2
2
2
(2)
(3)
= P(1 | c)=0.2
= P(2 | c)=0.4
= P(3 | c)=0.4
= P(1 | f)=0.5
= P(2 | f)=0.4
= P(3 | f)=0.1
c f
63 / 111
Algoritmo de retroceso para el ejemplo 1
Para el ejemplo 1, supongamos que hasta el cuarto dıa la secuenciade percepciones es O = (3, 1, 3, 2) (es decir o1 = 3, o2 = 1, o3 = 3 yo4 = 2). Calculemos β2(s2) y β2(s2) (donde s1 = c y s2 = f )
I Paso 1:
β3(s1) = b1(o4) · a11 + b2(o4) · a12
= 0.4 · 0.7 + 0.4 · 0.3 = 0.4
β3(s2) = b1(o4) · a21 + b2(o4) · a22
= 0.4 · 0.4 + 0.4 · 0.6 = 0.4
I Paso 2:
β2(s1) = b1(o3) · β3(s1) · a11 + b2(o3) · β3(s2) · a12
= 0.4 · 0.4 · 0.7 + 0.1 · 0.4 · 0.3 = 0.124
β2(s2) = b1(o3) · β3(s1) · a21 + b2(o3) · β3(s2) · a22
= 0.4 · 0.4 · 0.4 + 0.1 · 0.4 · 0.6 = 0.088
64 / 111
Algoritmo de retroceso para el ejemplo 1
Para el ejemplo 1, supongamos que hasta el cuarto dıa la secuenciade percepciones es O = (3, 1, 3, 2) (es decir o1 = 3, o2 = 1, o3 = 3 yo4 = 2). ¿Cual es la probabilidad de cada uno de los estados elsegundo dıa?
A partir de los ejemplos de avance y retroceso tenemos que:
I α2(s1) = 0.0464 y α2(s2) = 0.054I β2(s1) = 0.124 y β2(s2) = 0.088
Multiplicando y normalizando:
I P(X2 = s1|O) = .5476698I P(X2 = s2|O) = .4523302
65 / 111
Algoritmo “forward-backward”
Entrada:I Un modelo oculto de MarkovI Una secuencia de percepciones O = o1 · · · otI Un entero k tal que 1 ≤ k ≤ t.
Salida:I Valores P(Xk = si , o1, . . . , ot), para cada estado si
Procedimiento:I Inicio: βt(si ) = 1 y α1(si ) = bi (o1) · πi , para 1 ≤ i ≤ nI Para r desde t − 1 a k :
F Para j desde 1 a n:
• Hacer βr (sj) =∑
1≤i≤n
bi (or+1)βr+1(si )aji
I Para r desde 2 a k :F Para j desde 1 a n:
• Hacer αr (sj) = bj(or )∑
1≤i≤n
(aij · αr−1(si ))
I Devolver αk(si )βk(si ), para 1 ≤ i ≤ n
66 / 111
Decodificacion (explicacion mas verosımil)
Nuevamente, tenemos un modelo oculto de Markov y una secuenciade observaciones O = o1 · · · otSe trata ahora de calcular la secuencia de estados Q = q1 · · · qt quemejor explica las observaciones
Es decir, buscamos:
argmaxQ∈Qt
P(Q|O) = argmaxQ∈Qt
P(Q,O)
Podrıamos calcular P(Q|O) (o P(Q,O)) para toda Q ∈ Qt y tomaraquella que da el maximo
I Ineficiente (del orden O(nt))
Como con el filtrado, emplearemos un metodo mas eficiente, basadoen recursion
67 / 111
Decodificacion: metodo recursivo
Dada una secuencia de estados q1 · · · qk tal que qt = sk , podemoscalcular la probabilidad de pasar por esa secuencia de estados,habiendo ademas observado o1 · · · ot .Notaremos νt(sk) a la maxima de esas probabilidades, entre todasesas secuencias de estados. Es decir:
νt(sk) = maxQ∈Qt−1
P(o1 · · · ot ,Q · sk)
Cada νt(sk) se puede calcular recursivamente, en funcion de losνt−1(sj), 1 ≤ j ≤ n del instante anterior
68 / 111
Decodificacion: metodo recursivo
La idea principal de la recursion es que la secuencia mas probable de estados hasta
llegar a Xt = sk , se compone de la secuencia mas probable de llegar hasta un cierto
estado sj en el instante t − 1, seguido de un paso de transicion desde tal sj a sk .
Por tanto, solo hay que “buscar” entre los caminos mas probables hasta el instante
t − 1 y ver desde cual se obtiene la probabilidad maxima dando un paso mas:
2s2s 2s
o1 o1
s
sn
1
3s
s
sn
1
3s
s
sn
1
3s
sj
ks
1 2 t−1
ot−1
t
otObservaciones:
Tiempo:
estados
Posibles
69 / 111
Decodificacion: metodo recursivo
Inicio: 1 ≤ j ≤ n ν1(sj) = P(o1,X1 = sj) = P(o1|X1 = sj) · P(X1 = sj) = bjo1πj
Recursion (conocidos los valores de νk−1(sj)): 1 ≤ j ≤ n
νk(sj) = maxQ∈Qk−1
P(o1 · · · ok ,Q · sj)
= maxQ∈Qk−1
(P(ok |o1 · · · ok−1,Q · sj) · P(o1 · · · ok−1,Q · sj)
)= max
Q∈Qk−1
(P(ok |Xk = sj) · P(o1 · · · ok−1,Q · sj)
)= P(ok |Xk = sj) · max
Q∈Qk−1
P(o1 · · · ok−1,Q · sj)
= bjok · maxQ∈Qk−2,1≤i≤n
P(o1 · · · ok−1,Q · si · sj)
= bjok · maxQ∈Qk−2,1≤i≤n
(P(Xk = sj |o1 · · · ok−1,Q · si ) · P(o1 · · · ok−1,Q · si )
)= bjok · max
Q∈Qk−2,1≤i≤n
(P(Xk = sj |Xk−1 = si ) · P(o1 · · · ok−1,Q · si )
)= bjok · max
1≤i≤n
(P(Xk = sj |Xk−1 = si ) · max
Q∈Qk−2
P(o1 · · · ok−1,Q · si ))
= bjok max1≤i≤n
(aij · νk−1(si ))
70 / 111
Decodificacion: metodo recursivo
Se trata de un esquema recursivo analogo al del algoritmo de avanceusado para filtrado, excepto que en lugar de sumatorios, se tomanmaximos
En este caso, ademas de calcular las probabilidades maximas,debemos llevar la cuenta de la secuencia de estados que secorresponden con esas probabilidades
I Se consigue almacenando, para cada estado e instante de tiempo, unpuntero prk(sj) al estado inmediatamente anterior en la secuencia masprobable
El metodo descrito se denomina algoritmo de Viterbi
71 / 111
Algoritmo de Viterbi
Entrada:I Un modelo oculto de MarkovI Una secuencia de observaciones O = o1 · · · ot
Salida:I La secuencia de estados Q que maximiza P(Q|O)
Procedimiento:I Inicio: ν1(sj) = bjo1 · πj , (1 ≤ j ≤ n)I Para k desde 2 a t:
F νk(sj) = bjok max1≤i≤n
(aij · νk−1(si )), (1 ≤ j ≤ n)
F prk(sj) = argmax1≤i≤n
(aij · νk−1(si )), (1 ≤ j ≤ n)
I Devolver la secuencia de estados {qk}tk=1 tal que:qt = argmax
1≤i≤nνt(si )
qk = prk+1(qk+1), (1 ≤ k ≤ t − 1)
72 / 111
EjemploSi sabemos que la secuencia de valores hasta la septima tirada es6, 6, 1, 1, 3 ¿cual es la secuencia mas probable de dados utilizados?
ν1(e) = be6 · πe = 16· 0.5 = 0.08333
ν1(c) = bc6 · πc = 0.5 · 0.5 = 0.25
ν2(e) = be6 ·max(aee · ν1(e), ace · ν1(c)) = 16·max(0.9 · 0.08333, 0.1 · 0.25) =
16·max(0.075, 0.025) = 0.0125
pr2(e) = eν2(c) = bc6 ·max(aec · ν1(e), acc · ν1(c)) = 0.5 ·max(0.1 · 0.08333, 0.9 · 0.25) =0.5 ·max(0.00833, 0.225) = 0.1125pr2(c) = c
ν3(e) = be1 ·max(aee · ν2(e), ace · ν2(c)) = 16·max(0.9 · 0.0125, 0.1 · 0.1125) =
16·max(0.01125, 0.01125) = 0.001875
pr3(e) = c
ν3(c) = bc1 ·max(aec · ν2(e), acc · ν2(c)) = 0.1 ·max(0.1 · 0.0125, 0.9 · 0.1125) =
0.1 ·max(0.00125, 0.10125) = 0.010125
pr3(c) = c
ν4(e) = be1 ·max(aee · ν3(e), ace · ν3(c)) = 16·max(0.9 · 0.001875, 0.1 · 0.010125) =
16·max(0.0016875, 0.0010125) = 0.00028125
pr4(e) = eν4(c) = bc1 ·max(aec · ν3(e), acc · ν3(c)) = 0.1 ·max(0.1 · 0.001875, 0.9 · 0.010125) =0.1 ·max(0.0001875, 0.0091125) = 0.00091125pr4(c) = cν5(e) = be3 ·max(aee · ν4(e), ace · ν4(c)) = 1
6·max(0.9 · 0.00028125, 0.1 · 0.00091125) =
16·max(0.000253125, 0.000091125) = 0.0000421875
pr5(e) = eν5(c) = bc3 ·max(aec · ν4(e), acc · ν4(c)) = 0.1 ·max(0.1 · 0.00028125, 0.9 · 0.00091125) =0.1 ·max(0.000028125, 0.000820125) = 0.0000820125pr5(c) = c
Por ultimo
q5 = c, q4 = pr5(q5) = pr5(c) = c, q3 = pr4(q4) = pr4(c) = c,
q2 = pr3(q3) = pr3(c) = c, q1 = pr2(q2) = pr2(c) = c
73 / 111
Ejemplo
Si sabemos que la secuencia de valores hasta la septima tirada es6, 6, 1, 1, 3 ¿cual es la secuencia mas probable de dados utilizados?
ν4(e) = be1 ·max(aee · ν3(e), ace · ν3(c)) = 16·max(0.9 · 0.001875, 0.1 · 0.010125) =
16·max(0.0016875, 0.0010125) = 0.00028125
pr4(e) = eν4(c) = bc1 ·max(aec · ν3(e), acc · ν3(c)) = 0.1 ·max(0.1 · 0.001875, 0.9 · 0.010125) =0.1 ·max(0.0001875, 0.0091125) = 0.00091125pr4(c) = cν5(e) = be3 ·max(aee · ν4(e), ace · ν4(c)) = 1
6·max(0.9 · 0.00028125, 0.1 · 0.00091125) =
16·max(0.000253125, 0.000091125) = 0.0000421875
pr5(e) = eν5(c) = bc3 ·max(aec · ν4(e), acc · ν4(c)) = 0.1 ·max(0.1 · 0.00028125, 0.9 · 0.00091125) =0.1 ·max(0.000028125, 0.000820125) = 0.0000820125pr5(c) = c
Por ultimo
q5 = c, q4 = pr5(q5) = pr5(c) = c, q3 = pr4(q4) = pr4(c) = c,
q2 = pr3(q3) = pr3(c) = c, q1 = pr2(q2) = pr2(c) = c
73 / 111
El problema de los numeros muy bajos (I)
Problema en los dos algoritmos que hemos visto:
A medida que aumenta el numero de observaciones, tanto los αk(sj)como los νk(sj) son numeros cada vez mas cercanos a cero
Para evitar esto en el algoritmo de avance, es usual que en cada paso,se aplique normalizacion de los αk(sj)
¿Cambia esto el resultado en el algoritmo de avance?I Estarıamos calculando en cada paso k las probabilidades de filtrado
P(Xk = sj |o1 · · · ok) (en lugar de P(Xk = sj , o1 · · · ok))I Si quisieramos saber, la probabilidad P(o1 · · · ot), esta se calcularıa
como la inversa del producto de los factores de normalizacion usadosen cada paso (¿por que?)
74 / 111
El problema de los numeros muy bajos (II)
En el algoritmo de Viterbi tambien podrıamos usar normalizacion (yno cambiarıa el resultado final)
Sin embargo, puesto que no realiza sumas, es usual tratar esteproblema mediante el uso de logaritmos (log-probabilidades)
Si se toman logaritmos, los productos que realiza el algoritmo setransforman en sumas
Esto no afecta al calculo de los maximos, ya que el logaritmo es unafuncion creciente
Notese que las log-probabilidades de las tablas de transicion y de lasde observacion se pueden calcular al principio
75 / 111
Algoritmo de Viterbi (log-modificado)
Entrada:I Un modelo oculto de MarkovI Una secuencia de observaciones O = o1 · · · ot
Salida:I La secuencia de estados Q que maximiza P(Q|O)
Procedimiento:I Inicio: ν1(sj) = log(bjo1 ) + log(πj), (1 ≤ j ≤ n)I Para k desde 2 a t:
F νk(sj) = log(bjok ) + max1≤i≤n
(log(aij) + νk−1(si )), (1 ≤ j ≤ n)
F prk(sj) = argmax1≤i≤n
(log(aij) + νk−1(si )), (1 ≤ j ≤ n)
I Devolver la secuencia de estados {qk}tk=1 tal que:qt = argmax
1≤i≤nνt(si )
qk = prk+1(qk+1), (1 ≤ k ≤ t − 1)
76 / 111
Aprendizaje de MOMs
El tercer problema importante en MOMs es el aprendizaje:I Conocemos el numero de posibles estados y de observaciones, pero no
conocemos ni las probabilidades de transicion ni de observacion.I Solo tenemos una secuencia de observaciones o1 · · · ot , usualmente con
t muy grande.
El algoritmo que se usa para este tipo de problema es el denominadoalgoritmo de Baum-Welch
Es un algoritmo de tipo EM (no lo veremos aquı)
Otra posibilidad es hacer un aprendizaje MLI Solo es valido si tambien tenemos la secuencia de estados, q1 · · · qt ,
correspondiente a las observaciones
77 / 111
Aprendizaje ML
πi = P(X1 = si ) =Lsi∑
1≤k≤nLsk
siendo Lsk el numero de veces que el
estado inicial es sk .
aij = P(Xt = sj |Xt−1 = si ) =Nsi sj∑
1≤k≤nNsi sk
siendo Nsi sk el numero de
veces que el estado sk sigue al estado si
bij = P(Et = vj |Xt = si ) =Msivj∑
1≤k≤mMsivk
siendo Msivk el numero de
veces que el estado es si da lugar a la observacion vk (es decir, ambosen la misma posicion)
78 / 111
Ejemplo de estimacion
Conocemos las secuencias de estados y percepciones:
f f f f f c f c c1 2 1 1 2 3 2 3 3
c f f c c c c c c2 2 1 1 2 3 2 2 3
f f f f f f c c c2 1 3 2 1 1 2 3 2
Calculamos las frecuencias y estimamos las probabilidades
Lf = 2, Lc = 1πf = 2/3, πc = 1/3
N f c
f 10 4c 2 8
A f c
f 5/7 2/7c 1/5 4/5
M 1 2 3
f 7 4 1c 1 6 6
B 1 2 3
f 7/12 1/3 1/12c 1/13 6/13 6/13
79 / 111
Algoritmo tipo EM
Inicio: Parametros iniciales del modelo estadıstico
Paso E: Calcular ciertos valores esperados a partir de los parametrosdel modelo
Paso M: Estimar los parametros del modelo a partir de los valoresesperados anteriores.
Repetir los dos pasos anteriores hasta algun criterio de convergencia(o limitando el numero de veces)
80 / 111
Algoritmo Baum-Welch
Entrada:I Un modelo oculto de Markov, λ = (π,A,B)I Una secuencia de percepciones O = o1 · · · ot
Salida:I Un modelo oculto de Markov, λ′ tal que P(O|λ′) ≥ P(O|λ)
Procedimiento:I Repetir hasta un determinado criterio de convergencia:
F λ′ = λF Paso ExpectationF Paso Maximization (que da lugar a un modelo λ)
81 / 111
Algoritmo Baum-Welch: Paso E
Calculamos los valores de las probabilidades de las transiciones y losestados (conocida una secuencia de percepciones)
ξk(i , j) = P(Xk = si ,Xk+1 = sj |o1 · · · ot)
ξk (i, j) =P(Xk = si , Xk+1 = sj , o1 · · · ot )
P(o1 · · · ot )
=P(Xk = si , o1 · · · ok )P(Xk+1 = sj , ok+1 · · · ot |Xk = si , o1 · · · ok )
P(o1 · · · ot )
=αk (si )P(Xk+1 = sj , ok+1|Xk = si , o1 · · · ok )P(ok+2 · · · ot |Xk+1 = sj , Xk = si , o1 · · · ok+1)∑
1≤i≤n
αt (si )
=αk (si )P(Xk+1 = sj , ok+1|Xk = si )P(ok+2 · · · ot |Xk+1 = sj )∑
1≤i≤n
αt (si )
=αk (si )P(Xk+1 = sj |Xk = si )P(ok+1|Xk+1 = sj , Xk = si )βk+1(sj )∑
1≤i≤n
αt (si )=αk (si )aijbj (ok+1)βk+1(sj )∑
1≤i≤n
αt (si )
82 / 111
Algoritmo Baum-Welch: Paso E
Calculamos los valores de las probabilidades de las transiciones y losestados (conocida una secuencia de percepciones)
γk(i) = P(Xk = si |o1 · · · ot)
γk(i) =P(Xk = si , o1 · · · ot)
P(o1 · · · ot)=αk(si )βk(si )∑1≤i≤n
αt(si )
82 / 111
Algoritmo Baum-Welch: Paso M
Estimamos los parametros del modelo:
πi = γ1(i)
aij =
∑1≤k≤t
ξk(i , j)∑1≤k≤t
γk(i)
bi (vj) =
∑1≤k≤t∧ok=vj
γk(i)∑1≤k≤t
γk(i)
Baum et al. demostraron que si a partir de un modelo λ′ = (π′,A′,B ′)calculamos el modelo λ utilizando el procedimiento anterior (pasos E y M)entonces se tiene que:
o bien, λ = λ′
o bien, P(O|λ) > P(O|λ′)
83 / 111
1 Repaso de teorıa de la Probabilidad
2 Secuencias
3 Modelos probabilısticos de secuenciasMultinomialCadenas de MarkovModelos ocultos de Markov
4 Perfiles
84 / 111
Motivacion
Dada una secuencia de aminoacidos:¿Que utilidad tendra la proteına resultante?
1. Comparar con familias de proteınas conocidas2. Alineamiento multiple de proteınas3. Expresiones regulares4. profile HMM
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K
85 / 111
Motivacion
Dada una secuencia de aminoacidos:¿Que utilidad tendra la proteına resultante?
1. Comparar con familias de proteınas conocidas2. Alineamiento multiple de proteınas3. Expresiones regulares4. profile HMM
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K
85 / 111
Motivacion
Dada una secuencia de aminoacidos:¿Que utilidad tendra la proteına resultante?
1. Comparar con familias de proteınas conocidas2. Alineamiento multiple de proteınas3. Expresiones regulares4. profile HMM
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K
85 / 111
Motivacion
Dada una secuencia de aminoacidos:¿Que utilidad tendra la proteına resultante?
1. Comparar con familias de proteınas conocidas2. Alineamiento multiple de proteınas3. Expresiones regulares4. profile HMM
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K
85 / 111
Motivacion
Dada una secuencia de aminoacidos:¿Que utilidad tendra la proteına resultante?
1. Comparar con familias de proteınas conocidas2. Alineamiento multiple de proteınas3. Expresiones regulares4. profile HMM
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K
85 / 111
Motivacion
Dada una secuencia de aminoacidos:¿Que utilidad tendra la proteına resultante?
1. Comparar con familias de proteınas conocidas2. Alineamiento multiple de proteınas3. Expresiones regulares4. profile HMM
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K
85 / 111
Expresiones regulares
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K
[RT] [KG] [RK] [RKGT]∗ R [TG] [GK]
86 / 111
Expresiones regulares
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K
[RT] [KG] [RK] [RKGT]∗ R [TG] [GK]
86 / 111
Expresiones regulares
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K
[RT] [KG] [RK] [RKGT]∗ R [TG] [GK]
87 / 111
Expresiones regulares
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K
[RT] [KG] [RK] [RKGT]∗ R [TG] [GK]
88 / 111
Expresiones regulares
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K
[RT] [KG] [RK] [RKGT]∗ R [TG] [GK]
89 / 111
Expresiones regulares
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K
[RT] [KG] [RK] [RKGT]∗ R [TG] [GK]
T G K T R G G → T G K T – – R G GR K R K K R T K → R K R K K – R T K
}medida de distancia
90 / 111
Expresiones regulares
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K
[RT] [KG] [RK] [RKGT]∗ R [TG] [GK]
T G K T R G G → T G K T – – R G GR K R K K R T K → R K R K K – R T K
}medida de distancia
90 / 111
Expresiones regulares
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K
[RT] [KG] [RK] [RKGT]∗ R [TG] [GK]
T G K T R G G → T G K T – – R G GR K R K K R T K → R K R K K – R T K
}medida de distancia
90 / 111
Expresiones regulares
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K
[RT] [KG] [RK] [RKGT]∗ R [TG] [GK]
T G K T R G G → T G K T – – R G GR K R K K R T K → R K R K K – R T K
}medida de distancia
90 / 111
Expresiones regulares
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K
[RT] [KG] [RK] [RKGT]∗ R [TG] [GK]
T G K T R G G → T G K T – – R G GR K R K K R T K → R K R K K – R T K
}medida de distancia
90 / 111
Expresiones regulares
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K
[RT] [KG] [RK] [RKGT]∗ R [TG] [GK]
T G K T R G G → T G K T – – R G GR K R K K R T K → R K R K K – R T K
}medida de distancia
90 / 111
HMM
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K
Primera aproximacion
R .2
K .4
G .2
T .2
.6
I
R .8
K .2GT
.4M3
R 1KGT
.4
.6
M4
RK
G .2
T .8
1
M5
R
K .8
G .2T
1
M6
R
K .8
G .2T
1
M2
R .8KG
T .2
1
M1
91 / 111
HMM
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K︸︷︷︸ ︸︷︷︸ ︸︷︷︸ ︸ ︷︷ ︸ ︸︷︷︸ ︸︷︷︸ ︸︷︷︸
M1 M2 M3 I M4 M5 M6
R .2
K .4
G .2
T .2
.6
I
R .8
K .2GT
.4M3
R 1KGT
.4
.6
M4
RK
G .2
T .8
1
M5
R
K .8
G .2T
1
M6
R
K .8
G .2T
1
M2
R .8KG
T .2
1
M1
92 / 111
HMM
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K︸︷︷︸ ︸︷︷︸ ︸︷︷︸ ︸ ︷︷ ︸ ︸︷︷︸ ︸︷︷︸ ︸︷︷︸
M1 M2 M3 I M4 M5 M6
R .2
K .4
G .2
T .2
.6
I
R .8
K .2GT
.4M3
R 1KGT
.4
.6
M4
RK
G .2
T .8
1
M5
R
K .8
G .2T
1
M6
R
K .8
G .2T
1
M2
R .8KG
T .2
1
M1
93 / 111
HMM
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K︸︷︷︸ ︸︷︷︸ ︸︷︷︸ ︸ ︷︷ ︸ ︸︷︷︸ ︸︷︷︸ ︸︷︷︸
M1 M2 M3 I M4 M5 M6
R .2
K .4
G .2
T .2
.6
I
R .8
K .2GT
.4M3
R 1KGT
.4
.6
M4
RK
G .2
T .8
1
M5
R
K .8
G .2T
1
M6
R
K .8
G .2T
1
M2
R 4/5 = .8KG
T 1/5 = .2
1
M1
94 / 111
HMM
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K︸︷︷︸ ︸︷︷︸ ︸︷︷︸ ︸ ︷︷ ︸ ︸︷︷︸ ︸︷︷︸ ︸︷︷︸
M1 M2 M3 I M4 M5 M6
R .2
K .4
G .2
T .2
.6
I
R .8
K .2GT
.4M3
R 1KGT
.4
.6
M4
RK
G .2
T .8
1
M5
R
K .8
G .2T
1
M6
R
K .8
G .2T
1
M2
R .8KG
T .2
1
M1
95 / 111
HMM
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K︸︷︷︸ ︸︷︷︸ ︸︷︷︸ ︸ ︷︷ ︸ ︸︷︷︸ ︸︷︷︸ ︸︷︷︸
M1 M2 M3 I M4 M5 M6
R .2
K .4
G .2
T .2
.6
I
R .8
K .2GT
2/5 = .4M3
R 1KGT
.4
3/5 = .6
M4
RK
G .2
T .8
1
M5
R
K .8
G .2T
1
M6
R
K .8
G .2T
1
M2
R .8KG
T .2
1
M1
96 / 111
HMM
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K︸︷︷︸ ︸︷︷︸ ︸︷︷︸ ︸ ︷︷ ︸ ︸︷︷︸ ︸︷︷︸ ︸︷︷︸
M1 M2 M3 I M4 M5 M6
R .2
K .4
G .2
T .2
3/5 = .6
I
R .8
K .2GT
.4M3
R 1KGT
.4
.6
M4
RK
G .2
T .8
1
M5
R
K .8
G .2T
1
M6
R
K .8
G .2T
1
M2
R .8KG
T .2
1
M1
97 / 111
HMM
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K︸︷︷︸ ︸︷︷︸ ︸︷︷︸ ︸ ︷︷ ︸ ︸︷︷︸ ︸︷︷︸ ︸︷︷︸
M1 M2 M3 I M4 M5 M6
R .2
K .4
G .2
T .2
.6
I
R .8
K .2GT
.6M3
R 1KGT
2/5 = .4
.4
M4
RK
G .2
T .8
1
M5
R
K .8
G .2T
1
M6
R
K .8
G .2T
1
M2
R .8KG
T .2
1
M1
98 / 111
Puntuacion con HMM
R .2
K .4
G .2
T .2
.6
I
R .8
K .2GT
.4M3
R 1KGT
.4
.6
M4
RK
G .2
T .8
1
M5
R
K .8
G .2T
1
M6
R
K .8
G .2T
1
M2
R .8KG
T .2
1
M1
Utilizando el algoritmo de avance
T G K T R G G → P(T G K T R G G) = 0.000011
R K R K K R T K → P(R K R K K R T K) = 0.0051
R K R K K Q T K → P(R K R K K Q T K) = 0
99 / 111
Puntuacion con HMM
R .2
K .4
G .2
T .2
.6
I
R .8
K .2GT
.4M3
R 1KGT
.4
.6
M4
RK
G .2
T .8
1
M5
R
K .8
G .2T
1
M6
R
K .8
G .2T
1
M2
R .8KG
T .2
1
M1
Utilizando el algoritmo de avance
T G K T R G G → P(T G K T R G G) = 0.000011
R K R K K R T K → P(R K R K K R T K) = 0.0051
R K R K K Q T K → P(R K R K K Q T K) = 0
99 / 111
Puntuacion con HMM
R .2
K .4
G .2
T .2
.6
I
R .8
K .2GT
.4M3
R 1KGT
.4
.6
M4
RK
G .2
T .8
1
M5
R
K .8
G .2T
1
M6
R
K .8
G .2T
1
M2
R .8KG
T .2
1
M1
Utilizando el algoritmo de avance
T G K T R G G → P(T G K T R G G) = 0.000011
R K R K K R T K → P(R K R K K R T K) = 0.0051
R K R K K Q T K → P(R K R K K Q T K) = 0
99 / 111
Puntuacion con HMM
R .2
K .4
G .2
T .2
.6
I
R .8
K .2GT
.4M3
R 1KGT
.4
.6
M4
RK
G .2
T .8
1
M5
R
K .8
G .2T
1
M6
R
K .8
G .2T
1
M2
R .8KG
T .2
1
M1
Utilizando el algoritmo de avance
T G K T R G G → P(T G K T R G G) = 0.000011
R K R K K R T K → P(R K R K K R T K) = 0.0051
R K R K K Q T K → P(R K R K K Q T K) = 0
99 / 111
Puntuacion con HMM (suavizado)
Ley de Laplace (para los aminoacidos):
P(o|X ) =no + 1
N + 20
R .08
K .12
G .08
T .08. . .
.6
I
R .2
K .08
G .04
T .04. . .
.4M3
R .24
K .04
G .04
T .04. . .
.4
.6
M4
R .04
K .04
G .08
T .2. . .
1
M5
R .04
K .2
G .08
T .04. . .
1
M6
R .04
K .2
G .08
T .04. . .
1
M2
R .2
K .04
G .04
T .08. . .
1
M1
R K R K K Q T K → P(R K R K K Q T K) = 0.000000021
100 / 111
Puntuacion con HMM (suavizado)
Ley de Laplace (para los aminoacidos):
P(o|X ) =no + 1
N + 20
R .08
K .12
G .08
T .08. . .
.6
I
R .2
K .08
G .04
T .04. . .
.4M3
R .24
K .04
G .04
T .04. . .
.4
.6
M4
R .04
K .04
G .08
T .2. . .
1
M5
R .04
K .2
G .08
T .04. . .
1
M6
R .04
K .2
G .08
T .04. . .
1
M2
R .2
K .04
G .04
T .08. . .
1
M1
R K R K K Q T K → P(R K R K K Q T K) = 0.000000021
100 / 111
Puntuacion con HMM (suavizado)
Ley de Laplace (para los aminoacidos):
P(o|X ) =no + 1
N + 20
R .08
K .12
G .08
T .08. . .
.6
I
R .2
K .08
G .04
T .04. . .
.4M3
R .24
K .04
G .04
T .04. . .
.4
.6
M4
R .04
K .04
G .08
T .2. . .
1
M5
R .04
K .2
G .08
T .04. . .
1
M6
R .04
K .2
G .08
T .04. . .
1
M2
R .2
K .04
G .04
T .08. . .
1
M1
R K R K K Q T K → P(R K R K K Q T K) = 0.000000021
100 / 111
Alineacion con HMM
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K︸︷︷︸ ︸︷︷︸ ︸︷︷︸ ︸ ︷︷ ︸ ︸︷︷︸ ︸︷︷︸ ︸︷︷︸
M1 M2 M3 I M4 M5 M6
Utilizando el algoritmo de viterbi
T G K T R G G → M1 M2 M3 I M4 M5 M6
R K R K K R T K → M1 M2 M3 I I M4 M5 M6
R K R K K Q T K → M1 M2 M3 I I M4 M5 M6
101 / 111
Alineacion con HMM
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K︸︷︷︸ ︸︷︷︸ ︸︷︷︸ ︸ ︷︷ ︸ ︸︷︷︸ ︸︷︷︸ ︸︷︷︸
M1 M2 M3 I M4 M5 M6
Utilizando el algoritmo de viterbi
T G K T R G G → M1 M2 M3 I M4 M5 M6
R K R K K R T K → M1 M2 M3 I I M4 M5 M6
R K R K K Q T K → M1 M2 M3 I I M4 M5 M6
101 / 111
Alineacion con HMM
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K︸︷︷︸ ︸︷︷︸ ︸︷︷︸ ︸ ︷︷ ︸ ︸︷︷︸ ︸︷︷︸ ︸︷︷︸
M1 M2 M3 I M4 M5 M6
Utilizando el algoritmo de viterbi
T G K T R G G → M1 M2 M3 I M4 M5 M6
R K R K K R T K → M1 M2 M3 I I M4 M5 M6
R K R K K Q T K → M1 M2 M3 I I M4 M5 M6
101 / 111
Alineacion con HMM
R K R – – – R T GT K R R K T R T KR K R K G – R G KR G R – – – R T KR K K – – – R T K︸︷︷︸ ︸︷︷︸ ︸︷︷︸ ︸ ︷︷ ︸ ︸︷︷︸ ︸︷︷︸ ︸︷︷︸
M1 M2 M3 I M4 M5 M6
Utilizando el algoritmo de viterbi
T G K T R G G → M1 M2 M3 I M4 M5 M6
R K R K K R T K → M1 M2 M3 I I M4 M5 M6
R K R K K Q T K → M1 M2 M3 I I M4 M5 M6
101 / 111
HMM y Perfiles
No permiten modelizar nuevas secuencias que necesiten nuevas zonas conhuecos para su alineacionProfile HMM
Para cada posicion del alineamiento se definen tres estados:I Columnas en las que mas de la mitad de los nucleotidos coinciden:
coincidenciaI Region de columnas consecutivas que no son de coincidencia: insercionI Huecos existentes en las distintas columnas: eliminacion
Se definen las probabilidades de emision y transicion que capturen lainformacion especıfica de cada posicion en el alineamiento multiple
102 / 111
Profile HMM
Alineacion multiple
A G – – – CA G A G – CA G – A A G– G A – A CA G – – – C
I0 M1 I1 M2 I2 M3 I3
Profile HMM
D1 D2 D3
I1I0 I2 I3
M0 M1 M2 M3 M4
Alineaciones
A C G TM1 4 0 0 0M2 0 0 5 0M3 0 4 1 0
Inserciones
A C G TI0 0 0 0 0I1 0 0 0 0I2 5 0 1 0I3 0 0 0 0
Transiciones
0 1 2 3 4Mi−1 →Mi 4 4 2 4Mi−1 →Di 1 0 0
Mi →Ii 0 0 3 0Ii−1 →Mi 0 0 3 0Ii−1 →Di 0 0 0
Ii →Ii 0 3 0Di−1 →Mi 1 0 0Di−1 →Di 0 0
Di →Ii 0 0 0
103 / 111
Profile HMM
Alineacion multiple
A G – – – CA G A G – CA G – A A G– G A – A CA G – – – C
M1 M2 I2 M3
Profile HMM
D1 D2 D3
I1I0 I2 I3
M0 M1 M2 M3 M4
Alineaciones
A C G TM1 4 0 0 0M2 0 0 5 0M3 0 4 1 0
Inserciones
A C G TI0 0 0 0 0I1 0 0 0 0I2 5 0 1 0I3 0 0 0 0
Transiciones
0 1 2 3 4Mi−1 →Mi 4 4 2 4Mi−1 →Di 1 0 0
Mi →Ii 0 0 3 0Ii−1 →Mi 0 0 3 0Ii−1 →Di 0 0 0
Ii →Ii 0 3 0Di−1 →Mi 1 0 0Di−1 →Di 0 0
Di →Ii 0 0 0
104 / 111
Profile HMM
Alineacion multiple
A G – – – CA G A G – CA G – A A G– G A – A CA G – – – C
M1 M2 I2 M3
Profile HMM
D1 D2 D3
I1I0 I2 I3
M0 M1 M2 M3 M4
Alineaciones
A C G TM1 4 0 0 0M2 0 0 5 0M3 0 4 1 0
Inserciones
A C G TI0 0 0 0 0I1 0 0 0 0I2 5 0 1 0I3 0 0 0 0
Transiciones
0 1 2 3 4Mi−1 →Mi 4 4 2 4Mi−1 →Di 1 0 0
Mi →Ii 0 0 3 0Ii−1 →Mi 0 0 3 0Ii−1 →Di 0 0 0
Ii →Ii 0 3 0Di−1 →Mi 1 0 0Di−1 →Di 0 0
Di →Ii 0 0 0
105 / 111
Profile HMM
Alineacion multiple
A G – – – CA G A G – CA G – A A G– G A – A CA G – – – C
M1 M2 I2 M3
Profile HMM
D1 D2 D3
I1I0 I2 I3
M0 M1 M2 M3 M4
Alineaciones
A C G TM1 4 0 0 0M2 0 0 5 0M3 0 4 1 0
Inserciones
A C G TI0 0 0 0 0I1 0 0 0 0I2 5 0 1 0I3 0 0 0 0
Transiciones
0 1 2 3 4Mi−1 →Mi 4 4 2 4Mi−1 →Di 1 0 0
Mi →Ii 0 0 3 0Ii−1 →Mi 0 0 3 0Ii−1 →Di 0 0 0
Ii →Ii 0 3 0Di−1 →Mi 1 0 0Di−1 →Di 0 0
Di →Ii 0 0 0
106 / 111
Profile HMM
Alineacion multiple
A G – – – CA G A G – CA G – A A G– G A – A CA G – – – C
M1 M2 I2 M3
Profile HMM
D1 D2 D3
I1I0 I2 I3
M0 M1 M2 M3 M4
Alineaciones
A C G TM1 4 0 0 0M2 0 0 5 0M3 0 4 1 0
Inserciones
A C G TI0 0 0 0 0I1 0 0 0 0I2 5 0 1 0I3 0 0 0 0
Transiciones
0 1 2 3 4Mi−1 →Mi 4 4 2 4Mi−1 →Di 1 0 0
Mi →Ii 0 0 3 0Ii−1 →Mi 0 0 3 0Ii−1 →Di 0 0 0
Ii →Ii 0 3 0Di−1 →Mi 1 0 0Di−1 →Di 0 0
Di →Ii 0 0 0
107 / 111
Profile HMM
Alineacion multiple
A G – – – CA G A G – CA G – A A G– G A – A CA G – – – C
M1 M2 I2 M3
Profile HMM
D1 D2 D3
I1I0 I2 I3
M0 M1 M2 M3 M4
Alineaciones
A C G TM1 4 0 0 0M2 0 0 5 0M3 0 4 1 0
Inserciones
A C G TI0 0 0 0 0I1 0 0 0 0I2 5 0 1 0I3 0 0 0 0
Transiciones
0 1 2 3 4Mi−1 →Mi 4 4 2 4Mi−1 →Di 1 0 0
Mi →Ii 0 0 3 0Ii−1 →Mi 0 0 3 0Ii−1 →Di 0 0 0
Ii →Ii 0 3 0Di−1 →Mi 1 0 0Di−1 →Di 0 0
Di →Ii 0 0 0
108 / 111
Profile HMM
Aunque los estados de insercion adquieren sus probabilidades de emision ytransicion en base a estas frecuencias, para hacer mas preciso el modelo seasignan las transiciones aMi Ii , aIi−1Mi
y aIi−1Ii de tal forma quelog aMi Ii + log aIi−1Mi
sea igual a la penalizacion por abrir un hueco, ylog aIi−1Ii sea igual a la penalizacion por extenderlo, y la emision comoP(o|Ii )
no, donde no es la frecuencia relativa del sımbolo o en todas las
secuencias
109 / 111
Profile HMM
νk(Ij) = log(bIjoknok
) + max
log(aMj Ij ) + νk−1(Mj)
log(aIj Ij ) + νk−1(Ij)
log(aDj Ij ) + νk−1(Dj)
νk(Dj) = max
log(aMj−1Dj
) + νk−1(Mj−1)
log(aIj−1Dj) + νk−1(Ij−1)
log(aDj−1Dj) + νk−1(Dj−1)
νk(Mj) = log(
bMjok
nok) + max
log(aMj−1Mj
) + νk−1(Mj−1)
log(aIj−1Mj) + νk−1(Ij−1)
log(aDj−1Mj) + νk−1(Dj−1)
110 / 111
Usos
Permiten construir un modelo sobre una familia de secuenciascaracterizable por un alineamiento multiple entre los motivos que elalineamiento pone de manifiesto.
Problemas de clasificacion:
Determinar si una determinada proteına pertenece o no a una familiaconocida...
Alineacion multiple de secuencias:
Anadir una nueva secuencia a un alineamiento multiple conocido...
Busqueda de secuencias en bases de datos:
Localizar familias de genes en las que un nuevo gen pueda encajar...
111 / 111