Machine Learning Probabilístico
Existen muchos tipos de modelos generativos. A alto nivel podemos distinguir entre:
- Modelos gráficos probabilísticos (PGM, Probabilistic Graphical Models): asignan un conjunto de variables latentes interconectadas a las variables observadas mediante mapeos sencillos, a menudo lineales.
- Modelos generativos profundos (DGM, Deep Generative Models): basados en redes neuronales profundas que aprenden a mapear los datos observados a una representación en un vector latente .
Por supuesto, son posibles muchos híbridos. De aquí en adelante nos centraremos en los DGM.
Los principales tipos de DGM son: los Variational Autoencoders (VAE), las redes generativas adversarias (GAN), los energy based models (EBM), los AutoRegressive Models (ARM), los flow-based models y los diffusion models.
Se puede clasificar estos modelos en función de los siguientes criterios:
- Density: modelos que pueden estimar la función de densidad de probabilidad . Por ejemplo, las redes GAN modelan la distribución de los datos de forma implícita, por lo que no pueden.
- Sampling: modelos que pueden generar nuevas muestras a partir de la distribución modelada. Modelos como VAEs y GANs admiten un muestreo rápido; sin embargo, ARMs, modelos diffusion y normalizing flows son lentos para el muestreo.
- Training: ¿qué tipo de método se utiliza para estimar los parámetros? Para algunos modelos (como AR y flows), se puede realizar una estimación exacta de la maximum likelihood estimation (MLE). Para otros modelos no es tan sencillo. Por ejemplo, en el caso de los VAE se maximiza un límite inferior de la likelihood; en el caso de las GAN, que se utiliza un entrenamiento min-max, puede ser inestable y no existe una función objetivo clara que controlar.
- Latents: ¿usa el modelo un vector latente para generar ? Y, si es así, ¿tiene el mismo tamaño que o es una representación comprimida? Por ejemplo, los ARM no utilizan representaciones latentes; los flows y diffusion sí, pero no son representaciones comprimidas.
- Arquitectura: ¿qué tipo de red neuronal se puede utilizar? ¿Existen restricciones? En el caso de los flows, por ejemplo, sólo se pueden utilizar redes neuronales invertibles en las que cada capa tenga un jacobiano manejable.
Aquí un resumen rápido de cómo funcionan los principales modelos. Si es la primera vez que ves este diagrama no te procupes si no lo entiendes. Te recomiendo volver según vayamos avanzando, ya verás como lo vas pillando.
En los próximos capítulos vamos a hacer uso de notación probabilística. Si vas sobrado con esto entonces puedes saltar directamente al primer capítulo. Si no, en lo que queda de artículo vamos a hacer un repaso rápido de probabilidad.
Probabilidad
Existen dos interpretaciones diferentes de probabilidad:
-
Frecuentista: las probabilidades representan frecuencias de sucesos que pueden ocurrir varias veces.
Ejemplo: probabilidad de que salga 6 si tiro un dado 600 veces. Se espera que el número 6 aparezca aproximadamente 100 veces. Se asume que las condiciones son estables y que, si repites el experimento muchas veces, el resultado convergerá hacia una frecuencia fija (en este caso 1/6).
-
Bayesiana: la probabilidad se utiliza para cuantificar la incertidumbre/ignorancia sobre algo. La interpretación bayesiana puede utilizarse para modelar la incertidumbre sobre sucesos puntuales que no tienen frecuencias a largo plazo.
Ejemplo: digamos que queremos calcular la probabilidad de que el casquete polar se derrita en 2030. Este suceso ocurrirá o no, pero no puede ocurrir repetidamente. No obstante, deberíamos ser capaces de cuantificar la incertidumbre sobre este suceso.
De aquí en adelante adoptaremos la interpretación bayesiana. Afortunadamente, las reglas básicas de la teoría de la probabilidad son las mismas, independientemente de la interpretación que se adopte.
Reglas básicas
Probabilidad de un evento
Definimos un evento como un estado que se cumple o no. Por ejemplo, puede ser el suceso "lloverá mañana" o "llovió ayer". La expresión denota la probabilidad con la que se cree que el suceso es cierto. Exigimos que , donde significa que el suceso no ocurrirá y significa que sí ocurrirá.
Variables aleatorias
Supongamos que representa alguna cantidad desconocida, como la cara en la que caerá un dado al lanzarlo. Si el valor de es desconocido y/o puede cambiar, lo llamamos variable aleatoria. El conjunto de valores posibles, denotado , se conoce como espacio muestral o espacio de estados. Un suceso es un conjunto de resultados de un espacio muestral determinado.
Por ejemplo, si representa la cara de un dado, . El suceso "ver un 1" se denota , el suceso "ver un número impar" se denota , el suceso "ver un número entre 1 y 3" se denota , etc.
Variables aleatorias discretas
Si el espacio muestral se puede contar (es finito o contablemente infinito), se denomina variable aleatoria discreta. Ejemplo: lanzar un dado, el número de clientes que entran a una tienda, el número de caras en 5 lanzamientos de moneda...
La función que describe la distribución de probabilidad de variables aleatorias discretas se llama probability mass function o pmf:
, donde es un valor posible dentro del espacio muestral.
Variables aleatorias continuas
Si , se denomina variable aleatoria continua. Ejemplo: el tiempo exacto que tardó algo, el peso, la temperatura...
En este caso, no se puede crear un conjunto finito de los distintos valores posibles que puede tomar la variable. Sin embargo, sí existe un número contable de intervalos en los que se puede dividir.
En este caso, a diferencia de la PMF, que nos dice la probabilidad de que ocurra un valor exacto, se utiliza la cumulative distribution function o cdf, que nos dice la probabilidad de que ocurra ese valor o cualquier otro menor a él:
Nótese que se usa una mayúscula para representar la cdf. Usando esto, se puede calcular la probabilidad de estar en cualquier intervalo:
La función que describe la distribución de probabilidad de variables aleatorias continuas se llama probability density function o pdf, que coincide con la derivada de la cdf:
- La PMF (discreta) mide "barras" (puntos exactos).
- La PDF (continua) mide "áreas" (intervalos).
Dada una pdf, podemos calcular la probabilidad de que una variable continua se encuentre en un intervalo finito como:
Ejemplo: Tiempo de espera en una parada de autobús
Imagina que el tiempo de espera (en minutos) para el autobús sigue una distribución uniforme entre 0 y 10 minutos. Su pdf es constante: p(x) = para , y 0 en cualquier otro caso. Si queremos saber la probabilidad de que el autobús llegue entre el minuto 2 y el minuto 5 , utilizamos la integral de la pdf:
Calculamos la integral:
Por lo tanto, hay una probabilidad del 30% de que el autobús llegue en ese intervalo de tiempo.
Estadísticos
- Media (): promedio aritmético, eepresenta el valor que obtendrías si pudieras repartir el total de los datos equitativamente entre todos los elementos.
- Varianza (): medida de la dispersión de una distribución, mide qué tanto se alejan, en promedio, los valores de la media. Como eleva las diferencias al cuadrado, sus unidades también quedan al cuadrado (por ejemplo, si mides en metros, la varianza estará en metros cuadrados).
- Desviación estándar (): es la raíz de la varianza. "Corrige" el problema de la varianza. Da una idea de cuánto se alejan los datos del promedio en las unidades originales.
Inferencia Bayesiana
El término "inferencia" hace referencia al acto de generalizar a partir de datos de muestra, normalmente con cierto grado de confianza. El término "bayesiano" se utiliza para referirse a los métodos de inferencia que representan esa confianza utilizando la teoría de la probabilidad y el teorema de Bayes.
El teorema de Bayes es una fórmula para calcular la distribución de probabilidad sobre posibles valores de una cantidad desconocida dados unos datos observados :
- representa lo que se conoce sobre los posibles valores de antes de ver ningún dato; esto es la distribución a priori.
- representa la distribución sobre los posibles resultados que esperamos ver dado ; esto es la distribución de observación.
- Si la evaluamos en un punto correspondiente a las observaciones reales, obtenemos la función , que se denomina likelihood.
Multiplicando la distribución a priori por la función de likelihood para cada se obtiene la unnormalized joint distribution . Se puede convertir en una distribución normalizada dividiendo por , lo que se conoce como marginal likelihood (veremos esto más adelante).
Al normalizar la joint distribution, se obtiene la posterior distribution, , que representa lo que se sabe de la distribución después de ver evidencia. En otras palabras:
Ejemplo: test de una enfermedad rara
Imagina que quieres saber si un paciente tiene una enfermedad rara (Hipótesis ) que afecta solo al 1% de la población.
- Distribución a priori (): Antes de hacer cualquier prueba, tu creencia inicial sobre la probabilidad de que el paciente esté enfermo es 0.01 (el 1% de la población).
- Likelihood ()): El paciente se hace una prueba médica. Supongamos que la prueba es muy buena: si estás enfermo, da positivo el 99% de las veces. Pero, si estás sano, aún existe un 5% de probabilidad de que dé un falso positivo. El likelihood aquí es la capacidad de la prueba para distinguir entre sano y enfermo.
- Posterior ()): Imagina que el paciente da positivo en la prueba. La pregunta clave es: ¿Cuál es la probabilidad de que esté realmente enfermo?
Intuitivamente, podrías pensar que si la prueba tiene un 99% de precisión, la probabilidad de enfermedad debería ser cercana al 99%. Sin embargo, aplicando el Teorema de Bayes tenemos:
Donde:
- Prior (solo el 1% de la población está enferma).
- Likelihood (la prueba detecta al 99% de los enfermos).
- Falsos positivos (la prueba se equivoca con el 5% de los sanos).
Paso 1: Calcular la probabilidad total de un resultado positivo
Un positivo puede ser un verdadero positivo (enfermo que da positivo) o un falso positivo (sano que da positivo):
Paso 2: Calcular la Posterior
Ahora sustituimos en la fórmula de Bayes:
Conclusión: Aunque la prueba es "99% precisa", la probabilidad real de que el paciente esté enfermo tras dar positivo es de apenas un 16.6%. La baja prevalencia (la prior) "tira" del resultado hacia abajo con mucha fuerza. La cantidad de personas sanas en la población es tan grande que el 5% de falsos positivos supera en número a los verdaderos positivos. Este ejemplo demuestra que, en inferencia bayesiana, los datos observados no son los únicos que determinan la realidad; nuestra creencia inicial sobre la rareza del evento es fundamental.
Distribuciones de probabilidad
Existe una gran variedad de distribuciones de probabilidad que se utilizan para distintos tipos de modelos. En este enlace puedes observar algunas de las más utilizadas de forma interactiva.
Un modelo generativo es una distribución de probabilidad conjunta , para .