ダイナミックベイジアンネットワークについて
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 を 割り当てることができます。