Una red lógica de Markov ( MLN ) es una lógica probabilística que aplica las ideas de una red de Markov a la lógica de primer orden , lo que permite una inferencia incierta . Las redes lógicas de Markov generalizan la lógica de primer orden, en el sentido de que, en un cierto límite, todos los enunciados insatisfactorios tienen una probabilidad de cero y todas las tautologías tienen una probabilidad de uno.
Historia
El trabajo en esta área comenzó en 2003 por Pedro Domingos y Matt Richardson, y comenzaron a usar el término MLN para describirlo. [1] [2]
Descripción
En resumen, es una colección de fórmulas de lógica de primer orden , a cada una de las cuales se le asigna un número real , el peso. Tomado como una red de Markov, los vértices del gráfico de red son fórmulas atómicas y los bordes son los conectivos lógicos que se utilizan para construir la fórmula. Cada fórmula se considera una camarilla , y el manto de Markov es el conjunto de fórmulas en las que aparece un átomo determinado. Una función potencial está asociada a cada fórmula y toma el valor uno cuando la fórmula es verdadera y cero cuando es falsa. La función potencial se combina con el peso para formar la función de medida y partición de Gibbs para la red de Markov.
La definición anterior pasa por alto un punto sutil: las fórmulas atómicas no tienen un valor de verdad a menos que estén fundamentadas y se les dé una interpretación ; es decir, hasta que sean átomos de tierra con una interpretación de Herbrand . Por lo tanto, una red lógica de Markov se convierte en una red de Markov solo con respecto a una conexión a tierra e interpretación específicas; la red de Markov resultante se denomina red de Markov terrestre . Los vértices del gráfico de la red terrestre de Markov son los átomos terrestres. El tamaño de la red de Markov resultante depende en gran medida (exponencialmente) del número de constantes en el dominio del discurso .
Inferencia
El objetivo de la inferencia en una red lógica de Markov es encontrar la distribución estacionaria del sistema, o una que esté cerca de ella; que esto puede ser difícil o no siempre posible se ilustra por la riqueza del comportamiento visto en el modelo de Ising . Como en una red de Markov, la distribución estacionaria encuentra la asignación de probabilidades más probable a los vértices del gráfico; en este caso, los vértices son los átomos fundamentales de una interpretación. Es decir, la distribución indica la probabilidad de la verdad o falsedad de cada átomo terrestre. Dada la distribución estacionaria, se puede realizar una inferencia en el sentido estadístico tradicional de probabilidad condicional : obtener la probabilidad que la fórmula A se cumple, dado que la fórmula B es verdadera.
La inferencia en MLN se puede realizar utilizando técnicas de inferencia de red de Markov estándar sobre el subconjunto mínimo de la red de Markov relevante necesaria para responder a la consulta. Estas técnicas incluyen el muestreo de Gibbs , que es eficaz pero puede ser excesivamente lento para redes grandes, propagación de creencias o aproximación a través de pseudo-verosimilitud .
Ver también
Recursos
- ^ Domingos, Pedro (2015). El algoritmo maestro: cómo el aprendizaje automático está cambiando nuestra forma de vida . pag. 246-7.
- ^ Richardson, Matthew; Domingos, Pedro (2006). "Redes lógicas de Markov" (PDF) . Aprendizaje automático . 62 (1–2): 107–136. doi : 10.1007 / s10994-006-5833-1 .
enlaces externos
- Grupo de aprendizaje relacional estadístico de la Universidad de Washington
- Alchemy 2.0: redes lógicas de Markov en C ++
- pracmln: redes lógicas de Markov en Python
- ProbCog: redes lógicas de Markov en Python y Java que pueden usar su propio motor de inferencia o el de Alchemy.
- markov thebeast: redes lógicas de Markov en Java
- RockIt: redes lógicas de Markov en Java (con interfaz web / API REST)
- Tuffy: un motor de aprendizaje e inferencia con una sólida optimización basada en RDBM para la escalabilidad
- Felix: sucesor de Tuffy, con submódulos prediseñados para acelerar las subtareas comunes
- Factorie: lenguaje de inferencia probabilístico basado en Scala, con submódulos prediseñados para el procesamiento del lenguaje natural, etc.
- Figaro: lenguaje MLN basado en Scala
- LoMRF: Logical Markov Random Fields, una implementación de código abierto de Markov Logic Networks en Scala