¿Cuáles son algunas historias de éxito para Bayesian Networks?

Como escribí en mi respuesta a ¿Cuáles son algunas aplicaciones de la vida real de Bayesian Belief Networks? Los filtros de Kalman son un caso especial de las redes dinámicas bayesianas. Al ver cómo los filtros de Kalman han sido la técnica dominante en el seguimiento de objetivos durante décadas, creo que eso califica como una historia de éxito.

En cuanto a las ventajas de las redes bayesianas, estas son solo algunas:

  • Pueden combinar fuentes dispares de evidencia débil para llegar a hipótesis sólidas.
  • Pueden realizar varios tipos de razonamiento: diagnóstico (también conocido como abductivo, ascendente), predictivo (también conocido como causal, deductivo, de arriba hacia abajo) e intercausal (también conocido como explicación)
  • Su representación compacta de distribuciones de probabilidad conjunta que representan estados mundiales complejos reduce la cantidad de parámetros que debe especificar un modelo del estado mundial.
  • Su estructura gráfica es más fácil de entender para los humanos que las redes neuronales, lo que facilita el desarrollo del modelo por expertos en la materia.
  • Son modelos de “caja blanca” en el sentido de que su proceso de razonamiento puede ser entendido por los humanos y sus respuestas siempre vienen con probabilidades adjuntas. (solo trate de explicar cómo una red neuronal llegó a su conclusión a su jefe no técnico)
  • Se basan en una base probabilística rigurosa, a diferencia de los sistemas basados ​​en reglas y lógica difusa.
  • La mayoría de las redes pueden transformarse en estructuras en forma de árbol que permiten la actualización de creencias locales a través del envío de mensajes, facilitando su implementación en procesadores paralelos.
  • Experimentos psicológicos recientes indican que los humanos razonan intuitivamente sobre su mundo de una manera bastante similar a la inferencia bayesiana

En cuanto a “¿Pueden las redes Bayesianas tratar con … datos que no se pueden discretizar fácilmente …”, ciertamente puede incluir variables aleatorias continuas en su red. Si conoce la distribución y es simple (por ejemplo, gaussiana), puede usar alguna forma de propagación de creencias. De lo contrario, puede usar algo como la ponderación de probabilidad donde toma muestras de una variable y luego las propaga a través de la red. Obviamente, la precisión aumenta con la mayor cantidad de muestras que empuja de esta manera; sin embargo, una ventaja es que es un “algoritmo en cualquier momento” que le proporcionará una estimación cada vez que detenga la iteración. No tiene que esperar a que se “detenga” para obtener una respuesta.

Estas son algunas de las aplicaciones más populares e importantes de Bayesian Networks:

  • Bayes ingenuos [1] : Esto se basa en una red bayesiana muy simple que supone la independencia condicional de los efectos dada la causa. Es ampliamente utilizado en la clasificación de textos.
  • Modelos ocultos de Markov [2] : Quizás la red bayesiana más conocida y utilizada, es uno de los modelos de series temporales más populares. Utiliza la famosa solución de programación dinámica de Viterbi para inferir el estado latente de un sistema dado observaciones discretas sobre el sistema. El filtro de Kalman es una variante con variables observadas que son continuas.
  • Turbo Codes [3,4,5] : los algoritmos de decodificación utilizados en Turbo Codes (códecs de última generación que se utilizan en los estándares de telefonía móvil 3G y 4G inalámbricos) son equivalentes al algoritmo de propagación de creencias Loopy de Pearl en la red bayesiana que representa El proceso de codificación-decodificación Turbo.

[1] en.wikipedia.org/wiki/Naive_Bayes_classifier
[2] en.wikipedia.org/wiki/Hidden_Markov_model
[3] http://www.cs.ubc.ca/~murphyk/Papers/loopy_uai99.pdf
[4] http://dx.doi.org/10.1109/49.661103
[5] http://citeseerx.ist.psu.edu/vie

