SSブログ

BAYONET:条件付き確率(CPT) の計算方法の違い [ベイジアンネット]

BAYONET:条件付き確率(CPT) の計算方法の違い

BAYONETでベイジアンネットワークを構築していたときの備忘録。

目的変数が2つあり、それぞれが条件付きの構造を持っているため、それを上手く表現できないか?と考えました。

変数A 変数B 件数
1   1   10
1   0   100
0   1   0
0   0   1000

という構造だったと仮定します。

つまり、変数Bが1の場合、必ず変数Aは1になる構造となっています。

A -> B というモデルを作り、Bの証拠状態を1に設定します。

B = 1の時、変数Aが1になる確率は、10 / 10 で1.0になるはずですが、得られる結果は、0.9083となります。

この原因は、条件付き確率(CPT) の計算方法による違いとのこと。

計算方法 1: MAP
MAP は正規化を行う際にサンプル数に1を加算します。

変数A 変数B 件数
1   1   10+1=11
1   0   100+1=101
0   1   0+1=1
0   0   1000+1=1001

計算方法 2: ML
MLは、得られたクロス集計表を真としてそのまま計算します。

MAPとMLの違いですが、データ数が多くなれば、MAPはMLに違づいていきます。
しかし、データ数が少ない場合、仮に

変数C 件数
1   2
0   0

であった場合、MLで計算すると、Cは必ず1を取るという状態になってしまいます。
これをMAPで計算すると、

変数C 件数
1   2+1
0   0+1
となり、C=1の確率は、3/4=0.75という状態になります。

データが少ない場合はMAPで計算し、データが多くなればMLでも良いということなんでしょう。
これらを閾値で自動的に判断するAUTOというオプションもあるようです。

ここで、注意として、各セルを+1するってことは、各変数が取りうる値は、それぞれ同じ確率で発生するという事前分布を仮定しています。

事前情報が何も分からないところからの初期値としては、なんとなく正しい気もしますが、今回のように絶対に発生しないケースにおいても、確率が1.0にならないので注意が必要ですね。


ベイジアンネットワークの統計的推論の数理

ベイジアンネットワークの統計的推論の数理

  • 作者: 田中和之
  • 出版社/メーカー: コロナ社
  • 発売日: 2009/10/13
  • メディア: 単行本(ソフトカバー)



nice!(27)  コメント(0)  トラックバック(0) 
共通テーマ:学問

nice! 27

コメント 0

トラックバック 0