Está en la página 1de 22

Inferencia Bayesiana

Inteligencia Artificial

Galo Valverde L
Índice
2.4. Introducción a la Inferencia Bayesiana
El aprendizaje
automático y la
inferencia es la
intersección de tres
términos que son
programación,
estadística y cálculo.

https://towardsdatascience.com/goodbye-scatterplot-welcome-binned-scatterplot-a928f67413e4
Fórmula de Bayes

 La fórmula de Bayes nos dice cómo incorporar la probabilidad P(X|θ) con la


anterior P(θ) para obtener la posterior. P(X) la probabilidad de observar X se
conoce como evidencia y se puede calcular tomando una expectativa de
todos los valores posibles de θ.
 Esto daría como resultado tener que calcular integrales o sumas sobre
múltiples variables, lo cual es muy difícil.
Regresión Lineal

 Es un algoritmo que forma parte de la familia de aprendizaje supervisado, en


su forma simple busca encontrar la recta que mejor se adapte y presente la
mejor tasa de error, en su versión múltiple busca encontrar el mejor hiperplano
ya que estamos hablando sobre el uso de dos o más variables predictoras.
Error medio cuadrado

 Representa el promedio de
errores entre el valor original y
el cuadrado predicho.
 Explica el porcentaje de
explicación entre el valor original
y el valor predicho, cuanto más
cerca esté de 1, más cerca
estarán las predicciones de los
datos reales.
Correlación
 Describe en qué medida ambas variables
dependen una de la otra.
Residual
 Eso significa la diferencia entre su predicción
y un valor real.
Interceptar
 Matemáticamente cuando tu x=0, esa es la
intersección.
Extrapolación
Interpolar
 Si desea predecir un valor que está
dentro del rango de su modelo lineal.
Linealidad
 Si pudiera explicar su punto de datos
con una línea recta.

Extrapolar
 Si desea predecir un valor que estáhttps://www.statology.org/interpolation-vs-extrapolation/
fuera del rango de su modelo lineal.
https://rahsoft.com/2021/04/23/no-linealidad-y-sus-efectos-en-el-sistema-rf/
Variabilidad constante
Variabilidad constante
 Después de hacer una predicción y trazar
cuánto se aleja su predicción del número
real, el error de los puntos de datos debe
estar dentro del rango.
Variable explicativa
 Para predecir y, usaremos x, variable
responsable = x
Variable Responsable
 El que queremos predecir
Colinealidad
 Correlación entre variables explicativas.
Parsimonia
 Simplemente; Un modelo simple
funcionará mejor.
Valores
Atípicos
 SI su punto de datos es < de Q1 -
1.5 x IQR &
 > 3T + 1,5 x RIC
 Entonces podría definirse como
un caso atípico.
 IQR significa rango intercuartílico
Pronóstico de Series de Tiempo
 El pronóstico de series de tiempo se puede
clasificar en términos generales en las
siguientes categorías:
 Modelos clásicos/estadísticos: medias móviles,
suavizado exponencial, ARIMA, SARIMA, TBATS
 Aprendizaje automático: regresión lineal,
XGBoost, bosque aleatorio o cualquier modelo de
aprendizaje automático con métodos de
reducción
 Aprendizaje profundo: RNN, LSTM, aprendizaje
de transferencia
Inferencia probabilística
• Las leyes de la probabilidad permiten establecer diferentes
métodos de inferencia.
• Marginalización: Probabilidad de una proposición atómica
con independencia de los valores del resto de
proposiciones:

• Probabilidades condicionadas:

https://towardsdatascience.com/how-to-use-bayesian-
12 inference-for-predictions-in-python-4de5d0bc84f3
Ejemplo: El problema de la moneda
 Los problemas de monedas son clásicos
cuando hablamos de probabilidad y estadística,
nos permiten ejemplificar conceptos abstractos
de forma simple.
 Asimismo, pueden ser muchas veces
conceptualmente similares a
situaciones reales, de hecho cualquier
problema en donde obtengamos resultados
binarios, 0/1, enfermo/sano, spam/no-spam,
puede ser pensado como si estuviéramos
hablando de monedas. En este caso, la idea es
utilizar un modelo bayesiano para inferir si la
moneda se encuentra sesgada o no.
 Para este ejemplo, vamos a utilizar
