sistemas de percepción tema 10: modelos probabilísticos

47
Sistemas de Percepción Tema 10: Modelos probabilísticos

Upload: others

Post on 01-Oct-2021

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas de Percepción Tema 10: Modelos probabilísticos

Sistemas de Percepción

Tema 10:

Modelos probabilísticos

Page 2: Sistemas de Percepción Tema 10: Modelos probabilísticos

2

Índice

• Introducción al problema

• Método de Montecarlo

• Generadores de números aleatorios

• Cadenas de Markov

• Modelos ocultos de Markov

Page 3: Sistemas de Percepción Tema 10: Modelos probabilísticos

Introducción al problema

● En el mundo real existen problemas cuya naturaleza no nos permite dar una respuesta con una certeza absoluta.

● Este sería el caso de la estimación de la pose del robot en un entorno, en el que el ruido de los sensores y las imprecisiones en el movimiento del robot provocan un cierto nivel de incertidumbre.

Page 4: Sistemas de Percepción Tema 10: Modelos probabilísticos

Introducción al problema

● Así mismo, existen otros problemas cuya solución analítica es desconocida o bien resulta demasiado costosa computacionalmente de calcular.

● Para resolverlos, se pueden utilizar métodos probabilísticos que mediante muestreo se aproximen a la solución real con un cierto grado de confianza.

Page 5: Sistemas de Percepción Tema 10: Modelos probabilísticos

Método de Montecarlo

● Método no determinista para aproximar expresiones matemáticas complejas y costosas de evaluar con exactitud.

● Su nombre se debe al Casino de Montecarlo, por ser la ruleta un generador de números aleatorios.

● Su aplicación ha sido posible gracias al desarrollo de la computadora.

Page 6: Sistemas de Percepción Tema 10: Modelos probabilísticos

Método de Montecarlo

● Su invención se atribuye a Stanislaw Ulam y John von Neumann.● Se le ocurrió a Ulam como forma de tener una idea del resultado general del

solitario. Resulta más sencillo hacer múltiples pruebas aleatorias con las cartas y contar los resultados que calcular todas las posibles combinaciones del juego de manera formal.

● Pudo aplicar esta técnica en su trabajo sobre difusión de neutrones, que estaba regida por ecuaciones íntegro-diferenciales casi imposibles de solucionar analíticamente.

Page 7: Sistemas de Percepción Tema 10: Modelos probabilísticos

Método de Montecarlo

● Los métodos de Montecarlo generalmente siguen los siguientes pasos:

1.Determinar la propiedades estadísticas de las entradas posibles.

2.Generar muchos conjuntos de posibles entradas que cumplan las propiedades anteriores.

3.Realizar un cálculo determinístico con esos conjuntos.

4.Analizar estadísticamente los resultados.● El error de la estimación decrece a razón de 1/√N, siendo N el número de

ejemplos.

Page 8: Sistemas de Percepción Tema 10: Modelos probabilísticos

Método de Montecarlo

● Muchos problemas matemáticos pueden ser resueltos mediante integración.● Si usamos métodos de integración numérica deterministas, basados en crear

bloques de tamaño fijo, podemos experimentar varios problemas:● Maldición de la dimensionalidad: un bloque de tamaño fijo en D dimensiones

requiere ND puntos.● El tamaño del salto debe elegirse primero.

● Por estas razones, resulta más adecuado generar puntos aleatorios en vez de bloques de tamaño fijo para resolver estos problemas.

Page 9: Sistemas de Percepción Tema 10: Modelos probabilísticos

Método de Montecarlo

● Gracias a este método podemos hacer experimentos de integración numérica como el cálculo del número π.

● Para ello, podemos seguir los siguientes pasos:

1.Dibujar N puntos (x,y) distribuidos aleatoriamente en un cuadrado.

2.Contar los C puntos para los que x2 + y2 < 1 (puntos pertenecientes al círculo).

3.La proporción C/N converge a π/4 a medida que aumenta N.

Acuadrado

= 2r * 2r = 4r2

Acírculo

= πr2

Cálculo del número pi

Page 10: Sistemas de Percepción Tema 10: Modelos probabilísticos

Método de Montecarlo

● Los programas de diseño asistido por ordenador (CAD) pueden determinar el volumen de modelos muy complejos.

● Generalmente, se trata de modelos que no tienen expresión analítica para determinar su volumen.

● En estos casos, la única solución sería dividir el modelo en pequeñas partes cuyo volumen pueda calcularse analíticamente.

● Sin embargo, se pueden aplicar métodos de Montecarlo para calcularlo de manera eficiente.

Cálculo del volumen

