Cargando…

Computation of Kullback–Leibler Divergence in Bayesian Networks

Kullback–Leibler divergence [Formula: see text] is the standard measure of error when we have a true probability distribution p which is approximate with probability distribution q. Its efficient computation is essential in many tasks, as in approximate computation or as a measure of error when lear...

Descripción completa

Detalles Bibliográficos
Autores principales: Moral, Serafín, Cano, Andrés, Gómez-Olmedo, Manuel
Formato: Online Artículo Texto
Lenguaje:English
Publicado: MDPI 2021
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8466032/
https://www.ncbi.nlm.nih.gov/pubmed/34573747
http://dx.doi.org/10.3390/e23091122
Descripción
Sumario:Kullback–Leibler divergence [Formula: see text] is the standard measure of error when we have a true probability distribution p which is approximate with probability distribution q. Its efficient computation is essential in many tasks, as in approximate computation or as a measure of error when learning a probability. In high dimensional probabilities, as the ones associated with Bayesian networks, a direct computation can be unfeasible. This paper considers the case of efficiently computing the Kullback–Leibler divergence of two probability distributions, each one of them coming from a different Bayesian network, which might have different structures. The paper is based on an auxiliary deletion algorithm to compute the necessary marginal distributions, but using a cache of operations with potentials in order to reuse past computations whenever they are necessary. The algorithms are tested with Bayesian networks from the bnlearn repository. Computer code in Python is provided taking as basis pgmpy, a library for working with probabilistic graphical models.