バックナンバー Vol.12 2021 年 02 月 22 日発行

ダイナミックベイジアンネットワークについて

BayoLinkSメールマガジン

平素より BayoLinkS をご愛用いただき誠にありがとうございます。

少しずつ日も長くなり、徐々に暖かくなってまいりましたが、皆様
お元気でお過ごしでしょうか。

さて、2021年最初のBayoLinkSのメールマガジンをお送りします。


【今回のテーマ】 
~ ダイナミックベイジアンネットワークについて ~

今回は ロボット工学、音声認識、遺伝子分野など、幅広い分野で
利用されている、ダイナミックベイジアンネットワークについて
ご紹介します。

ダイナミックベイジアンネットワーク(Daynamic Bayesian Network : DBN)は
1990年代に Paul Dagum が提案したモデルで ベイジアンネットワークに
時間的な概念を取り入れたものです。

 - DBN は 同じ構造の ベイジアンネット を繰り返し配置したもの  
 - ある時間 (T) の状態は その直前の時間(T-1)の状態にのみ依存する

状態の時間的な変化を表現するモデルとしては、隠れマルコフモデル(HMM) や
カルマンフィルター(KFM)が有名です。
DBNs は これらを 一般化しさらに豊かな表現力が備わったモデルです。

なお dynamic という単語は "動的なモデル" ことを意味しており、
ネットワークが構築後に変化することではありません。 

DBN の簡単な具体例を紹介します。

-----------------------------------------------------------------------
★ 具体例  『天気とBob の機嫌』

Bob の機嫌はその日の天気に影響されるが、経験的には以下のように変化する。

  - 晴れ→ 機嫌が良い: 80%
   - 雨 → 機嫌が良い: 40%  

またBobの住む土地では、前日の天気から翌日の天気が予測できる。
 
 - 晴れ→ 翌日も"晴れ" :80%,  翌日は"雨": 20%
 - 雨→  "晴れ"の確率  :40%,  翌日は"雨"の確率: 60%
------------------------------------------------------------------------

上の具体例はベイジアンネットで図のように表現できます。

天気(1日目) → 天気(2日目) ... 天気(T-1日目) → 天気(T日目) ... 
	↓	↓		↓		↓
機嫌(1日目)	機嫌(2日目)	機嫌(T-1日目)	機嫌(T日目)

ある日の天気は単純に前日の天気にのみ依存します。
つまり『天気』ノードには 全て同一の 条件付き確率(CPT)が割り当てられます。

 ノード『天気』のCPT:

	晴れ	雨
晴れ	0.8	0.4
雨	0.2	0.6

1日目の『天気』ノードについては親がありません。これは全観測データから
天気(晴れ or雨) の日数を集計し、例えば以下のように与えます。

晴れ	0.7	  
雨	0.3

さらに 天気とBobの機嫌について、CPTを計算すると以下のようになります。

	晴れ	雨
良い	0.8	0.3
悪い	0.2	0.7


 実際にモデルを作ると、例えば 
 ある日が晴れであった場合の3日後の Bob の機嫌が良い確率は 61 %
 (これは 1日目が雨であっても ほぼ同じです) 
 逆にBob が機嫌が良ければ、二日後が晴れの確率が 69% になる、といったことも計算
 できます。 (機嫌によって天気が変化するのは、少し違和感を感じるかと思いますが..)

"天気とBob の機嫌"は2変数しか登場しないシンプルなモデルですが、例えば
交通の混雑状況 といった時系列で変化する他の因子を追加することで、さらに複雑な
事象を表現できます。


★ BayoLinkS で DBNモデルを構築する方法

BayoLinkS では DBN を自動的に構築する機能は備わっていなのですが、
手作業でノードを配置しリンクすることで DBN を作成することが可能です。
その際に CPT インポート/エクスポート機能を使うと、ノードに同一のCPT を
割り当てることができます。