Giter Site home page Giter Site logo

saxonrah / bayesiannetwork Goto Github PK

View Code? Open in Web Editor NEW

This project forked from godai0519/bayesiannetwork

0.0 1.0 0.0 265 KB

An implementation of Bayesian Networks Model for pure C++14 (11) later, including probability inference and structure learning method.

License: MIT License

CMake 1.47% C++ 98.53%

bayesiannetwork's Introduction

Bayesian Network Build Status

What's this

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.

このソフトウェアはベイジアンネットワークのためのライブラリです.
C++14を使用して実装しており,Loopy-BPやLikelihood Weighingといったベイジアンネットワークモデルを提供します.

Install

This library is implemented as Header Only Library.
Just through the /path/to/BayesianNetwork directory. (ex. -I/path/to/BayesianNetwork)

header onlyライブラリとして実装してあるので,ディレクトリへのパスを通すだけで使用可能です.
(ex. -I/path/to/BayesianNetwork)

Compilers Tested

  • Linux:
    • GCC, C++11: 4.8.1, 4.9.2, 5.0.0
    • Clang, C++11: 3.5, 3.7.0 (trunk)
  • Windows:
    • Visual C++: 12.0 (CTP_Nov2013), 13.0

Feature

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
Brute Force OK OK
Greedy OK OK
Simulated Annealing OK NG
K2 Algorithm OK NG

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:

Licence

Code released under the MIT license.

bayesiannetwork's People

Contributors

godai0519 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.