Articulo de referencia

Programación bayesiana

La programación bayesiana es un formalismo y una metodología para disponer de una técnica que permita especificar modelos probabilísticos y resolver problemas cuando se dispone ...

La programación bayesiana es un formalismo y una metodología para disponer de una técnica que permita especificar modelos probabilísticos y resolver problemas cuando se dispone de menos información de la necesaria.

Edwin T. Jaynes propuso que la probabilidad podía considerarse una alternativa y una extensión de la lógica para el razonamiento racional con información incompleta e incierta. En su libro fundacional, Probability Theory: The Logic of Science [ 1 ] , desarrolló esta teoría y propuso lo que denominó «el robot», que no era un dispositivo físico, sino un motor de inferencia para automatizar el razonamiento probabilístico: una especie de Prolog para la probabilidad en lugar de la lógica. La programación bayesiana [ 2 ] es una implementación formal y concreta de este «robot».

La programación bayesiana también puede considerarse un formalismo algebraico para especificar modelos gráficos como, por ejemplo, redes bayesianas , redes bayesianas dinámicas , filtros de Kalman o modelos ocultos de Markov . De hecho, la programación bayesiana es más general que las redes bayesianas y tiene una capacidad de expresión equivalente a la de los grafos factoriales probabilísticos . [ 3 ]

Formalismo

Un programa bayesiano es un método para especificar una familia de distribuciones de probabilidad.

Los elementos constitutivos de un programa bayesiano se presentan a continuación: [ 4 ]

Programa{Descripción{Especificación(π){VariablesDescomposiciónFormulariosIdentificación (basada en δ)Pregunta{\displaystyle {\text{Programa}}{\begin{cases}{\text{Descripción}}{\begin{cases}{\text{Especificación}}(\pi ){\begin{cases}{\text{Variables}}\\{\text{Descomposición}}\\{\text{Formularios}}\\\end{cases}}\\{\text{Identificación (basada en }}\delta )\end{cases}}\\{\text{Pregunta}}\end{cases}}}
  1. Un programa se construye a partir de una descripción y una pregunta.
  2. Se construye una descripción utilizando alguna especificación (π{\displaystyle \pi }) según lo proporcionado por el programador y un proceso de identificación o aprendizaje para los parámetros no especificados completamente por la especificación, utilizando un conjunto de datos (δ{\displaystyle \delta }).
  3. Una especificación se construye a partir de un conjunto de variables pertinentes, una descomposición y un conjunto de formularios.
  4. Los formularios son formularios paramétricos o preguntas dirigidas a otros programas bayesianos.
  5. La pregunta especifica qué distribución de probabilidad debe calcularse.

Descripción

El propósito de una descripción es especificar un método eficaz para calcular una distribución de probabilidad conjunta sobre un conjunto de variables.{incógnita1,incógnita2,,incógnitanorte}{\displaystyle \left\{X_{1},X_{2},\cdots ,X_{N}\right\}}dado un conjunto de datos experimentalesδ{\displaystyle \delta }y algunas especificacionesπ{\displaystyle \pi }Esta distribución conjunta se denota como:PAG(incógnita1incógnita2incógnitanorteδπ){\displaystyle P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)}. [ 5 ]

Para especificar conocimientos preliminaresπ{\displaystyle \pi }El programador debe realizar lo siguiente:

  1. Definir el conjunto de variables relevantes{incógnita1,incógnita2,,incógnitanorte}{\displaystyle \left\{X_{1},X_{2},\cdots ,X_{N}\right\}}sobre la cual se define la distribución conjunta.
  2. Descomponga la distribución conjunta (divida la distribución en probabilidades independientes o condicionales relevantes ).
  3. Defina las formas de cada una de las distribuciones (por ejemplo, para cada variable, una de la lista de distribuciones de probabilidad ).

Descomposición

Dada una partición de{incógnita1,incógnita2,,incógnitanorte}{\displaystyle \left\{X_{1},X_{2},\ldots ,X_{N}\right\}}que contieneK{\displaystyle K}subconjuntos,K{\displaystyle K}Las variables se definen L1,,LK{\displaystyle L_{1},\cdots ,L_{K}}, cada uno correspondiente a uno de estos subconjuntos. Cada variableLk{\displaystyle L_{k}}se obtiene como la conjunción de las variables{incógnitak1,incógnitak2,}{\displaystyle \left\{X_{k_{1}},X_{k_{2}},\cdots \right\}} perteneciente a lakth{\displaystyle k^{th}}subconjunto. La aplicación recursiva del teorema de Bayes conduce a:

PAG(incógnita1incógnita2incógnitanorteδπ)=PAG(L1LKδπ)=PAG(L1δπ)×PAG(L2L1δπ)××PAG(LKLK1L1δπ){\displaystyle {\begin{aligned}&P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)\\={}&P\left(L_{1}\wedge \cdots \wedge L_{K}\mid \delta \wedge \pi \right)\\={}&P\left(L_{1}\mid \delta \wedge \pi \right)\times P\left(L_{2}\mid L_{1}\wedge \delta \wedge \pi \right)\times \cdots \times P\left(L_{K}\mid L_{K-1}\wedge \cdots \wedge L_{1}\wedge \delta \wedge \pi \right)\end{aligned}}}

Las hipótesis de independencia condicional permiten entonces simplificaciones adicionales. Una hipótesis de independencia condicional para la variableLk{\displaystyle L_{k}}se define eligiendo alguna variableincógnitanorte{\displaystyle X_{n}} entre las variables que aparecen en la conjunciónLk1L2L1{\displaystyle L_{k-1}\wedge \cdots \wedge L_{2}\wedge L_{1}}, etiquetadoRk{\displaystyle R_{k}}como la conjunción de estas variables y configuración elegidas:

PAG(LkLk1L1δπ)=PAG(LkRkδπ){\displaystyle P\left(L_{k}\mid L_{k-1}\wedge \cdots \wedge L_{1}\wedge \delta \wedge \pi \right)=P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)}

Obtenemos entonces:

PAG(incógnita1incógnita2incógnitanorteδπ)=PAG(L1δπ)×PAG(L2R2δπ)××PAG(LKRKδπ){\displaystyle {\begin{aligned}&P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)\\={}&P\left(L_{1}\mid \delta \wedge \pi \right)\times P\left(L_{2}\mid R_{2}\wedge \delta \wedge \pi \right)\times \cdots \times P\left(L_{K}\mid R_{K}\wedge \delta \wedge \pi \right)\end{aligned}}}

Dicha simplificación de la distribución conjunta como producto de distribuciones más simples se denomina descomposición, derivada mediante la regla de la cadena .

