Javaでベイジアンネットワークを扱うライブラリを探している。
自分のソフトにベイズ統計の処理を組み込む必要があるので。
ベイジアンネット(Bayesian Network)っていうのは,条件付確率の因果関係をグラフィカルな有向非循環グラフ構造で表したもの。有向ってのはリンクが矢印で向きがついてるという意味で,非循環とはグラフ構造にループがないってこと。
ベイジアンネットは,トマス・ベイズさんが発案したベイズ理論をもとにしている。詳しくは以下を参照。
グーグル、インテル、MSが注目するベイズ理論 - CNET
一般向け解説。ベイズさんの顔が拝める。
君はベイジアン・ネットワークを知っているか? - @IT
研究の最前線についての解説アリ。MS Officeのイルカ君の悲劇も紹介。
ベイジアンネットのライブラリだけど,自分は今までMSBNを使ってました。
Microsoft Bayesian Network Editor
マイクロソフトリサーチのAdaptive Systems and Interaction Groupが作ったもの
こ れはWindowsのCOMを使ってます。Windows + Visual Studioなら,わりと使いやすい。ベイジアンネットのデータをXMLで出力してくれる。ライブラリだけじゃなくてベイジアンネットの編集アプリもつい てるので(っていうかそっちがメイン),デバッグもやりやすい。関係ないけど研究のときにこれのおかげですごい助かった。Microsoftありがとう!
しかしJavaでやるならJava純正が良いだろうってことで次のようなのを見つけました。
Bayesian Network tools in Java (BNJ)
オープンソースプロジェクト。sourceforgeで開発中。これが一番有望かな。
Classifier4J
こちらもオープンソース。テキスト分類のソフトウェアで,Javaによるベイジアンネットライブラリを使っている。
JavaBayes, Bayesian Networks in Java
カーネギーメロン大学の人が作ってるライブラリ。ロゴが面白いな。
Netica-J, for Programming Bayesian Networks in JAVA
こっちはJava純正じゃないけど,JavaでベイジアンネットエンジンにアクセスできるAPI。
フリーバージョンはモデルサイズの制限がつく。
他のライブラリはまた今度。っていうか探してたらこんなリストを見つけたよ! 俺探す必要ないじゃん。
Manageability - Open Source Probabilistic Networks Written In Java
Javaによるオープンソースの確率ネットワークソフトのリスト。充実してるし解説もしっかり書いてある。
Software Packages for Graphical Models / Bayesian Networks
ベイジアンネットの各種パッケージの比較。比較項目が専門的で役に立ちそう。
Google Directory
グーグルディレクトリのマシンラーニングソフトウェアのページ。
これから少しずつ試していきます。
0 件のコメント:
コメントを投稿