This software is for Bayesian Network (BN) Library.
A implementation of Bayesian Networks Model for pure C++11, included Loopy-BP and Likelihood Weighting.
Development is not yet finished, but you can already use.
This library is implemented as Header Only Library.
Just through the
/path/to/BayesianNetwork directory. (ex.
- GCC, C++11: 4.8.1, 4.9.2, 5.0.0
- Clang, C++11: 3.5, 3.7.0 (trunk)
- Visual C++: 12.0 (CTP_Nov2013), 13.0
Bayesian Network structure learning
- Brute Force class
- search all patterns, very very slow.
- Greedy class
- some patterns(not become good score) ignore, fast a little.
- Simulated Annealing class
- as if a metal, with spending time, structure is less likely to change.
- K2 Algorithm class
- give information that you already know some relations between nodes.
- Stepwise Structure
- first, make some cluster that include some node, one after another cluster combine two clusters.
Available Algorithms in Stepwise Structure
|Learning in Cluster||Learning between Cluster|
Inferring unobserved variables
- Loopy-BP class
- high-speed and strong in a loop graph.
- Rejection Sampling (a.k.a. Logic Sampling) class
- very simple, but very slowly.
- Likelihood Weighting
- higher than Rejection Sampling, and extremely accuracy.
Author and Contact
Feel free to contact me ;)
Bugs and issues are reportable below:
Code released under the MIT license.