最終更新日 2015年4月19日
ベイジアンネットの構造学習にはスコアベースと制約ベースがある
スコアーベース | ノードのリンク状態毎に対数尤度MDL等を計算し最適なリンクを求める方法 |
制約ベース | 条件独立を検定して、条件独立なら非連結とする方法 |
統合ベース | 制約ベースで構造決定し、スコアベースで連結方向を決定する方法 |
最小記述長(MDL)を使って連結方向を決定するには
矢印元を条件確率とするMDL値を計算し、最小のMDLを持つ方向を採用する
スコアベースとして、MDLで構造決定した事例を示す
ベイジアンネットのベンチマークで有名な タイタニック生存モデルのベイジアンネットの構造推定を行う 全乗船客のデータを読んで、MDL(Minimum Description length)情報基準が 最小となるノード間連結を最適構造とする。 |
下図の様に3個のノードでも全ての連結を考えると組合せの爆発が起こる
タイタニック生存モデルでは7個のノードあり1,138,779,265組合せがある。
8,896,512番目の組合せでMDL値が収束した 計算時間7時間かかった
全連結のタイタニック生存モデルの最適構造
Survived | 生存有無 | |
Sex | 性別 | |
Age | 年齢 | |
Friend | 同船室 | |
Position | 敬称 | |
Rank | 乗船等級 | |
Floor | 船室階 |
このモデルでの生存有無 Survived の正解率は89.10% BIC=126であった
2点間のMDL値が大きい(有意な関係が希薄)結線を非連結とする
該当点とそれ以外の各点のMDL値の分布をを計算する |
平均から1.4σ超えるMDL値をもつ該当点との2点間は非連結にする |
但し、Survivedは矢印先、SexとAgeには矢印元となる様に制限を入れた |
ベイジアンネット図の見方
タイタニック号は沈没まで6時間かかっており |
最初に女性客をボートに乗せたので、女性の生存率が高い |
生存率(男性19% 女性75%) |
その後、1等先客をボートに乗せている |
ベイジアンネットは上記の史実を反映している |
女性は優遇されたが、子供は優先的に救助されなかったのだろうか?
年齢 Age ノードが生存有無 Survived と非結線の理由を調べる
年齢層別の人数と生存人数の割合は同様なので年齢層は生存有無に関係がない
ベイジアンネットを生成した学習用データ(891件)以外に試験用データ(255件)について
σの倍率を変えて、生存有無 Survived への連結数を増して生存有無の正解率が改善するか見てみる
σ | 連結数 | BIC | 正解率 |
1.0σ | 1 | 276 | 77.63% |
1.4σ | 2 | 240 | 78.58% |
1.7σ | 3 | 209 | 83.20% |
1.8σ | 4 | 204 | 84.82% |
2.0σ | 6 | 168 | 87.54% |
∞σ | 7 | 126 | 89.10% |
σの倍率を大きくしても、生存有無の正解率はあまり改善しないことがわかる
連結数を増やしても精度にはあまり影響に寄与しないので、有意な疎な連結の方が適切である