Esto garantiza que cada variable aparezca como máximo una vez a la izquierda de una barra de condicionamiento, que es la condición necesaria y suficiente para escribir descomposiciones matemáticamente válidas. [ 6 ]

Formularios

Cada distribuciónPAG(LkRkδπ){\displaystyle P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)}que aparece en el producto se asocia entonces con una forma paramétrica (es decir, una función)Fμ(Lk){\displaystyle f_{\mu }\left(L_{k}\right)}) o una pregunta a otro programa bayesianoPAG(LkRkδπ)=PAG(LRδ^π^){\displaystyle P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)=P\left(L\mid R\wedge {\widehat {\delta }}\wedge {\widehat {\pi }}\right)}.

Cuando es una formaFμ(Lk){\displaystyle f_{\mu }\left(L_{k}\right)}, en general,μ{\displaystyle \mu }es un vector de parámetros que pueden depender deRk{\displaystyle R_{k}}oδ{\displaystyle \delta }o ambos. El aprendizaje tiene lugar cuando algunos de estos parámetros se calculan utilizando el conjunto de datos.δ{\displaystyle \delta }.

Una característica importante de la programación bayesiana es esta capacidad de utilizar preguntas dirigidas a otros programas bayesianos como componentes de la definición de un nuevo programa bayesiano.PAG(LkRkδπ){\displaystyle P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)}se obtiene mediante algunas inferencias realizadas por otro programa bayesiano definido por las especificacionesπ^{\displaystyle {\widehat {\pi }}}y los datosδ^{\displaystyle {\widehat {\delta }}}Esto es similar a llamar a una subrutina en la programación clásica y proporciona una manera fácil de construir modelos jerárquicos .

Pregunta

Dada una descripción (es decir,PAG(incógnita1incógnita2incógnitanorteδπ){\displaystyle P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)}), se obtiene una pregunta mediante partición{incógnita1,incógnita2,,incógnitanorte}{\displaystyle \left\{X_{1},X_{2},\cdots ,X_{N}\right\}} en tres conjuntos: las variables buscadas, las variables conocidas y las variables libres.

Las 3 variablesSmiardohmid{\displaystyle Buscado},Knorteownorte{\displaystyle Conocido}yFrmimi{\displaystyle Gratis}se definen como la conjunción de las variables que pertenecen a estos conjuntos.

Una pregunta se define como el conjunto de distribuciones:

PAG(SmiardohmidConocidoδπ){\displaystyle P\left(Buscado\mid {\text{Conocido}}\wedge \delta \wedge \pi \right)}

compuesto de muchas "preguntas instauradas" como el cardinal deKnorteownorte{\displaystyle Conocido}, siendo cada pregunta instanciada la distribución:

PAG(BuscadoConocidoδπ){\displaystyle P\left({\text{Buscado}}\mid {\text{Conocido}}\wedge \delta \wedge \pi \right)}

Inferencia

Dada la distribución conjuntaPAG(incógnita1incógnita2incógnitanorteδπ){\displaystyle P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)}Siempre es posible calcular cualquier pregunta posible utilizando la siguiente inferencia general:

PAG(BuscadoConocidoδπ)=Gratis[PAG(BuscadoGratisConocidoδπ)]=Gratis[PAG(BuscadoGratisConocidoδπ)]PAG(Conocidoδπ)=Gratis[PAG(BuscadoGratisConocidoδπ)]GratisBuscado[PAG(BuscadoGratisConocidoδπ)]=1Z×Gratis[PAG(BuscadoGratisConocidoδπ)]{\displaystyle {\begin{aligned}&P\left({\text{Searched}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)\\={}&\sum _{\text{Free}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)\right]\\={}&{\frac {\displaystyle \sum _{\text{Free}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\wedge {\text{Known}}\mid \delta \wedge \pi \right)\right]}{\displaystyle P\left({\text{Known}}\mid \delta \wedge \pi \right)}}\\={}&{\frac {\displaystyle \sum _{\text{Free}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\wedge {\text{Known}}\mid \delta \wedge \pi \right)\right]}{\displaystyle \sum _{{\text{Free}}\wedge {\text{Searched}}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\wedge {\text{Known}}\mid \delta \wedge \pi \right)\right]}}\\={}&{\frac {1}{Z}}\times \sum _{\text{Free}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\wedge {\text{Known}}\mid \delta \wedge \pi \right)\right]\end{aligned}}}

donde la primera igualdad resulta de la regla de marginalización, la segunda del teorema de Bayes y la tercera corresponde a una segunda aplicación de la marginalización. El denominador parece ser un término de normalización y puede reemplazarse por una constante.Z{\displaystyle Z}.