Las redes bayesianas son en realidad un subconjunto de modelos gráficos (y de hecho son el subconjunto más popular) dirigidos por modelos gráficos acíclicos, es decir, todos los pares de variables tienen una relación causal definida.

Lo que esto significa es que una gran cantidad de investigación moderna de aprendizaje automático se centra en ellos. Casi todos los “modelos temáticos” como la asignación de Dirichlet latente son redes bayesianas, y estos son probablemente los ejemplos más comunes.

Tratan con grandes cantidades de datos y datos de alta dimensión, generalmente evitando métodos de inferencia exactos; y donde Markov Chain Monte Carlo, un método de muestreo muy poderoso y útil, no puede usarse para inferencia, existen métodos como la inferencia variacional y la propagación de creencias. Los datos se pueden discretizar, pero a veces una representación inteligente también puede manejar variables de tiempo continuas; por ejemplo, un modelo de tema sensible al tiempo puede manejar el tiempo continuo para las fechas de cada documento que clasifica asumiendo una función que relaciona la diferencia de tiempo y la cantidad probable de influencia entre dos documentos.

Los modelos relacionados que no son redes bayesianas, como las redes de Markov, tienen muchas similitudes en inferencia y métodos de aprendizaje; Prácticamente, no hay una gran razón para separarlos.

Escribiré una respuesta más detallada a esta pregunta, pero quiero dedicarle el tiempo que se merece. Como aperitivo, las redes bayesianas están particularmente adaptadas a los problemas de “lógica deductiva”, ya que tales redes esencialmente intentan modelar la causalidad entre diferentes variables y eso es precisamente de lo que se trata la deducción: una declaración deductiva como si A entonces B es básicamente lo mismo que afirmar Pr (B | A) = 1.

En este aspecto específico, las redes bayesianas están mucho más adaptadas que, por ejemplo, las redes neuronales. Uno podría preguntarse por qué nos preocupamos por los problemas deductivos? La respuesta es que la deducción es una parte integral de una eventual inteligencia general artificial: la inducción de Solomonoff (y AIXItl, etc.) son excelentes, pero no suficientes.

Más tarde.

More Interesting

¿Por qué casi todos los trabajos de investigación en informática escritos por profesores universitarios y estudiantes de doctorado tienen muy poco que ver con escribir código? La mayoría de los documentos que he leído son simplemente inútiles cuando se trata de mejorar mis habilidades de programación.

¿Cómo puede uno familiarizarse con la investigación actual en informática?

¿Fue la sofisticación de los algoritmos o los límites del poder computacional lo que limitó la investigación de IA en los años 70 y 80?

¿Por qué la evaluación parcial no se usa más comúnmente en los lenguajes de programación?

¿Cuál es la forma correcta de hacer una búsqueda bibliográfica exhaustiva de trabajos anteriores?

¿Cuáles son los documentos más influyentes en el mundo de SDN (Software Defined Networking)?

¿Cuán cercanos / similares son el procesamiento de imágenes digitales y la visión por computadora? ¿Cuál es más difícil / importante?

¿Cuáles son los temas más controvertidos en informática?

¿Qué tipo de investigación en informática se realiza para abordar problemas de la vida real?

¿Cómo debo revisar la literatura relevante sobre un tema muy específico sobre el cual no tengo mucho conocimiento?

¿Qué campo de investigación en Ciencias de la Computación puede perseguir un graduado que no sea CS que trabaje en TI?

¿Una arquitectura de longitud de instrucción variable reduciría las pérdidas de caché?

¿Qué empresas / personas lideran actualmente en el campo del reconocimiento de voz?

¿Por qué la teoría de la complejidad computacional es un campo importante y cuáles son algunos sistemas / productos interesantes que se crean a partir de ella?

¿Es necesario asistir a Stuyvesant para tener éxito en los concursos de investigación científica?