una distribución binomial como likelihood y
una distribución beta como a priori. Veamos
como lo podemos modelar con PyMC3.
https://colab.research.google.com/drive/1QjIzEjPoHbehCDKjSwZlFe7-4yv6TLWd#scrollTo=ukrc7xrI-CV1
Sensibilidad (TPR) y especificidad (TNR)
https://seeing-theory.brown.edu/bayesian-inference/es.html
 La sensibilidad y la especificidad describen
matemáticamente la precisión de una prueba que informa la
presencia o ausencia de una condición. Los individuos que
cumplen la condición se consideran "positivos" y los que no la
cumplen se consideran "negativos".
 La sensibilidad (tasa de verdaderos positivos) se refiere a la
probabilidad de una prueba positiva, condicionada a que sea
realmente positivo.
 La especificidad (tasa de verdaderos negativos) se refiere a la
probabilidad de una prueba negativa, condicionada a que realmente
sea negativa.
Podemos mapear estas tasas en términos
familiares del Teorema de Bayes:
•P(B|A) : Tasa de verdaderos positivos (TPR).
•P(no B|no A) : Tasa negativa verdadera (TNR).
•P(B|no A) : Tasa de falsos positivos (FPR).
•P(no B|A) : Tasa de falsos negativos (FNR).
Inferencia Bayesiana
 Las estadísticas bayesianas presentan una forma de
incorporar evidencia en nuestro modelo para obtener
un mejor modelo. Este proceso se conoce como
inferencia, que es una jerga matemática sofisticada
para obtener/aproximar el posterior.
 Un gran problema con las estadísticas bayesianas es
que encontrar soluciones analíticas o exactas suele ser
imposible, excepto para los modelos más simples.
Como tal, los métodos de inferencia aproximada se
centran en encontrar estimaciones para la parte
posterior y se utilizan con mayor frecuencia.
 En IA se prefieren dos métodos: Inferencia variacional
y Cadena de Markov Monte-Carlo (MCMC) .

https://colab.research.google.com/drive/18QCQRQzoQJ55UlgDdqH9Whpi8Vl17Ssn?usp=sharing
Inferencia variacional
Kullback-Leibler(KL-Divergencia)
 La inferencia variacional (VI) es una técnica para aproximar una distribución
de probabilidad particular. VI logra esto al encontrar una distribución de
probabilidad q de una familia de distribuciones Q que esté lo más cerca
posible de la distribución objetivo p .

Esto se hace utilizando la Divergencia de Kullback-Leibler (KL-Divergencia) como


nuestra función de pérdida. La Divergencia KL es una función que cuantifica la
diferencia entre 2 distribuciones. Dado que la función es diferenciable, podemos
usar métodos basados ​en gradientes para optimizar la función. Realizar esta
optimización devolverá un óptimo local para la distribución posterior.

https://datascience.eu/es/aprendizaje-automatico/explicacion-de-la-divergencia-kullback-leibler/
KL-Divergencia KL( q || p )
 Podríamos optimizar para KL( q || p^ ) usar el descenso de gradiente y el q aproximado
debería ser la mejor estimación posible para p . Esta función p^ es simplemente
P(X|θ)\times P(θ) de la fórmula original de Bayes.
 Esta es esencialmente la parte posterior sin la constante/ evidencia de normalización
difícil de calcular. Las dos funciones p(x) y p^(x) están relacionadas a través de la
siguiente ecuación.

La función representa el límite inferior del log-


verosimilitud log P(X) . Maximizar esto significaría
aumentar la probabilidad de ver los datos sobre todos
los valores posibles de θ.
Inferencia Variacional (JAX lib)
 JAX permite el cálculo numérico del gradiente dada una
función. Para usar esto solo necesitamos definir las
funciones que nos devolverán la KL-Divergence Loss.
Nuestra función toma 3 argumentos, los datos (X) y los
parámetros de media y desviación estándar para la
distribución gaussiana que estamos tratando de ajustar.
 Una vez escritas las funciones, podemos utilizar
jax.grad para obtener el gradiente automáticamente. El
argnums argumento le dice a Jax de qué parámetro
queremos el gradiente. A partir de esto, creamos 2
funciones mu_grad_kl y sigma_grad_kl las cuales nos
darán las respectivas actualizaciones de gradiente.
La estimación no es perfecta simplemente porque nuestro modelo variacional (distribución gaussiana única) no es un
buen modelo para el objetivo (distribución mixta). Usando un modelo de distribución de mezcla como ajuste, podremos
estimar mejor el objetivo. En escenarios más complicados, encontrar un buen modelo variacional para usar puede ser
extremadamente difícil.
https://colab.research.google.com/drive/1r4qzp51gOj2DLQM7CNpYH4BBdrw_bWQ_#scrollTo=i4oJVPQf0-HT&line=1&uniqifier=1
Cadena de Markov Monte-Carlo (MCMC)
 En lugar de usar la inferencia variacional para aproximar la distribución, una alternativa es muestrearla. Si