Page 11: Sistemas de Percepción Tema 10: Modelos probabilísticos

Método de Montecarlo

● El programa sí conoce la expresión analítica de la geometría del modelo, por lo que puede determinar si el punto está dentro o fuera del mismo.

● Los pasos para calcular el volumen son:

1.Colocar el modelo dentro de un volumen conocido (cubo).

2.Generar puntos aleatorios dentro del volumen conocido y registrar si el punto está dentro o fuera del modelo.

3.Estimar el volumen del modelo asumiendo que la proporción de puntos que han caído dentro es la misma proporción de volumen que ocupa el modelo dentro del volumen conocido.

Cálculo del volumen

Page 12: Sistemas de Percepción Tema 10: Modelos probabilísticos

Método de Montecarlo

● La minimización de funciones complejas en múltiples dimensiones a menudo presenta muchos mínimos locales.

● Este es el caso del entrenamiento de las redes neuronales en aprendizaje automático. Se aplica el método del descenso por gradiente pero se corre el riesgo de que el algoritmo se atasque en un mínimo que no sea global, y no sea capaz de salir de él.

● Para solucionar este problema, es habitual lanzar diferentes configuraciones iniciales de los pesos de manera aleatoria y aplicar el descenso por gradiente a cada una de ellas. De esta forma, es más probable conseguir la mejor configuración de pesos que resuelve el problema.

Optimización de funciones

Page 13: Sistemas de Percepción Tema 10: Modelos probabilísticos

Método de Montecarlo

● El método de Montecarlo también se puede aplicar en la optimización de caminos, como es el caso de la optimización de una colonia de hormigas. Numerosos agentes exploran el terreno con simples interacciones entre ellos. Las hormigas se mueven de manera aleatoria en el espacio de soluciones y

depositan feromonas tras ellas, que atraen a otras hormigas. Los caminos más cortos son cruzados más rápidamente por las hormigas, por

lo que se depositan más feromonas, que atraen más hormigas.

Inteligencia de enjambre

Page 14: Sistemas de Percepción Tema 10: Modelos probabilísticos

Método de Montecarlo

https://www.youtube.com/watch?v=Xaymy3Blnq4

Page 15: Sistemas de Percepción Tema 10: Modelos probabilísticos

Generadores de números aleatorios

● Para el correcto funcionamiento de estos métodos, necesitamos una herramienta que nos genere números aleatorios que se distribuyan de manera uniforme.

● Sin embargo, la tarea de la generación aleatoria de números es un problema no resuelto de la computación, con gran interés en la rama de la criptografía.

● Los generadores más habituales están basados en software y son conocidos como Pseudo-random number generators (PRNG).

● Por otro lado, existen los True random number generators (TRNGs), que generan la aleatoriedad a partir de una fuente física hardware. Sin embargo, estos requieren de componentes muy costosos y su uso está poco extendido.

Page 16: Sistemas de Percepción Tema 10: Modelos probabilísticos

Generadores de números aleatorios

● Los generadores de números pseudo aleatorios actúan como una caja negra, que toma un número, llamado semilla, y produce una secuencia de bits.

● Esta secuencia es considerada pseudoaleatoria si pasa un cierto número de tests estadísticos, que la hacen parecer aleatoria.

● Formalmente, constan de los siguientes elementos: Función de inicialización: número semilla que determina el estado inicial. Función de transición: transforma el estado del generador. Función de salida: convierte el estado actual en un número fijo de bits.

Page 17: Sistemas de Percepción Tema 10: Modelos probabilísticos

Generadores de números aleatorios

● El principal problema de estos generadores es que la secuencia de bits producida es determinada completamente por la semilla.

● Para que el algoritmo pueda ser utilizado en criptografía, debe satisfacer dos propiedades:● Impredecibilidad. Dada una secuencia de bits de salida, los bits precedentes

no deben ser predecibles.● Irreversibilidad. Dado el estado actual del generador, los estados previos no

deben poderse calcular.

Page 18: Sistemas de Percepción Tema 10: Modelos probabilísticos

Generadores de números aleatorios

● Para evaluar la calidad del generador, existen una serie de tests estadísticos que se le pueden aplicar a su salida: Distribución equitativa. Evaluar si la secuencia tiene un sesgo sistémico

entre el 0 y el 1. Test de series. Evaluar si las series de 1 o 0 son demasiado largas o cortas. Rango de la matriz binaria. Buscar dependencias lineales entre bloques

sucesivos de la secuencia. Transformada discreta de Fourier. Buscar componentes periódicos en la

secuencia. Compresibilidad. Determinar si la secuencia puede ser comprimida sin

