¿Qué es una red neuronal bayesiana?

Una red neuronal bayesiana (BNN) se refiere a la extensión de redes estándar con inferencia posterior. El entrenamiento estándar de NN a través de la optimización es (desde una perspectiva probabilística) equivalente a la estimación de máxima verosimilitud (MLE) para los pesos.

Por muchas razones, esto no es satisfactorio. Una razón es que carece de una justificación teórica adecuada desde una perspectiva probabilística: ¿por qué la máxima probabilidad? ¿Por qué solo estimar puntos? El uso de MLE ignora cualquier incertidumbre que podamos tener en los valores de peso adecuados. Desde un punto de vista práctico, este tipo de entrenamiento a menudo es susceptible de sobreajuste, como suelen hacer las NN.

Una solución parcial para esto es introducir la regularización. Desde una perspectiva bayesiana, esto es equivalente a inducir previos en los pesos (digamos distribuciones gaussianas si estamos utilizando la regularización L2). La optimización en este caso es similar a la búsqueda de estimadores MAP en lugar de MLE. Una vez más, desde una perspectiva probabilística, esto no es lo correcto , aunque ciertamente funciona bien en la práctica.

Lo correcto (es decir, teóricamente justificable) es la inferencia posterior, aunque esto es muy desafiante tanto desde el punto de vista del modelado como del computacional. Los BNN son redes neuronales que adoptan este enfoque. En el pasado esto era casi imposible, y tuvimos que recurrir a aproximaciones pobres, como el método de Laplace (baja complejidad) o MCMC (convergencia larga, difícil de diagnosticar). Sin embargo, últimamente ha habido algunos resultados súper interesantes sobre el uso de la inferencia variacional para hacer esto [1], y esto ha despertado un gran interés en el área.

Los BNN son importantes en entornos específicos, especialmente cuando nos preocupamos mucho por la incertidumbre. Algunos ejemplos de estos casos son sistemas de toma de decisiones, configuraciones de datos (relativamente) más pequeñas, optimización bayesiana, aprendizaje basado en modelos y otros.

[1] – [1505.05424] Incertidumbre de peso en redes neuronales

Una red neuronal bayesiana es el tipo de red neuronal con una distribución previa en sus pesos. Estos métodos bayesianos le permiten considerar una distribución completa de respuestas. Con este enfoque podemos abordar problemas como

1.Regularización (independientemente de que se ajuste demasiado o no)

2. Selección o comparación de modelos sin la necesidad de un conjunto de datos de validación cruzada

Con la ayuda de estas técnicas de datos, también podemos colocar barras de error en la salida de las redes considerando la forma de la distribución, p (y | D).

Para comprender completamente qué es una red neuronal bayesiana, deberá comprender qué es el aprendizaje bayesiano de pesas.

p (w | D) = [p (D | w) p (w)] / p (D) = [[p (D | w) p (w)] / R p (D | w) p (w) dw

En la formalización bayesiana, aprender los pesos significa cambiar nuestra creencia sobre los pesos de la p (w) anterior a la p posterior (w / D) como consecuencia de ver los datos.

Tendrá que conocer la programación básica de Phython para tener una mejor idea de lo que dije (tipeó más bien 😉).

More Interesting

Quiero aprender el procesamiento del lenguaje natural en CMU. ¿Es mejor tomarlo como un estudiante de CS o tomarlo como un estudiante de lingüística (como una electiva)?

¿Cuáles son las condiciones de Dirichlet en una serie de Fourier? ¿Son necesarias las condiciones de Dirichlet?

¿Hay alguna debilidad en el uso de la agrupación máxima y la agrupación promedio?

¿Cuál es la definición de 'conjunto de desarrollo' en el aprendizaje automático?

Cómo implementar SVM yo mismo

¿Cuáles son algunos trabajos de investigación basados ​​en ciencia de datos y aprendizaje automático en los que R se utiliza como lenguaje de programación?

¿Todavía es necesario aprender LDA (distribución de Dirichlet latente)?

¿Cuál es un ejemplo de aplicación en el mundo real de los modelos de mezcla gaussiana?

¿Puedo hacer IA y aprendizaje automático sin matemáticas?

Cómo integrar el marco Tensorflow con XGBoost

¿Qué es ingenuo Bayes en minería de datos?

¿Fallarán todos los modelos de aprendizaje automático en este conjunto de datos?

¿Por qué se supera un clasificador supervisado?

¿Cuál es la diferencia entre un sistema recomendado basado en la utilidad del sistema y un sistema recomendado basado en el contenido del sistema?

Mi campo de interés para el doctorado es la visión por computadora, el aprendizaje automático y el procesamiento de imágenes. ¿Qué recursos hay para principiantes con respecto a estos temas? Yo sé Java; ¿Debo aprender otros idiomas primero o puedo comenzar los cursos de inmediato?