godai0519 / BayesianNetwork

An implementation of Bayesian Networks Model for pure C++14 (11) later, including probability inference and structure learning method.
MIT License
39 stars 10 forks source link

BP法の再実装 #5

Closed godai0519 closed 9 years ago

godai0519 commented 9 years ago

BP法が枝分かれなしの単純なものでなくては正しい結果が出ないことが明確となった. そこで正しい数式を元にλメッセージとπメッセージを実装し直す必要がある. MLで流れてきたNC11*.pdfがわかりやすいと思う.

補助として,次のURLを使用できる.ほぼ同じ数式だが,実際に解いている図がある. http://www.cse.unsw.edu.au/~cs9417ml/Bayes/Pages/PearlPropagation.html

なお,補助数式で用いられている記号は,ここから辿ればわかるだろう. http://www.cse.unsw.edu.au/~cs9417ml/Bayes/Pages/Bayesian_Networks_Index.html

godai0519 commented 9 years ago

feature/ticket5 はコンパイル通らなくても単位ごとにコミットしていく流れで.

godai0519 commented 9 years ago

2cf1648c95f3e6c63be2dfe59ef91f8d19089505 単純なBP法は成功することを確認.

事前条件を注入することができないコードのままなので,それをできるように修正を行う必要がある.

godai0519 commented 9 years ago

std::unordered_map<vertex_type, matrix_type> const& precondition として事前条件を注入できるコードにしよう.

godai0519 commented 9 years ago

202d3df6340a7a0205f42abacd65d9e64c546373 こんな感じ.

計算結果が合わないので,手計算でもして確認します.

godai0519 commented 9 years ago

テストケースのミスでした

godai0519 commented 9 years ago

BP含め,すべてのテストを通過するため,masterまでmergeしました