pérdida de información. Una secuencia aleatoria no debería poder ser comprimida sin pérdida, ya que la compresión requiere bloques de bits que se repitan.

Page 19: Sistemas de Percepción Tema 10: Modelos probabilísticos

https://www.youtube.com/watch?v=aSlkVy3mbR0

Generadores de números aleatorios

Page 20: Sistemas de Percepción Tema 10: Modelos probabilísticos

Cadenas de Markov

● Un modelo de Markov es un modelo estocástico (probabilístico) que modela información temporal o secuencial.

● Nos proporciona herramientas para modelar las dependencias de la información actual con la información previa.

● Se modela como un grafo y se compone de estados, transiciones entre estados y de la emisión de salidas.

● Varios objetivos se pueden conseguir usando modelos de Markov: Aprender estadísticas de datos secuenciales. Realizar predicciones o estimaciones. Reconocer patrones.

Page 21: Sistemas de Percepción Tema 10: Modelos probabilísticos

Cadenas de Markov

● Queremos diseñar un modelo de Markov para predecir el tiempo de mañana usando únicamente información sobre los días anteriores.

● Tenemos un modelo con tres estados S = {S1,S

2,S

3} que representan los estados

S1 = Soleado, S

2 = Lluvioso y S

3 = Nublado.

● Para establecer la probabilidad de transición entre estados necesitamos tomar muestras.

Page 22: Sistemas de Percepción Tema 10: Modelos probabilísticos

Cadenas de Markov

● Definimos que tenemos una secuencia: Soleado, Lluvioso, Nublado, Nublado, Soleado… de forma que un día puede estar en cualquiera de los 3 estados.

● Para definir la secuencia de estados, utilizamos la siguiente notación: q1, q

2, q

3,

q4… donde qi {Soleado, Lluvioso, Nublado}.∈

● Para calcular la probabilidad del tiempo de mañana podemos usar la propiedad de Markov, que nos dice que la distribución de probabilidad del valor futuro depende únicamente de su valor presente, y no de la historia de esa variable.

Page 23: Sistemas de Percepción Tema 10: Modelos probabilísticos

Cadenas de Markov

● Si sabemos que hoy el día es soleado, ¿cuál es la probabilidad de que mañana sea soleado y al día siguiente sea lluvioso?

Page 24: Sistemas de Percepción Tema 10: Modelos probabilísticos

Cadenas de Markov

● Si sabemos que hoy el día es soleado, ¿cuál es la probabilidad de que mañana sea soleado y al día siguiente sea lluvioso?

Page 25: Sistemas de Percepción Tema 10: Modelos probabilísticos

Cadenas de Markov

● Asumiendo que el tiempo de ayer era lluvioso, y que hoy es nublado, ¿cuál es la probabilidad de que mañana sea soleado?

Page 26: Sistemas de Percepción Tema 10: Modelos probabilísticos

Cadenas de Markov

● Asumiendo que el tiempo de ayer era lluvioso, y que hoy es nublado, ¿cuál es la probabilidad de que mañana sea soleado?

Page 27: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

● Un modelo oculto de Markov es un modelo estocástico donde los estados del modelo están ocultos. Cada estado puede emitir una salida observable.

● Siguiendo el ejemplo del tiempo, imagina que estás encerrado en una habitación durante días y te preguntas sobre el tiempo que hace fuera. La única evidencia que tienes sobre el tiempo es que la persona que entra en la habitación para traerte la comida está llevando, o no, un paraguas.

● ¿Qué está oculto? El tiempo: soleado, lluvioso o nublado.● ¿Qué puedes observar? Si lleva o no paraguas.

Page 28: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

● Asumimos que pasan t días. Por tanto, tenemos una secuencia de observación O = {o

1,…,o

t}, donde o

i {Paraguas, No Paraguas}.∈

● Cada observación viene de un estado desconocido. Por tanto, tenemos también una secuencia desconocida Q = {q

1,…,q

t} donde q

i {Soleado, Lluvioso, ∈

Nublado}.● Queremos conocer la probabilidad P(q

1,…,q

t | o

1, …, o

t) que nos relacione las

secuencia desconocida con la observada.

Page 29: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

● Aplicando el Teorema de Bayes, podemos obtener la probabilidad para un día particular o para una secuencia de días de tamaño t.

Page 30: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

● Asumimos la propiedad de Markov y la independencia de las observaciones.

Page 31: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

● Por tanto, el modelo oculto de Markov viene definido por esta ecuación.

Page 32: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

● Un modelo oculto de Markov viene definido por los siguientes parámetros:

λ={A,B,π} Matriz A de probabilidad de transición entre estados. Matriz B de probabilidad de Emisión-Observación. Probabilidades π de estado inicial.

● Tiene un número fijo de estados (N):

S = {s1, … , s

N}

Parámetros del modelo

Page 33: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

Matriz de probabilidades de transición entre estados

Page 34: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

Probabilidades de emisión

● Un estado genera una observación (salida), que puede ser discreta o continua.● En este caso, vamos a ver la emisión de probabilidades discreta:

Page 35: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

Probabilidades iniciales

● Las probabilidades iniciales son la probabilidad de que la secuencia de observación haya comenzado en el estado q

i.

Page 36: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

Ejemplo

Page 37: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

Ejemplo

Soleado Lluvioso Nublado

Soleado 0.8 0.05 0.15

Lluvioso 0.2 0.6 0.2

Nublado 0.2 0.3 0.5

En la matriz A se muestran las probabilidades de las transiciones entre estados. Habitualmente, estas probabilidades no son conocidas, por lo que deben ser estimadas por algún algoritmo iterativo como el algoritmo de Baum-Welch a partir de las observaciones.

Page 38: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

Ejemplo

En la matriz B se muestran las probabilidades de la salida según el estado actual. Habitualmente, estas probabilidades no son conocidas, por lo que deben ser estimadas por algún algoritmo iterativo como el algoritmo de Baum-Welch a partir de las observaciones.

Paraguas No paraguas

Soleado 0.01 0.99

Lluvioso 0.90 0.10

Nublado 0.25 0.75

Page 39: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

Ejemplo

Finalmente, tenemos que definir la probabilidad de que estemos en un determinado estado inicial. Para simplificar, consideramos que conocemos el tiempo que hizo el día que nos encerraron en la habitación.

Prob inicial

Soleado 0

Lluvioso 0

Nublado 1

Page 40: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

Ejemplo

● Dada la secuencia de observaciones {NU, NU, U, NU, U}, ¿cuál es la secuencia óptima de estados que la explica?

Page 41: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

Algoritmo de Viterbi

● El algoritmo de Viterbi permite hallar la secuencia más probable de estados ocultos, el camino de Viterbi, que produce una secuencia observada de sucesos.

● Definimos la variable δt(i) como 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.

● Puesto que el objetivo es obtener las secuencias de estados más probable, será necesario almacenar el argumento que hace máxima la ecuación en cada instante de tiempo t y para cada estado j, por lo que utilizaremos la variable φ

t(j).

Page 42: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

Algoritmo de Viterbi

● Inicialización:

● Recursión:

● Terminación:

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

Page 43: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

Ejemplo

● Observaciones: {NU, NU, U, NU, U}● Inicialización:

δ1(1) = π

1*b

1(o

1) = 0 * 0,99 = 0

δ1(2) = π

1*b

2(o

1) = 0 * 0,10 = 0

δ1(3) = π

1*b

3(o

1) = 1 * 0,75 = 0,75

● Recursión:

δ2(1) = [max

1<=i<=N (δ

1(i) * a

i1)] * b

1(o

2) = max (0*0,8, 0*0,2, 0,75*0,2) * 0,99 = 0,1485

φ2(1) = argmax

1<=i<=N (δ

1(i) * a

i1) = 3

δ2(2) = [max

1<=i<=N (δ

1(i) * a

i2)] * b

2(o

2) = max (0*0,05, 0*0,6, 0,75*0,3) * 0,1 = 0,0225

φ2(2) = argmax

1<=i<=N (δ

1(i) * a

i2) = 3

δ2(3) = [max

1<=i<=N (δ

1(i) * a

i3)] * b

3(o

2) = max (0*0,15, 0*0,2, 0,75*0,5) * 0,75 = 0,28125

φ2(3) = argmax

1<=i<=N (δ

1(i) * a

i3) = 3

...

Page 44: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

Ejemplo

Page 45: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

Ejemplo

● Terminación:

q*5 = argmax

1<=i<=N (δ

5(i)) = 2

● Reconstrucción de la secuencia más probable:

q*4 = φ

5(2) = 3

q*3 = φ

4(3) = 3

q*2 = φ

3(3) = 3

q*1 = φ

2(3) = 3

● Por tanto, la secuencia más probable para esa observación es: Nublado, Nublado, Nublado, Nublado, Lluvioso.

Page 46: Sistemas de Percepción Tema 10: Modelos probabilísticos

Modelos ocultos de Markov

https://www.youtube.com/watch?v=5araDjcBHMQ

Page 47: Sistemas de Percepción Tema 10: Modelos probabilísticos

¿Preguntas?