Mostrando entradas con la etiqueta probabilidad. Mostrar todas las entradas
Mostrando entradas con la etiqueta probabilidad. Mostrar todas las entradas

miércoles, 15 de octubre de 2014

ML VIII: Modelos Ocultos de Markov.

Modelos Ocultos de Markov

Un proceso global puede representarse usando redes bayesianas como:
Incorporando los supuestos de Markov:
También podemos describir el proceso general mediante una cadena de Markov de variables latentes:
 Incorpora los supuestos de Markov:
Se aprecia que usando las cadenas de Markov tan solo tenemos las variables x, que son los estados ocultos, y las variables z, que son observables. (Saber más...)
Para comprender el por qué son útiles los Modelos Oculto de Markov o HMM (siglas en inglés, que en español queda MOM y tomando el significado en inglés de esta palabra no queda ninguna duda de su utilidad :-D) veamos el siguiente gráfico.  
Imaginad que cada cuadrado de color es una caja con caramelos de distintos sabores, en el tiempo n-2 podemos sacar un caramelo de cualquiera de las cajas. Claro, cada caja tiene cierta probabilidad de que obtengamos un sabor específico. Solo sabremos el sabor una vez que el caramelo sale de la caja.
Luego en el tiempo n-1 nos movemos a obtener el caramelo de otra caja o incluso de la misma caja. El movernos hacia determinada caja o quedarnos con la misma caja también tiene una probabilidad asociada, y al final no se conoce de que caja se saco el caramelo sino solo el sabor del caramelo.

Surgen entonces varias alternativas de incógnitas, mas los problemas básicos que se tratan de resolver son:
1. Calcular eficientemente la probabilidad P(Z/L) de la secuencia de observación Z (Ejemplo de Z: coco, piña, fresa) dado el modelo L y la secuencia de observación Z requerida. Donde el modelo L contiene tanto la matriz A de probabilidades de transición de una caja a otra, la probabilidades de obtener un sabor en cada caja y las probabilidades de estado inicial p  (Pues si nos comemos los caramelos y no los devolvemos a la cajas las probabilidades B cambiaran pero basándose en estas de estado inicial).
2. Encontrar la trayectoria mas probable X (las cajas de cada momento) dado L y la secuencia Z.
3. Ajustar los párametros A,B,p apara máximizar P(Z/L).

Además, con el propósito de resolver estos problemas existen asi mismo 3 operaciones a realizar en los HMM.
1. Calcular P(Z/L) dado un L conocido. Mediante el algoritmo de Forward-Backward
2. Calcular la secuencia óptima de estados X, con un L conocido. Se usa el algoritmo de Viterbi.
3. Aprender o encontrar el modelo L para un Z dado. Se emplea expectación-maximización o Baum-Welch.

Como se puede presumir todos los algoritmos mencionados anteriormente son ampliamente usados en inteligencia artificial. Pues son estos tres problemas básico y sus soluciones lo que nos permite predecir los estados para cualquier proceso de datos secuenciales.
Si cuantizamos (cuantificamos) el tiempo y los datos logramos dicha secuencialidad, y resulta que todo lo digital tiene justamente el tiempo y los datos ya cuantizados o cuantificados. En otras palabras si algo se puede digitalizar, es posible también usar inteligencia artificial, basada en todo lo que hemos visto hasta ahora, en ese algo específico.

Por último solo recordaremos que audio, video y texto han sido digitalizados desde antes que nacieras (si tienes menos de 20 años, claro). El tacto, ambiente (clima) y la orientación se han demorado un poco más pero ya poseen su formato digital también. El olfato y gusto tienen investigaciones en curso y tan solo faltaría lo emocional (que en buena parte esta en el texto y vídeo) para poder aplicar inteligencia artificial en casi todo ámbito humano.

domingo, 5 de octubre de 2014

ML VII Modelos gráficos probabilísticos, Redes Bayesianas

Bueno, hasta ahora hemos visto 101 diapositivas en 5 artículos, lo cual indica mas o menos 20 diapositivas por artículo, espero sus comentarios para saber si quieren más resumido o más extenso el contenido.

La probabilidad nos ha acompañado al largo de todo el curso mediante fórmulas pero una forma de representarla es también gráficamente.

Una gráfica de modelo probabilístico es una representación esquemática de una distribución de probabilidad. 
En un modelo gráfico, las variables aleatorias se representan como nodos y las dependencias estadísticas se representan utilizando los enlaces entre los nodos. 
El gráfico resultante puede tener las siguientes propiedades: 
• Cíclico / Acíclico 
• Dirigida / No Dirigido 
• Los gráficos más simples son los gráficos acíclicos dirigidos(DAG).