Teóricamente, esto permite resolver cualquier problema de inferencia bayesiana. Sin embargo, en la práctica, el costo de calcular de forma exhaustiva y exacta es elevado.PAG(BuscadoConocidoδπ){\displaystyle P\left({\text{Searched}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)}es demasiado grande en casi todos los casos.

Sustituyendo la distribución conjunta por su descomposición obtenemos:

PAG(BuscadoConocidoδπ)=1ZGratis[k=1K[PAG(LiKiπ)]]{\displaystyle {\begin{aligned}&P\left({\text{Searched}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)\\={}&{\frac {1}{Z}}\sum _{\text{Free}}\left[\prod _{k=1}^{K}\left[P\left(L_{i}\mid K_{i}\wedge \pi \right)\right]\right]\end{aligned}}}

lo cual suele ser una expresión mucho más sencilla de calcular, ya que la dimensionalidad del problema se reduce considerablemente mediante la descomposición en un producto de distribuciones de menor dimensión.

Ejemplo

detección bayesiana de spam

El objetivo del filtrado bayesiano de correo no deseado es eliminar los correos electrónicos basura.

El problema es muy fácil de formular. Los correos electrónicos deben clasificarse en una de dos categorías: no spam o spam. La única información disponible para clasificarlos es su contenido: un conjunto de palabras. El uso de estas palabras sin tener en cuenta el orden se conoce comúnmente como modelo de bolsa de palabras .

Además, el clasificador debe ser capaz de adaptarse al usuario y aprender de la experiencia. Partiendo de una configuración estándar inicial, el clasificador debe modificar sus parámetros internos cuando el usuario no esté de acuerdo con su decisión. De este modo, se adaptará a los criterios del usuario para diferenciar entre correo no deseado y correo basura. Sus resultados mejorarán a medida que procese correos electrónicos clasificados con mayor frecuencia.

Variables

Las variables necesarias para escribir este programa son las siguientes:

  1. Spagametro{\displaystyle Spam}: una variable binaria, falsa si el correo electrónico no es spam y verdadera en caso contrario.
  2. W0,W1,,Wnorte1{\displaystyle W_{0},W_{1},\ldots ,W_{N-1}}:norte{\displaystyle N}variables binarias .Wnorte{\displaystyle W_{n}}es cierto si elnorteth{\displaystyle n^{th}}La palabra del diccionario está presente en el texto.

Estosnorte+1{\displaystyle N+1}Las variables binarias resumen toda la información sobre un correo electrónico.

Descomposición

Partiendo de la distribución conjunta y aplicando recursivamente el teorema de Bayes, obtenemos:

PAG(Correo basuraW0Wnorte1)=PAG(Correo basura)×PAG(W0Correo basura)×PAG(W1Correo basuraW0)××PAG(Wnorte1Correo basuraW0Wnorte2){\displaystyle {\begin{aligned}&P({\text{Spam}}\wedge W_{0}\wedge \cdots \wedge W_{N-1})\\={}&P({\text{Spam}})\times P(W_{0}\mid {\text{Spam}})\times P(W_{1}\mid {\text{Spam}}\wedge W_{0})\\&\times \cdots \\&\times P\left(W_{N-1}\mid {\text{Spam}}\wedge W_{0}\wedge \cdots \wedge W_{N-2}\right)\end{aligned}}}

Esta es una expresión matemática exacta.

Se puede simplificar drásticamente asumiendo que la probabilidad de aparición de una palabra, conociendo la naturaleza del texto (spam o no), es independiente de la aparición de las demás palabras. Esta es la suposición del clasificador bayesiano ingenuo , lo que convierte a este filtro de spam en un modelo bayesiano ingenuo .

Por ejemplo, el programador puede suponer que:

PAG(W1Correo basuraW0)=PAG(W1Correo basura){\displaystyle P(W_{1}\mid {\text{Spam}}\land W_{0})=P(W_{1}\mid {\text{Spam}})}

para finalmente obtener:

PAG(Correo basuraW0Wnorte1)=PAG(Correo basura)norte=0norte1[PAG(WnorteCorreo basura)]{\displaystyle P({\text{Spam}}\land W_{0}\land \ldots \land W_{N-1})=P({\text{Spam}})\prod _{n=0}^{N-1}[P(W_{n}\mid {\text{Spam}})]}

Este tipo de suposición se conoce como la suposición bayesiana ingenua . Es "ingenua" en el sentido de que la independencia entre palabras claramente no es del todo cierta. Por ejemplo, ignora por completo que la aparición de pares de palabras puede ser más significativa que las apariciones aisladas. Sin embargo, el programador puede asumir esta hipótesis y desarrollar el modelo y las inferencias asociadas para comprobar su fiabilidad y eficiencia.

Formas paramétricas

Para poder calcular la distribución conjunta, el programador ahora debe especificar la norte+1{\displaystyle N+1}distribuciones que aparecen en la descomposición:

  1. PAG(Correo basura){\displaystyle P({\text{Spam}})}es una definición previa, por ejemplo, porPAG([Correo basura=1])=0,75{\displaystyle P([{\text{Spam}}=1])=0.75}
  2. Cada uno de losnorte{\displaystyle N} formasPAG(WnorteCorreo basura){\displaystyle P(W_{n}\mid {\text{Spam}})}puede especificarse utilizando la regla de sucesión de Laplace (esta es una técnica de suavizado basada en pseudocuentas para contrarrestar el problema de frecuencia cero de palabras nunca antes vistas):
    1. PAG(Wnorte[Correo basura=FALSO])=1+aFnorte2+aF{\displaystyle P(W_{n}\mid [{\text{Spam}}={\text{false}}])={\frac {1+a_{f}^{n}}{2+a_{f}}}}
    2. PAG(Wnorte[Correo basura=verdadero])=1+atnorte2+at{\displaystyle P(W_{n}\mid [{\text{Spam}}={\text{true}}])={\frac {1+a_{t}^{n}}{2+a_{t}}}}

dóndeaFnorte{\displaystyle a_{f}^{n}}representa el número de apariciones delnorteth{\displaystyle n^{th}}palabra en correos electrónicos que no son spam yaF{\displaystyle a_{f}}representa el número total de correos electrónicos que no son spam. De manera similar,atnorte{\displaystyle a_{t}^{n}}representa el número de apariciones delnorteth{\displaystyle n^{th}}palabra en correos electrónicos no deseados yat{\displaystyle a_{t}}representa el número total de correos electrónicos no deseados.

Identificación

Elnorte{\displaystyle N} formasPAG(WnorteCorreo basura){\displaystyle P(W_{n}\mid {\text{Spam}})}aún no están completamente especificados porque el2norte+2{\displaystyle 2N+2}parámetrosaFnorte=0,,norte1{\displaystyle a_{f}^{n=0,\ldots ,N-1}},atnorte=0,,norte1{\displaystyle a_{t}^{n=0,\ldots ,N-1}},aF{\displaystyle a_{f}}yat{\displaystyle a_{t}}aún no tienen valores.

La identificación de estos parámetros podría realizarse mediante el procesamiento por lotes de una serie de correos electrónicos clasificados o mediante una actualización incremental de los parámetros utilizando las clasificaciones que el usuario haga de los correos electrónicos a medida que llegan.

Ambos métodos podrían combinarse: el sistema podría comenzar con valores estándar iniciales de estos parámetros obtenidos de una base de datos genérica, y luego un aprendizaje incremental personalizaría el clasificador para cada usuario individual.

Pregunta

La pregunta que se le plantea al programa es: "¿Cuál es la probabilidad de que un texto dado sea spam sabiendo qué palabras aparecen y cuáles no aparecen en este texto?" Se puede formalizar de la siguiente manera:

PAG(Correo basuraw0wnorte1){\displaystyle P({\text{Spam}}\mid w_{0}\wedge \cdots \wedge w_{N-1})}

que se puede calcular de la siguiente manera:

PAG(Correo basuraw0wnorte1)=PAG(Correo basura)norte=0norte1[PAG(wnorteCorreo basura)]Correo basura[PAG(Correo basura)norte=0norte1[PAG(wnorteCorreo basura)]]{\displaystyle {\begin{aligned}&P({\text{Spam}}\mid w_{0}\wedge \cdots \wedge w_{N-1})\\={}&{\frac {\displaystyle P({\text{Spam}})\prod _{n=0}^{N-1}[P(w_{n}\mid {\text{Spam}})]}{\displaystyle \sum _{\text{Spam}}[P({\text{Spam}})\prod _{n=0}^{N-1}[P(w_{n}\mid {\text{Spam}})]]}}\end{aligned}}}

El denominador parece ser una constante de normalización . No es necesario calcularla para decidir si se trata de spam. Por ejemplo, un truco sencillo es calcular la proporción:

PAG([Correo basura=verdadero]w0wnorte1)PAG([Correo basura=FALSO]w0wnorte1)=PAG([Correo basura=verdadero])PAG([Correo basura=FALSO])×norte=0norte1[PAG(wnorte[Correo basura=verdadero])PAG(wnorte[Correo basura=FALSO])]{\displaystyle {\begin{aligned}&{\frac {P([{\text{Spam}}={\text{true}}]\mid w_{0}\wedge \cdots \wedge w_{N-1})}{P([{\text{Spam}}={\text{false}}]\mid w_{0}\wedge \cdots \wedge w_{N-1})}}\\={}&{\frac {P([{\text{Spam}}={\text{true}}])}{P([{\text{Spam}}={\text{false}}])}}\times \prod _{n=0}^{N-1}\left[{\frac {P(w_{n}\mid [{\text{Spam}}={\text{true}}])}{P(w_{n}\mid [{\text{Spam}}={\text{false}}])}}\right]\end{aligned}}}

Este cálculo es más rápido y sencillo porque solo requiere2norte{\displaystyle 2N}productos.

programa bayesiano

El programa de filtro de spam bayesiano se define completamente por:

Pr{Ds{Spag(π){Va:Correo basura,W0,W1Wnorte1Ddo:{PAG(Correo basuraW0WnorteWnorte1)=PAG(Correo basura)norte=0norte1PAG(WnorteCorreo basura)Fo:{PAG(Correo basura):{PAG([Correo basura=FALSO])=0,25PAG([Correo basura=verdadero])=0,75PAG(WnorteCorreo basura):{PAG(Wnorte[Correo basura=FALSO])=1+aFnorte2+aFPAG(Wnorte[Correo basura=verdadero])=1+atnorte2+atIdentificación (basada en δ)Q:PAG(Correo basuraw0wnortewnorte1){\displaystyle \Pr {\begin{cases}Ds{\begin{cases}Sp(\pi ){\begin{cases}Va:{\text{Spam}},W_{0},W_{1}\ldots W_{N-1}\\Dc:{\begin{cases}P({\text{Spam}}\land W_{0}\land \ldots \land W_{n}\land \ldots \land W_{N-1})\\=P({\text{Spam}})\prod _{n=0}^{N-1}P(W_{n}\mid {\text{Spam}})\end{cases}}\\Fo:{\begin{cases}P({\text{Spam}}):{\begin{cases}P([{\text{Spam}}={\text{false}}])=0.25\\P([{\text{Spam}}={\text{true}}])=0.75\end{cases}}\\P(W_{n}\mid {\text{Spam}}):{\begin{cases}P(W_{n}\mid [{\text{Spam}}={\text{false}}])\\={\frac {1+a_{f}^{n}}{2+a_{f}}}\\P(W_{n}\mid [{\text{Spam}}={\text{true}}])\\={\frac {1+a_{t}^{n}}{2+a_{t}}}\end{cases}}\\\end{cases}}\\\end{cases}}\\{\text{Identification (based on }}\delta )\end{cases}}\\Qu:P({\text{Spam}}\mid w_{0}\land \ldots \land w_{n}\land \ldots \land w_{N-1})\end{cases}}}

Filtro bayesiano, filtro de Kalman y modelo oculto de Markov

Los filtros bayesianos (a menudo denominados estimación bayesiana recursiva ) son modelos probabilísticos genéricos para procesos que evolucionan en el tiempo. Numerosos modelos son casos particulares de este enfoque genérico, por ejemplo: el filtro de Kalman o el modelo oculto de Markov (HMM).

Variables

  • VariablesS0,,ST{\displaystyle S^{0},\ldots ,S^{T}}son una serie temporal de variables de estado consideradas en un horizonte temporal que abarca desde0{\displaystyle 0}aT{\displaystyle T}.
  • VariablesO0,,OT{\displaystyle O^{0},\ldots ,O^{T}}son una serie temporal de variables de observación en el mismo horizonte.

Descomposición

La descomposición se basa en:

  • enPAG(StSt1){\displaystyle P(S^{t}\mid S^{t-1})}, llamado modelo del sistema, modelo de transición o modelo dinámico, que formaliza la transición desde el estado en el tiempot1{\displaystyle t-1}al estado en ese momentot{\displaystyle t};
  • enPAG(OtSt){\displaystyle P(O^{t}\mid S^{t})}, llamado modelo de observación, que expresa lo que se puede observar en el tiempot{\displaystyle t}cuando el sistema está en estadoSt{\displaystyle S^{t}};
  • en un estado inicial en el momento0{\displaystyle 0}:PAG(S0O0){\displaystyle P(S^{0}\wedge O^{0})}.

Formas paramétricas

Las formas paramétricas no están restringidas y las diferentes elecciones dan lugar a diferentes modelos bien conocidos: véanse los filtros de Kalman y los modelos ocultos de Markov justo debajo.

Pregunta

La pregunta típica para este tipo de modelos es:PAG(St+kO0Ot){\displaystyle P\left(S^{t+k}\mid O^{0}\wedge \cdots \wedge O^{t}\right)}: ¿Cuál es la distribución de probabilidad para el estado en el tiempot+k{\displaystyle t+k}conociendo las observaciones del instante0{\displaystyle 0}at{\displaystyle t}¿

El caso más común es el filtrado bayesiano dondek=0{\displaystyle k=0}, que busca el estado actual, conociendo observaciones pasadas.

Sin embargo, también es posible(k>0){\displaystyle (k>0)}para extrapolar un estado futuro a partir de observaciones pasadas o para realizar suavizado(k<0){\displaystyle (k<0)}, para recuperar un estado pasado a partir de observaciones realizadas antes o después de ese instante.

También se pueden plantear preguntas más complejas, como se muestra a continuación en la sección HMM.

filtros bayesianos(k=0){\displaystyle (k=0)}Tienen una propiedad recursiva muy interesante, lo que contribuye en gran medida a su atractivo.PAG(St|O0Ot){\displaystyle P\left(S^{t}|O^{0}\wedge \cdots \wedge O^{t}\right)}puede calcularse simplemente a partir dePAG(St1O0Ot1){\displaystyle P\left(S^{t-1}\mid O^{0}\wedge \cdots \wedge O^{t-1}\right)}con la siguiente fórmula:

PAG(St|O0Ot)=PAG(Ot|St)×St1[PAG(St|St1)×PAG(St1|O0Ot1)]{\displaystyle {\begin{array}{ll}&P\left(S^{t}|O^{0}\wedge \cdots \wedge O^{t}\right)\\=&P\left(O^{t}|S^{t}\right)\times \sum _{S^{t-1}}\left[P\left(S^{t}|S^{t-1}\right)\times P\left(S^{t-1}|O^{0}\wedge \cdots \wedge O^{t-1}\right)\right]\end{array}}}

Otro punto de vista interesante para esta ecuación es considerar que hay dos fases: una fase de predicción y una fase de estimación:

  • Durante la fase de predicción, el estado se predice utilizando el modelo dinámico y la estimación del estado en el momento anterior:
PAG(St|O0Ot1)=St1[PAG(St|St1)×PAG(St1|O0Ot1)]{\displaystyle {\begin{array}{ll}&P\left(S^{t}|O^{0}\wedge \cdots \wedge O^{t-1}\right)\\=&\sum _{S^{t-1}}\left[P\left(S^{t}|S^{t-1}\right)\times P\left(S^{t-1}|O^{0}\wedge \cdots \wedge O^{t-1}\right)\right]\end{array}}}
  • Durante la fase de estimación, la predicción se confirma o se invalida utilizando la última observación:
PAG(StO0Ot)=PAG(OtSt)×PAG(St|O0Ot1){\displaystyle {\begin{aligned}&P\left(S^{t}\mid O^{0}\wedge \cdots \wedge O^{t}\right)\\={}&P\left(O^{t}\mid S^{t}\right)\times P\left(S^{t}|O^{0}\wedge \cdots \wedge O^{t-1}\right)\end{aligned}}}

programa bayesiano

PAGr{Ds{Spag(π){Va:S0,,ST,O0,,OTDdo:{PAG(S0STO0OT|π)=PAG(S0O0)×t=1T[PAG(St|St1)×PAG(Ot|St)]Fo:{PAG(S0O0)PAG(St|St1)PAG(Ot|St)IdQ:{PAG(St+k|O0Ot)(k=0)Filtración(k>0)Predicción(k<0)Suavizado{\displaystyle Pr{\begin{cases}Ds{\begin{cases}Sp(\pi ){\begin{cases}Va:\\S^{0},\cdots ,S^{T},O^{0},\cdots ,O^{T}\\Dc:\\{\begin{cases}&P\left(S^{0}\wedge \cdots \wedge S^{T}\wedge O^{0}\wedge \cdots \wedge O^{T}|\pi \right)\\=&P\left(S^{0}\wedge O^{0}\right)\times \prod _{t=1}^{T}\left[P\left(S^{t}|S^{t-1}\right)\times P\left(O^{t}|S^{t}\right)\right]\end{cases}}\\Fo:\\{\begin{cases}P\left(S^{0}\wedge O^{0}\right)\\P\left(S^{t}|S^{t-1}\right)\\P\left(O^{t}|S^{t}\right)\end{cases}}\end{cases}}\\Id\end{cases}}\\Qu:\\{\begin{cases}{\begin{array}{l}P\left(S^{t+k}|O^{0}\wedge \cdots \wedge O^{t}\right)\\\left(k=0\right)\equiv {\text{Filtering}}\\\left(k>0\right)\equiv {\text{Prediction}}\\\left(k<0\right)\equiv {\text{Smoothing}}\end{array}}\end{cases}}\end{cases}}}

filtro de Kalman

Los filtros de Kalman, muy conocidos [ 7 ], son un caso especial de filtros bayesianos.

Se definen mediante el siguiente programa bayesiano:

PAGr{Ds{Spag(π){Va:S0,,ST,O0,,OTDdo:{PAG(S0OT|π)=[PAG(S0O0|π)t=1T[PAG(St|St1π)×PAG(Ot|Stπ)]]Fo:{PAG(StSt1π)GRAMO(St,ASt1,Q)PAG(OtStπ)GRAMO(Ot,HSt,R)IdQ:PAG(STO0OTπ){\displaystyle Pr{\begin{cases}Ds{\begin{cases}Sp(\pi ){\begin{cases}Va:\\S^{0},\cdots ,S^{T},O^{0},\cdots ,O^{T}\\Dc:\\{\begin{cases}&P\left(S^{0}\wedge \cdots \wedge O^{T}|\pi \right)\\=&\left[{\begin{array}{c}P\left(S^{0}\wedge O^{0}|\pi \right)\\\prod _{t=1}^{T}\left[P\left(S^{t}|S^{t-1}\wedge \pi \right)\times P\left(O^{t}|S^{t}\wedge \pi \right)\right]\end{array}}\right]\end{cases}}\\Fo:\\{\begin{cases}P\left(S^{t}\mid S^{t-1}\wedge \pi \right)\equiv G\left(S^{t},A\bullet S^{t-1},Q\right)\\P\left(O^{t}\mid S^{t}\wedge \pi \right)\equiv G\left(O^{t},H\bullet S^{t},R\right)\end{cases}}\end{cases}}\\Id\end{cases}}\\Qu:\\P\left(S^{T}\mid O^{0}\wedge \cdots \wedge O^{T}\wedge \pi \right)\end{cases}}}
  • Las variables son continuas.
  • El modelo de transiciónPAG(StSt1π){\displaystyle P(S^{t}\mid S^{t-1}\wedge \pi )}y el modelo de observaciónPAG(OtStπ){\displaystyle P(O^{t}\mid S^{t}\wedge \pi )}Ambas se especifican utilizando leyes gaussianas con medias que son funciones lineales de las variables de condicionamiento.

Con estas hipótesis y utilizando la fórmula recursiva, es posible resolver analíticamente el problema de inferencia para responder a las preguntas habituales.PAG(STO0OTπ){\displaystyle P(S^{T}\mid O^{0}\wedge \cdots \wedge O^{T}\wedge \pi )}Pregunta. Esto da como resultado un algoritmo extremadamente eficiente, lo que explica la popularidad de los filtros de Kalman y la cantidad de aplicaciones cotidianas que tienen.

Cuando no existen modelos de transición y observación lineales evidentes, a menudo es posible, mediante una expansión de Taylor de primer orden, tratar estos modelos como localmente lineales. Esta generalización se conoce comúnmente como filtro de Kalman extendido .

modelo oculto de Markov

Los modelos ocultos de Markov (HMM) son otra especialización muy popular de los filtros bayesianos.

Se definen mediante el siguiente programa bayesiano:

Pr{Ds{Spag(π){Va:S0,,ST,O0,,OTDdo:{PAG(S0OTπ)=[PAG(S0O0π)t=1T[PAG(StSt1π)×PAG(OtStπ)]]Fo:{PAG(S0O0π)MatrizPAG(StSt1π)MatrizPAG(OtStπ)MatrizIdQ:máximoS1ST1[PAG(S1ST1STO0OTπ)]{\displaystyle \Pr {\begin{cases}Ds{\begin{cases}Sp(\pi ){\begin{cases}Va:\\S^{0},\ldots ,S^{T},O^{0},\ldots ,O^{T}\\Dc:\\{\begin{cases}&P\left(S^{0}\wedge \cdots \wedge O^{T}\mid \pi \right)\\=&\left[{\begin{array}{c}P\left(S^{0}\wedge O^{0}\mid \pi \right)\\\prod _{t=1}^{T}\left[P\left(S^{t}\mid S^{t-1}\wedge \pi \right)\times P\left(O^{t}\mid S^{t}\wedge \pi \right)\right]\end{array}}\right]\end{cases}}\\Fo:\\{\begin{cases}P\left(S^{0}\wedge O^{0}\mid \pi \right)\equiv {\text{Matrix}}\\P\left(S^{t}\mid S^{t-1}\wedge \pi \right)\equiv {\text{Matrix}}\\P\left(O^{t}\mid S^{t}\wedge \pi \right)\equiv {\text{Matrix}}\end{cases}}\end{cases}}\\Id\end{cases}}\\Qu:\\\max _{S^{1}\wedge \cdots \wedge S^{T-1}}\left[P\left(S^{1}\wedge \cdots \wedge S^{T-1}\mid S^{T}\wedge O^{0}\wedge \cdots \wedge O^{T}\wedge \pi \right)\right]\end{cases}}}
  • Las variables se tratan como discretas.
  • El modelo de transiciónPAG(StSt1π){\displaystyle P\left(S^{t}\mid S^{t-1}\wedge \pi \right)}y el modelo de observaciónPAG(OtStπ){\displaystyle P\left(O^{t}\mid S^{t}\wedge \pi \right)}son

ambos especificados mediante matrices de probabilidad.

  • La pregunta que más se formula a los HMM es:
máximoS1ST1[PAG(S1ST1STO0OTπ)]{\displaystyle \max _{S^{1}\wedge \cdots \wedge S^{T-1}}\left[P\left(S^{1}\wedge \cdots \wedge S^{T-1}\mid S^{T}\wedge O^{0}\wedge \cdots \wedge O^{T}\wedge \pi \right)\right]}

¿Cuál es la serie de estados más probable que conduce al estado actual, conociendo las observaciones pasadas?

Esta pregunta en particular puede responderse con un algoritmo específico y muy eficiente llamado algoritmo de Viterbi .

El algoritmo Baum-Welch se ha desarrollado para modelos ocultos de Markov (HMM).

Aplicaciones

Aplicaciones académicas

Desde el año 2000, la programación bayesiana se ha utilizado para desarrollar tanto aplicaciones robóticas como modelos de ciencias de la vida. [ 8 ]

Robótica

En robótica, la programación bayesiana se aplicó a la robótica autónoma , [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] sistemas CAD robóticos , [ 14 ] sistemas avanzados de asistencia al conductor , [ 15 ] control de brazos robóticos , robótica móvil , [ 16 ] [ 17 ] interacción humano-robot, [ 18 ] interacción humano-vehículo (modelos de conductor autónomo bayesiano) [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] programación y entrenamiento de avatares de videojuegos [ 24 ] y juegos de estrategia en tiempo real (IA). [ 25 ]

Ciencias de la vida

En ciencias de la vida, la programación bayesiana se utilizó en visión para reconstruir la forma a partir del movimiento, [ 26 ] para modelar la interacción visuovestibular [ 27 ] y para estudiar los movimientos sacádicos oculares; [ 28 ] en percepción y control del habla para estudiar la adquisición temprana del habla [ 29 ] y la aparición de sistemas articulatorios-acústicos; [ 30 ] y para modelar la percepción y el control de la escritura a mano. [ 31 ]

Reconocimiento de patrones

El aprendizaje de programas bayesianos tiene aplicaciones potenciales en el reconocimiento y síntesis de voz , el reconocimiento de imágenes y el procesamiento del lenguaje natural . Emplea los principios de composicionalidad (construcción de representaciones abstractas a partir de partes), causalidad (construcción de complejidad a partir de partes) y aprendizaje para aprender (uso de conceptos previamente reconocidos para facilitar la creación de nuevos conceptos). [ 32 ]

Teorías de la posibilidad

La comparación entre los enfoques probabilísticos (no solo la programación bayesiana) y las teorías de la posibilidad sigue siendo objeto de debate.

Las teorías de posibilidad, como por ejemplo los conjuntos difusos [ 33 ] , la lógica difusa [ 34 ] y la teoría de la posibilidad [ 35 ], son alternativas a la probabilidad para modelar la incertidumbre. Argumentan que la probabilidad es insuficiente o inconveniente para modelar ciertos aspectos del conocimiento incompleto o incierto.

La defensa de la probabilidad se basa principalmente en el teorema de Cox , que parte de cuatro postulados sobre el razonamiento racional en presencia de incertidumbre. Demuestra que el único marco matemático que satisface estos postulados es la teoría de la probabilidad . El argumento es que cualquier enfoque distinto a la probabilidad necesariamente infringe uno de estos postulados y el valor de dicha infracción.

Programación probabilística

El objetivo de la programación probabilística es unificar el alcance de los lenguajes de programación clásicos con el modelado probabilístico (especialmente las redes bayesianas ) para abordar la incertidumbre, aprovechando al mismo tiempo la expresividad de los lenguajes de programación para codificar la complejidad.

Los lenguajes de programación clásicos extendidos incluyen lenguajes lógicos como los propuestos en Probabilistic Horn Abduction , [ 36 ] Independent Choice Logic, [ 37 ] PRISM, [ 38 ] y ProbLog, que propone una extensión de Prolog.

También pueden ser extensiones de lenguajes de programación funcional (principalmente Lisp y Scheme ), como IBAL o CHURCH. Los lenguajes de programación subyacentes pueden ser orientados a objetos, como en BLOG y FACTORIE, o más estándar, como en CES y FIGARO. [ 39 ]

El propósito de la programación bayesiana es diferente. El precepto de Jaynes de "la probabilidad como lógica" sostiene que la probabilidad es una extensión y una alternativa a la lógica sobre la cual se puede reconstruir una teoría completa de la racionalidad, la computación y la programación. [ 1 ] La programación bayesiana intenta reemplazar los lenguajes clásicos con un enfoque de programación basado en la probabilidad que considera la incompletitud y la incertidumbre .

La comparación precisa entre la semántica y el poder expresivo de la programación bayesiana y la probabilística es una cuestión abierta.

Véase también

Referencias

  1. 1 2 Jaynes, ET (10 de abril de 2003). Teoría de la probabilidad: La lógica de la ciencia . Cambridge University Press. ISBN 978-1-139-43516-1.
  2. ^ Bessière, Pierre; Mazer, Emmanuel; Manuel Ahuactzin, Juan; Mekhnacha, Kamel (20 de diciembre de 2013). Programación Bayesiana . Prensa CRC. ISBN 978-1-4398-8032-6.
  3. "Gráficos de expresiones: unificando gráficos de factores y redes suma-producto" (PDF) . bcf.usc.edu . Archivado del original (PDF) el 12 de octubre de 2018. Consultado el 11 de octubre de 2018 .
  4. "Modelado probabilístico y análisis bayesiano" (PDF) . ocw.mit.edu .
  5. "Redes bayesianas" (PDF) . cs.brandeis.edu .
  6. ^ Bessière, Pierre; Mazer, Emmanuel; Ahuactzin, Juan Manuel; Mekhnacha, Kamel (2013). Programación Bayesiana . Prensa CRC. pag. 21.ISBN  9781439880333.
  7. Kalman, RE (1960). "Un nuevo enfoque para los problemas de filtrado y predicción lineal". Journal of Basic Engineering . 82 : 33–45 . doi : 10.1115/1.3662552 . S2CID 1242324 . 
  8. Bessière, Pierre; Laugier, Christian; Siegwart, Roland (15 de mayo de 2008). Razonamiento probabilístico y toma de decisiones en sistemas sensoriomotores . Springer Science & Business Media. ISBN 978-3-540-79006-8.
  9. Lebeltel, O.; Bessière, P.; Diard, J.; Mazer, E. (2004). "Programación de robots bayesianos" (PDF) . Robótica Avanzada . 16 (1): 49– 79. doi : 10.1023/b:auro.0000008671.38949.43 . S2CID 18768468 . 
  10. Diard, J.; Gilet, E.; Simonin, E.; Bessière, P. (2010). "Aprendizaje incremental de modelos sensoriomotores bayesianos: de comportamientos de bajo nivel a la estructura a gran escala del entorno" (PDF) . Connection Science . 22 (4): 291– 312. Bibcode : 2010ConSc..22..291D . doi : 10.1080/09540091003682561 . S2CID 216035458 . 
  11. Pradalier, C.; Hermosillo, J.; Koike, C.; Braillon, C.; Bessière, P.; Laugier, C. (2005). "The CyCab: a car-like robot navigating autonomously and safe among pedestrians". Robotics and Autonomous Systems . 50 (1): 51– 68. CiteSeerX 10.1.1.219.69 . doi : 10.1016/j.robot.2004.10.002 . 
  12. ^ Ferreira, J.; Lobo, J.; Bessière, P.; Castelo-Branco, M.; Días, J. (2012). "Un marco bayesiano para la percepción artificial activa" (PDF) . Transacciones IEEE sobre sistemas, hombre y cibernética - Parte B: Cibernética . 99 (2): 1– 13. doi : 10.1109/TSMCB.2012.2214477 . PMID 23014760 . S2CID 1808051 .  
  13. Ferreira, JF; Dias, JM (2014). Enfoques probabilísticos para la percepción robótica . Springer. ISBN 978-3-319-02005-1.
  14. Mekhnacha, K.; Mazer, E.; Bessière, P. (2001). "El diseño e implementación de un modelador CAD bayesiano para aplicaciones robóticas". Advanced Robotics . 15 (1): 45– 69. CiteSeerX 10.1.1.552.3126 . doi : 10.1163/156855301750095578 . S2CID 7920387 .  
  15. Coué, C.; Pradalier, C.; Laugier, C.; Fraichard, T.; Bessière, P. (2006). "Filtrado de ocupación bayesiano para el seguimiento de múltiples objetivos: una aplicación automotriz" (PDF) . International Journal of Robotics Research . 25 (1): 19– 30. doi : 10.1177/0278364906061158 . S2CID 13874685 . 
  16. Vasudevan, S.; Siegwart, R. (2008). "Conceptualización espacial bayesiana y clasificación de lugares para mapas semánticos en robótica móvil". Robotics and Autonomous Systems . 56 (6): 522– 537. CiteSeerX 10.1.1.149.4189 . doi : 10.1016/j.robot.2008.03.005 . 
  17. Perrin, X.; Chavarriaga, R.; Colas, F.; Seigwart, R.; Millan, J. (2010). "Interacción acoplada al cerebro para la navegación semiautónoma de un robot de asistencia" . Robotics and Autonomous Systems . 58 (12): 1246– 1255. doi : 10.1016/j.robot.2010.05.010 .
  18. Rett, J.; Dias, J.; Ahuactzin, JM. (2010). "Razonamiento bayesiano para el análisis de movimientos de Laban utilizado en la interacción humano-máquina". International Journal of Reasoning-Based Intelligent Systems . 2 (1): 13– 35. CiteSeerX 10.1.1.379.6216 . doi : 10.1504/IJRIS.2010.029812 . 
  19. Möbus, C.; Eilers, M.; Garbe, H.; Zilinski, M. (2009). "Modelado probabilístico y empírico fundamentado de agentes en escenarios de tráfico cooperativo (parcial)" (PDF) . En Duffy, Vincent G. (ed.). Modelado humano digital . Segunda Conferencia Internacional, ICDHM 2009, San Diego, CA, EE. UU. Lecture Notes in Computer Science. Vol. 5620. Springer. pp. 423–432 . doi : 10.1007/978-3-642-02809-0_45 . ISBN   978-3-642-02808-3.
  20. Möbus, C.; Eilers, M. (2009). «Más pasos hacia el modelado de conductores según el enfoque de programación bayesiana». En Duffy, Vincent G. (ed.). Modelado humano digital . Segunda Conferencia Internacional, ICDHM 2009, San Diego, CA, EE . UU. Lecture Notes in Computer Science. Vol. 5620. Springer. pp. 413–422 . CiteSeerX 10.1.1.319.2067 . doi : 10.1007/978-3-642-02809-0_44 . ISBN    978-3-642-02808-3.
  21. ^ Eilers, M.; Mobus, C. (2010). "Aprenda unos modelos modulares de mezcla de comportamientos de controladores autónomos bayesianos (BAD MoB)" (PDF) . En Kolrep, H.; Jürgensohn, Th. (eds.). Fahrermodellierung - Zwischen kinematischen Menschmodellen und dynamisch-kognitiven Verhaltensmodellen . Fortschrittsbericht des VDI in der Reihe 22 (Mensch-Maschine-Systeme). Düsseldorf, Alemania: VDI-Verlag. págs. 61 a 74. ISBN  978-3-18-303222-8. Archivado del original (PDF) el 03-02-2014 . Consultado el 21-01-2014 .
  22. Eilers, M.; Möbus, C. (2011). «Aprendizaje de las percepciones relevantes de modelos bayesianos jerárquicos modulares de conductores mediante un criterio de información bayesiano». En Duffy, VG (ed.). Modelado humano digital . LNCS 6777. Heidelberg, Alemania: Springer. pp. 463–472 . doi : 10.1007/978-3-642-21799-9_52 . ISBN  978-3-642-21798-2.
  23. Eilers, M.; Möbus, C. (2011). «Aprendizaje de un modelo bayesiano de mezcla de comportamientos de conductores autónomos (BAD-MoB)» . En Duffy, VG (ed.). Avances en el modelado humano digital aplicado . LNCS 6777. Boca Raton, EE. UU.: CRC Press, Taylor & Francis Group. pp. 436–445 . ISBN  978-1-4398-3511-1.
  24. Le Hy, R.; Arrigoni, A.; Bessière, P.; Lebetel, O. (2004). "Enseñanza de comportamientos bayesianos a personajes de videojuegos" (PDF) . Robótica y sistemas autónomos . 47 ( 2–3 ): 177–185 . doi : 10.1016/j.robot.2004.03.012 . S2CID 16415524 . 
  25. Synnaeve, G. (2012). Programación y aprendizaje bayesiano para videojuegos multijugador (PDF) .
  26. Colas, F.; Droulez, J.; Wexler, M.; Bessière, P. (2008). "Un modelo probabilístico unificado de la percepción de la estructura tridimensional a partir del flujo óptico". Biological Cybernetics . 97 ( 5– 6): 461– 77. CiteSeerX 10.1.1.215.1491 . doi : 10.1007/s00422-007-0183-z . PMID 17987312 . S2CID 215821150 .   
  27. Laurens, J.; Droulez, J. (2007). "Procesamiento bayesiano de información vestibular". Biological Cybernetics . 96 (4): 389– 404. doi : 10.1007/s00422-006-0133-1 . PMID 17146661 . S2CID 18138027 .  
  28. Colas, F.; Flacher, F.; Tanner, T.; Bessière, P.; Girard, B. (2009). "Modelos bayesianos de selección de movimientos oculares con mapas retinotópicos" ( PDF) . Biological Cybernetics . 100 (3): 203– 214. doi : 10.1007/s00422-009-0292-y . PMID 19212780. S2CID 5906668 .  
  29. Serkhane, J.; Schwartz, JL.; Bessière, P. (2005). "Construyendo un robot bebé parlante: una contribución al estudio de la adquisición y evolución del habla" (PDF) . Interaction Studies . 6 (2): 253– 286. doi : 10.1075/is.6.2.06ser .
  30. Moulin-Frier, C.; Laurent, R.; Bessière, P.; Schwartz, JL.; Diard, J. (2012). "Las condiciones adversas mejoran la distinguibilidad de las teorías auditivas, motoras y perceptivo-motoras de la percepción del habla: un estudio exploratorio de modelado bayesiano" (PDF) . Language and Cognitive Processes . 27 ( 7–8 ): 1240–1263 . doi : 10.1080/01690965.2011.645313 . S2CID 55504109 . 
  31. Gilet, E.; Diard, J.; Bessière, P. (2011). Sporns, Olaf (ed.). "Modelo computacional bayesiano de acción-percepción: interacción de producción y reconocimiento de letras cursivas" . PLOS ONE . 6 (6) e20387. Bibcode : 2011PLoSO...620387G . doi : 10.1371/journal.pone.0020387 . PMC 3106017. PMID 21674043 .  
  32. "Nuevo algoritmo ayuda a las máquinas a aprender tan rápido como los humanos" . www.gizmag.com . 22 de enero de 2016. Consultado el 23 de enero de 2016 .
  33. Zadeh, LA (junio de 1965). "Conjuntos difusos" . Information and Control . 8 (3). San Diego: 338–353 . doi : 10.1016/S0019-9958(65)90241-X . ISSN 0019-9958 . Zbl 0139.24606 . Wikidata Q25938993 .   
  34. Zadeh, LA (septiembre de 1975). " Lógica difusa y razonamiento aproximado". Synthese . 30 ( 3–4 ). Springer : 407–428 . doi : 10.1007/BF00485052 . ISSN 0039-7857 . OCLC 714993477. S2CID 46975216. Zbl 0319.02016 . Wikidata Q57275767 .     
  35. Dubois, D.; Prade, H. (2001). "Teoría de la posibilidad, teoría de la probabilidad y lógicas multivaluadas: una aclaración" (PDF) . Ann. Math. Artif. Intell. ( FTP ). pp. 35–66 . doi : 10.1023/A:1016740830286 . S2CID 10271476 .  (Para ver los documentos, consulte Ayuda:FTP )
  36. Poole, D. (1993). "Abducción de Horn probabilística y redes bayesianas". Inteligencia artificial . 64 : 81–129 . doi : 10.1016/0004-3702(93)90061-F .
  37. Poole, D. (1997). "La lógica de elección independiente para modelar múltiples agentes bajo incertidumbre" . Inteligencia Artificial . 94 ( 1–2 ): 7–56 . doi : 10.1016/S0004-3702(97)00027-1 .
  38. Sato, T.; Kameya, Y. (2001). "Aprendizaje de parámetros de programas lógicos para modelado simbólico-estadístico" (PDF) . Journal of Artificial Intelligence Research . 15 (2001): 391– 454. arXiv : 1106.1797 . Bibcode : 2011arXiv1106.1797S . doi : 10.1613/jair.912 . S2CID 7857569. Archivado del original (PDF) el 12 de julio de 2014. Recuperado el 18 de octubre de 2015 . 
  39. figaro en GitHub

Lecturas adicionales

  • Kamel Mekhnacha (2013). Programación bayesiana . Chapman and Hall/CRC. doi : 10.1201/b16111 . ISBN 978-1-4398-8032-6.
  • Un sitio web complementario al libro de programación bayesiana donde descargar ProBT, un motor de inferencia dedicado a la programación bayesiana.
  • El sitio Bayesian-programming.org ( enlace obsoleto archivado el 23/11/2013 en archive.today) promueve la programación bayesiana con información detallada y numerosas publicaciones.