CODIFICACION DE VITERBI.docx

22
CODIFICACION DE VITERBI El algoritmo de Viterbi permite encontrar las secuencia de estados más probable en un Modelo oculto de Markov (MOM), S = ( q _ { 1 } , q _ { 2 } , l d o t s , q _ { T } ) , a partir de una observación O = ( o _

Transcript of CODIFICACION DE VITERBI.docx

Page 1: CODIFICACION DE VITERBI.docx

CODIFICACION DE VITERBI

El algoritmo de Viterbi permite encontrar las secuencia de estados más probable en un Modelo oculto de Markov (MOM),

S

=

(

q

_

{

1

}

,

q

_

{

2

}

,

l

d

o

t

s

,

q

_

{

T

}

)

, a partir de una observación

O

=

(

o

_

{

1

}

Page 2: CODIFICACION DE VITERBI.docx

,

o

_

{

2

}

,

l

d

o

t

s

,

o

_

{

T

}

)

, es decir, obtiene la secuencia óptima que mejor explica la secuencia de observaciones.Consideremos la variable δt(i) que se define como:

d

e

l

t

a

_

{

t

}

{

(

i

)

}

=

m

a

x

_

{

Page 3: CODIFICACION DE VITERBI.docx

q

_

{

1

}

,

q

_

{

2

}

,

l

d

o

t

s

,

q

_

{

t

-

1

}

}

{

P

(

q

_

{

1

}

,

q

_

{

2

}

,

l

d

o

Page 4: CODIFICACION DE VITERBI.docx

t

s

,

q

_

{

t

}

=

i

,

o

_

{

1

}

,

o

_

{

2

}

,

l

d

o

t

s

,

o

_

{

t

}

|

m

u

)

}

δt(i) es la probabilidad del mejor camino hasta el estado i habiendo visto las t primeras observaciones. Esta función se calcula para todos los estados e instantes de tiempo.

Page 5: CODIFICACION DE VITERBI.docx

d

e

l

t

a

_

{

t

+

1

}

{

(

i

)

}

=

b

i

g

g

l

[

m

a

x

_

{

1

l

e

q

i

l

e

q

N

Page 6: CODIFICACION DE VITERBI.docx

}

{

d

e

l

t

a

_

{

t

}

(

a

_

{

ij

}

)

}

b

i

g

g

r

]

b

_

{

j

}

(

o

_

{

t

+

1

}

)

Puesto que el objetivo es obtener las secuencia de estados más probable, será necesario almacenar el argumento que hace máxima la ecuación anterior en cada instante de tiempo t y para cada estado j y para ello utilizamos la variable

Page 7: CODIFICACION DE VITERBI.docx

v

a

r

p

h

i

_

{

t

}

{

(

j

)

}

.A continuación se detalla el proceso completo utilizando las funciones δ y

v

a

r

p

h

i

.

AlgoritmoInicializaciónδ1(i) = πibi(o1)donde

1

l

e

q

i

l

e

q

Page 8: CODIFICACION DE VITERBI.docx

N

Recursión

d

e

l

t

a

_

{

t

+

1

}

{

(

i

)

}

=

b

i

g

g

l

[

m

a

x

_

{

1

l

e

q

i

Page 9: CODIFICACION DE VITERBI.docx

l

e

q

N

}

{

d

e

l

t

a

_

{

i

}

(

a

_

{

ij

}

)

}

b

i

g

g

r

]

b

_

{

j

}

(

o

_

{

t

+

1

}

)

Page 10: CODIFICACION DE VITERBI.docx

,donde:

t

=

1

,

2

,

l

d

o

t

s

,

T

-

1

,

1

l

e

q

j

l

e

q

N

v

a

r

p

h

i

Page 11: CODIFICACION DE VITERBI.docx

_

{

t

+

1

}

{

(

j

)

}

=

a

r

g

m

a

x

_

{

1

l

e

q

i

l

e

q

N

}

{

d

e

l

t

a

_

{

t

}

{

Page 12: CODIFICACION DE VITERBI.docx

(

i

)

a

_

{

ij

}

}

}

,donde:

t

=

1

,

2

,

l

d

o

t

s

,

T

-

1

,

1

l

e

q

j

l

e

q

N

Page 13: CODIFICACION DE VITERBI.docx

Terminación

q

_

{

T

}

^

{

*

}

=

a

r

g

m

a

x

_

{

1

l

e

q

i

l

e

q

N

}

{

d

e

l

t

a

_

Page 14: CODIFICACION DE VITERBI.docx

{

T

}

{

(

i

)

}

}

Reconstrucción de la secuencia de estados más probable

q

_

{

t

}

^

{

*

}

=

v

a

r

p

h

i

_

{

t

+

1

}

{

(

q

_

{

t

+

1

Page 15: CODIFICACION DE VITERBI.docx

}

^

{

*

}

)

}

,donde:

t

=

T

-

1

,

T

-

2

,

l

d

o

t

s

,

1

Algunos de los cálculos del algoritmo de Viterbi recuerdan a los del algoritmo forward necesario para calcular eficientemente la probabilidad de una secuencia de observables. Una de las diferencias es la incorporación de la función argmax (en lugar de sumar las probabilidades) para calcular la secuencia de estados más probable.Ejemplo de secuencia de estados más probableLa figura muestra un ejemplo de secuencia de estados más probable en un Modelo Oculto de Márkov de 5 estados dada un secuencia de observaciones de longitud 5.

Page 16: CODIFICACION DE VITERBI.docx

E

j

e

m

p

l

o

d

e

s

e

c

u

e

n

c

i

a

Page 17: CODIFICACION DE VITERBI.docx

d

e

e

s

t

a

d

o

s

m

á

s

p

r

o

b

a

b

l

e

e

n

u

n

M

O

M

Aplicación del algoritmo de ViterbiDesambiguación léxica categorialUna de las aplicaciones del algoritmo de Viterbi es en el área de procesamiento de lenguaje natural, más concretamente en el proceso de desambiguacion lexica categorialEn este caso particular, los elementos de un modelo oculto de Markovserían los siguientes:

El conjunto Q de estados sería el conjunto de posibles etiquetas (categorias gramaticales) para las

palabras.

Page 18: CODIFICACION DE VITERBI.docx

El conjunto V de observables en cada uno de los estados corresponde con el conjunto de palabras

distintas.

El conjunto A de probabilidades de transiciones entre estados sería la probabilidad de que una

determinada categoría categorial siga a otra. Por ejemplo, la probabilidad de que la

categoría nombre vaya detrás de la categoríadeterminante.

El conjunto B de probabilidades de las observaciones correspondería con la probabilidad de

pertenencia de una palabra (un observable) a una determinada categoría. Por ejemplo, la

probabilidad de que la palabracasa sea verbo, que será menor que la probabilidad de que esta

misma palabra tenga la categoría gramatical nombre.

La figura siguiente muestra un ejemplo de etiquetado gramatical para la oración "Coto privado de caza"

E

t

i

q

u

e

t

a

d

o

g

r

a

m

a

t

i

Page 19: CODIFICACION DE VITERBI.docx

c

a

l

d

e

u

n

a

o

r

a

c

i

ó

n

En él, los observables son la secuencia de palabras de la oración. Se puede observar como para cada palabra se contempla sólo un conjunto limitado de posibles categorías gramaticales (caza puede ser o nombre o verbo). Este es debido a que la probabilidad de pertenencia de determinadas palabras a una categoría gramatical es nula (como la probabilidad de que la palabra caza sea adverbio). Esto simplifica enormemente los cálculos en el modelo.

Filtrado con Roll-Off

Page 20: CODIFICACION DE VITERBI.docx

 Se realiza un filtrado paso bajo de la señal, para acotar su ancho de banda y evitar la interferencia entre símbolos. Es un filtrado de Nyquist con un filtro de coseno alzado, con un factor de roll-off del 35%, con lo que se tiene un ancho de banda a la salida del filtro de 1,35 veces el ancho de banda ideal de la señal en banda base. El factor de roll-off es el fruto de estudios y simulaciones realizadas

Page 21: CODIFICACION DE VITERBI.docx

previamente a la aprobación final del

estándar.