Ejemplo:
Dado 3 variables aleatorias, y su probabilidad conjunta: p(a,b,c)=p(c|a,b)p(a,b)=p(c|a,b)p(b|a)p(a)
Redes Bayesianas

Un modelo basado en DAG es una red bayesiana.
En general con K variables aleatorias se podría tener una distribución conjunta de probabilidad: 
p(x1,...,xK)=p(xK|x1,..xK-1)....p(x2|x1)p(x1)
Esto lleva a un gráfico completamente conectado. 
• Nota: El orden de los nodos en un gráfico totalmente conectado es arbitrario. 
Todos ellos representan la distribución de probabilidad conjunta:
p(a,b,c)=p(a|b,c)p(b|c)p(c)
p(a,b,c)=p(b|a,c)p(a|c)p(c)
...
etc
La independencia estadística se puede representar por la ausencia de bordes. Esto hace los cálculos eficientes.
Recordemos (son 4 meses de demora ;-D): Dos variables son independientes si  

 Y por tanto al usar el teorema de Bayes:

Además dos variables con condicionalmente independientes si:
 Que es equivalente a:
Cos estos conceptos en cuenta veamos unos ejemplos usando gráficos:

Ejemplo 1
El siguiente gráfico representa :

 Al marginalizar a c:
Se tiene que a y b no son independientes.

Si suponemos que se conoce c, se tiene lo siguiente:
Por tanto a y  b, son condicionalmente independientes con respecto a c, y se dice que c es un nodo cola a cola (tail-to-tail node) en el trayecto entre a y b 

 Ejemplo 2
El siguiente dibujo representa:
Al marginalizar a c:

 Se tiene que a y b no son independientes.

 Si suponemos que se conoce c, se tiene lo siguiente:

Por tanto de nuevo a y b son condicionalmente independientes con respecto a c. Y a c se le llama nodo de cabeSe tiene que a y b no son independientes.
Siguiendo el mismo procedimiento marginalizando c se tiene que a es independiente de b.
Si se concidera que se conoce c:
Se tiene que a y b no son condicionalmente independientes de c. Además a c se le conoce como nodo cabeza a cabeza (head-to-head node).

Con estos ejemplos es claro ver como con los enlaces entre nodos y la dirección entre ellos, además de saber si el nodo intermedio corresponde a una variable conocida o no, se puede saber si existe o no independencia entre las variables.






domingo, 1 de junio de 2014

ML V: Regularización y Regresión Lineal Bayesiana

Regularización
En el artículo anterior obtuvimos la función de regresión entre dos variables, que es un modelo matemático para el conjunto de datos dados, sin embargo se puede encontrar parámetros muy grandes por lo que es necesario agregar un factor de regularización llegando a obtener el siguiente problema:

Cuya solución al aplicar el gradiente para minimizar el error es:

Ahora debemos encontrar el parámetro lambda adecuado, pero antes observemos como afecta la variación de este parámetro:
Ahora con el uso de probabilidades encontraremos cual es el lambda adecuado, en la siguiente gráfica se observa como y en x1 esta efectado por ruido gaussiano, tal que la probabilidad de que se mida el dato t en es punto es:
Que se lee como: probabilidad de que sea t dado x,w y sigma (desviación estándar)  es igual a una distribucion normal de la variable t con media en y(x,w), que es la función de regresión, y varianza igual a sigma al cuadrado

Recordando el planteamiento del problema de regresión donde teníamos de datos los puntos dados (x1,t1), (x2,t2), ..., (xN,tN). Asumiendo que las probabilidades en cada punto son independientes se tiene:

Ahora aplicaremos logaritmos para pasar de las multiplicaciones a una sumatoria
Ahora asumamos una distribución gaussiana prior, o anterior , con distinta varianza y media 0, y podemos obtener una probabilidad posterior, la cual debemos maximizar.

Usando Bayes tenemos:
Donde el denominador por ser una integral con respecto a w, termina por no depender de w. Por eso maximizamos solo el numerador. Para pasar de la multiplicación a una suma volvemos a usar el logaritmo obteniendo al final:
Que es similar a la primera ecuación de este artículo, por tanto para obtener la Estimación Máxima a Posteriori (MAP ) debemos hacer lambda igual a la división de las varianzas.

Regresión Lineal Bayesiana
Usando MAP podemos encontrar ya parámetros adecuado pero que pasa si los datos son secuenciales, debemos buscar la manera de encontrar la probabilidad de un nuevo punto dados los puntos antiguos, a esto se llama la distribución predictiva:

   Esto se debe aplicar recursivamente tantas veces como nuevos puntos aparezcan.
