bayesian-network-scoring
This is basically model selection, for [[bayesian-network]] models.
The idea is to infer the probability for model graph and data . Apparently this is [[NP-hard]].
One computes the Bayesian score:
Each graph can then be ascribed a score, representing which graphs do better in representing the data.
With a scoring function, you can then perform searches for optimal graphs. It seems that finding globally optimal graphs are NP-hard, and the number of possible directed acyclic graphs scales superexponentially.
To counter this, there are a number of approximations that can be made, for example exploiting local symmetries like Markov equivalence1, or searching local neighborhoods (i.e. local graph operations like directivity, edge removal/creation).
- Two graphs are Markov equivalent if they are the same when undirected, or if they don't have the "immoral" v-structure (e.g. X -> Z <- Y>).↩