podemos extraer fácilmente muestras no sesgadas de la distribución posterior, podemos obtener la media y
la varianza y utilizar esta información para realizar estimaciones.
 Markov Chain Monte Carlo (MCMC) describe un conjunto particular de métodos de muestreo para
aproximar una distribución sin tener la función de densidad de probabilidad exacta.
 La parte de Monte Carlo del algoritmo simplemente se refiere al muestreo aleatorio. Los métodos Monte-
Carlo son una clase de métodos basados ​en muestreo aleatorio repetido. Digamos que tenemos una
moneda y queremos estimar la probabilidad de que salga cara. El enfoque de Monte-Carlo es lanzar la
moneda muchas veces y usar las observaciones para predecir los parámetros.
 Una Cadena de Markov es un modelo matemático que gobierna el comportamiento entre una secuencia de
eventos. Cada nodo de la cadena representa un estado y están unidos por enlaces, que es la probabilidad de
transición entre estados. Lo único de una cadena de Markov es que el siguiente estado de la cadena solo
depende del anterior.
Cadena de Markov Monte-Carlo (MCMC)
 Dada la probabilidad de transición correcta, se
puede demostrar que a medida que el número de
muestras se acerca al infinito, la distribución de las
muestras será la distribución objetivo de la que
estamos muestreando.
 Todos los algoritmos MCMC configuran una Cadena
de Markov donde la distribución estacionaria es la
posterior. Con el tiempo suficiente, la Cadena de
Markov convergerá a esta distribución estacionaria
y producirá muestras imparciales.
 Debido a que solo alcanza la estimación correcta
después de un tiempo, tenemos que realizar pasos
adicionales cuando usamos MCMC.
 Por lo general, se revisa el rastro de las muestras
para observar cómo cambian con el tiempo.
Idealmente, las muestras deberían dejar de fluctuar
y comenzar a converger hacia un determinado
valor/rango.
Algoritmo de Hastings (Cauchy)
 Un algoritmo MCMC común, el Algoritmo Hastings de Metrópolis, se usa
como ejemplo.
 La densidad de probabilidad no normalizada (P) y la función de
transición (Q). P devuelve un valor que describe cuán probable
es el estado, mientras que Q describe la probabilidad de
alcanzar un nuevo estado x' dado que estábamos en el estado
anterior x.

• Esta función de transición puede ser algo simple y simétrico como una distribución normal. Q(x'|x) ~ N(x,3) .
Esencialmente, en cada instancia, tomamos muestras de Normal(0,3) y el valor que obtenemos se suma a x para
obtener el siguiente punto.
• Dado que la distribución normal es simétrica, los términos de la función de transición Q(x|x') y Q(x'|x) se
cancelarán en nuestra probabilidad de aceptación.
Bibliografía
 Luger, G.F. Artificial Intelligence (Structures and Strategies for Complex Problem Solving
(4 edition) (Addison–Wesley, 2002) • Cap. 3: “Structure and strategies for state space
search”
 “Inteligencia Artificial: Resolución de problemas, algoritmos de búsqueda”, Javier Béjar,
mayo 2021, http://www.bubok.es/libros/2050/inteligencia-artificial-resolucion-de-
problemas-algoritmos-de-busqueda
 “Una introducción a la inferencia bayesiana”, Reo Neo, mayo 2022,
https://towardsdatascience.com/an-introduction-to-bayesian-inference-2cee9416504c
 “Explicación de la divergencia Kullback-Leibler”, Data Science Team, 2020,
https://datascience.eu/es/aprendizaje-automatico/explicacion-de-la-divergencia-
kullback-leibler/
 “Cómo usar la inferencia bayesiana para predicciones en Python” , Pedro Martín de
Bastos, 2021 junio, https://towardsdatascience.com/how-to-use-bayesian-inference-
for-predictions-in-python-4de5d0bc84f3
 Statistics for Machine Learning A-Z, Gencay I., junio 2022,
https://pub.towardsai.net/statistics-for-machine-learning-a-z-66a82fbf2622

También podría gustarte