Veamos un ejemplo, supongamos que tenemos y=-0.3+0.5x, e inicialmente varianza1=0.4 y varianza2=0.5.
Al principio sin ningún punto observado se tiene a priori:
El espacio de Hough se obtiene de una transformada que permite conocer si existe lineas rectas en el espacio de datos.

Al conocer el primer dato se tiene:
Al conocer el segundo dato:
Y así se va acercando cada vez mas a medida que se toman más datos, así con 20 datos:


Obtenemos la distribución predictiva integrando sobre todos los posibles parámetros del modelo:

La probabilidad a posterior puede encontrarse:

Donde Prior cov: Covarianza de la probabilidad a priori y Prior mean: media de la probabilidad a priori.
Podemos realizar un programa pero es mejor observar los resultados gráficamente:



Al igual que en el ejemplo anterior al agregar mas datos el modelo se vuelve más cercano al esperado.

Si bien una imagen vale más que mil palabras, a veces es más esclarecedor un ejemplo con palabras:

Imaginen que les presentan una foto, antes de verla les han dicho que lo que hay en  la foto es un animal.
Una vez que la ven, observan que tiene cuatro patas, es peludo y posee cola.
Luego les presenta otra foto de un animal de la misma especie, misma raza, ahora relacionan la características del animal de la foto anterior con las del animal de la nueva foto, por ejemplo el pelaje es café y los ojos y nariz son negros en ambos pero el uno es más pequeño y posee pelaje más corto.
Luego les presenta unas foto de un animal de la misma especie, pero diferente raza, si bien ahora hay más diferencias las semejanzas siguen siendo más numerosas, como orejas largas y hocico un tanto alargado.
Luego de muchas fotos más pueden reconocer un perro, no sabíamos que era un perro al inicio, sin problema de otra foto de un animal de otra especie.

Es lo que hemos estado realizando con la regresión bayesiana, con cada nuevo dato tenemos un modelo más reducido y por tanto reconocemos o clasificamos mejor nuevos datos que obtengamos. 

Además y para terminar:
Un modelo que se ha encontrado con el uso de regresión puede ser evaluado de diferentes maneras.
Esto se puede utilizar para ajustar los parámetros del modelo como el uso de un conjunto de datos de validación
La Regresión Lineal Bayesiana opera en datos secuenciales y proporciona la distribución predictiva.
Cuando se utiliza priores gaussianos (y ruido gaussiano), todos los cálculos se pueden hacer analíticamente, como todas las probabilidades siguen siendo gaussianas

domingo, 18 de mayo de 2014

ML III: Aprendizaje

Un robot para poder interactuar con su entorno tiene que conocer que es lo que hay en su entrono. Para esto debe clasificar los objetos tomando sus características físicas o funcionales como parámetros de entrada.
Una manera natural de clasificar objetos es aprender las categorías a las que pueden pertenecer y después colocarlos dentro de una de ellas. La idea del Machine Learning es hacer este aprendizaje automático.
Partiendo de las ideas anteriores, supongamos un conjunto X de objetos y un conjunto Y de categorías, ahora buscamos que todos los elementos similares de X sean asignados a un Y.

Asignación a una categoría 
Puede considerarse categorías muy generales como en el ejemplo de la imagen de arriba, o categorías tan específicas como la raza a la cual pertenece el gato. Esto depende de la aplicación y utilidad que vamos a dar al uso de inteligencia artificial. El siguiente cuadro muestra las formas de realizar el aprendizaje.

En los siguinetes artículos se va a usar principalmente el aprendizaje supervisado y empezaremos con un ejemplo de Modelo Generativo, cuyo enunciado es el siguiente:

Clasificación más cercana al vecino:
• Dado: Puntos de Datos (x1,y1); (x2,y2)
• Regla: Cada nuevo elemento de datos se asigna a la clase de su vecino más cercano en el espacio de características.
Gráficamente este problema se resuelve como sigue:



Ahora podemos realizar un analisis para el caso general de K vecinos cercanos, denominando Kk como los puntos que pertenecen a la clase k dentro de una esfera con volumen V y Nk a todos los puntos de la clase k. Además K son todos los puntos dentro de la esfera y N el total de puntos. Con  esto hallamos:
Y usando Bayes finalmente:
Para clasificar un nuevo punto basta con sacar p(y=k| x) para toda k y escoger la clase que nos devuelva el máximo valor, esto quiere decir tomar la clase para la cual existen más vecinos cercanos de esa misma clase.