11
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Bayes Server を試す

Last updated at Posted at 2017-07-18

前回、Rで簡単にベイジアンネットワークを作ってみましたが、やはり本格的な使用となるとGUIを使った操作を使ってみたいと思うようになります。そうなると専用ツールしかほぼ選択枝はなくなります。
Bayesian Networkを操作するアプリケーションとしては、フリーから商用まで様々なものがありますが、きちんとしたグラフィカルツールがついていて、学習、推論がセットになっているものはなかなかありません。流行っていたころに定評のあったツールも、放置状態になっているものが多く、なかなか手を出すにも腰が引けてしまいます。

Bayesian Network ツール

10 Free and Open Source Bayesian Network SoftwareSoftware Packages for Graphical Modelsなどにリストがありますが、ほとんどのものがGUIがなかったり、構造学習がなかったり、ベイジアンネットを簡易に使ってみたいという向きには難しいものが多かったです。
それらの中で、ツールとして常用してもよさそうだなというのを列挙しておきます。GUIがあって、構造学習、パラメータ学習ができるものに限定しました。

Tool GUI Structure Parameter Screenshot OpenScource API
BayesiaLab Yes Yes Yes image.png No Yes
OpenMarkov Yes Yes Yes ID-decide-therapy-priori.png Yes No
UnBBayes Yes Yes Yes image.png Yes Yes
Hugin Yes Yes Yes image.png Yes Yes
Uninet Yes Yes Yes image.png No Yes
BayesServer Yes Yes Yes image.png No Yes

と、いろいろ見たのですが、どれも古き良き時代のレトロソフトみたいなものが多く、事実ディスコンになっているものも多く、2000年代初頭のベイジアンネットブームの名残としてひっそり置かれているという佇まいのものが多かったです。

日本では何といっても、本村先生のBayoLink(旧BayoNet)が有名で、NTTデータ傘下になっても元気なようですね。
image.png

色々見ていたのですが、GUIの使いやすさ(実は単にスクリーンキャプチャで判断していたりしますが)APIの充実度(今時っぽくHadoopやSparkへのアクセスも可能)などを見て、かつ、Webページなどモダンで、わかりやすいなどの理由で、Bayes Serverを試してみました。

Bayes Server

Serverとありますが、Server動作を前提としているわけではなさそうです。特徴をざっくりあが得ていきます。Bayes Server Ltd. というイギリス南部のベンダーが開発しています。
2008年から開発され、もともとは Imperial Collegeで初版が作られたようです。

GUIの充実

以下のように、各ノードの確率表(CPTではなく事前確率ですが)をノード内にインラインで表示するモードがあります。これで、ネットワークビューと確率表が別々になっているものに比べて格段に使いやすくなっています。ベイジアンネットワーク自体の理解にもこのビューは最適ですね。
image.png
また、以下のようにエッジの重みづけなども当然可能です。
image.png

ユースケースの多さ

単純に構築して探索をGUI上でするだけでなく、いろいろな利用シーンを想定して作られています。
以下はバッチモードという多数の推論を一括して行う機能です。
image.png
また時系列を扱うベイジアンネットも構築できるようです。
image.png

データソースの充実

スタンドアロンで使うので、データソースのインポートなど周辺ツールも充実しています。ODBCやExcel,AccessなどからHadoop,SparkまでBIツール並にデータソースは豊富です。
image.png

スケーラビリティ

試してみたところ、前回Rで少し苦労して可視化したレベルのノード数であれば十分表示できるようです。
image.png

FAQには10,000ノードの実用的なデータ、テストにおいては100万ノードまでのネットワークが扱うことができたという報告があります。

豊富なAPI

推論、学習についてはAPIが.NET,Java,Python,R,Matlan,Excel,Sparkとおおよそデータハンドリングで使いそうな環境はすべて備えています。コアが.NETなので、それぞれの環境へのラッパーを利用するという形です。

実際ここまで完成度が高いと、すべてをベイジアンネットワークの枠組みで処理したくなりますね。

11
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?