つながる確率:ベイジアンネットワークと時間変化

「AIの基礎:探索から機械学習まで」のレッスン 7 / 15・約6分

複数の確率要素の関係をネットワークで可視化するベイジアンネットワークと、時間変化や隠れた状態を推定するマルコフモデルを学ぶレッスンです。

このレッスンで学ぶこと

  • つながりをたどる推理
  • 見えないものを観測で追う

レッスンの内容

遅刻の原因は、つながっている

朝の会議に遅れる理由は電車の遅延で、その遅延は雨や事故が原因です。

こうした原因と結果を矢印でつなぎ、確率を持たせた図をベイジアンネットワークと呼びます。

因果関係の連鎖

四角をタップして「そうだった/ちがった」を決めます。会議に遅刻をそうだったにして、雨と事故の確率の動きを見てください。

矢印は、逆向きにもたどれる

矢印は原因から結果へ向かいますが、「会議に遅刻した」と分かると、雨は30%から55%、事故は10%から24%に上がります。

結果から原因の確率を逆算できるのです。

○か✕か

○か✕か:ベイジアンネットワークの矢印は原因から結果に向いているので、「会議に遅刻した」と分かっても、雨だった確率は変わらない。

答え:✕。矢印の向きに関係なく計算できます。遅刻したと分かると雨の確率は30%から55%に上がり、結果から原因を逆にたどれます。

すぐ上の原因だけ見ればいい

電車が遅れたと分かれば遅刻の確率は70%で、雨でも晴れでも70%のままです。

直前の原因が分かれば、その先は見なくて大丈夫。この性質を条件付き独立と呼び、計算がとても楽になります。

「雨→電車遅延→会議に遅刻」の図で、電車が遅れたことはもう分かっています。遅刻の確率を出すのに、雨だったかどうかは必要?

問題:「雨→電車遅延→会議に遅刻」の図で、電車が遅れたことはもう分かっています。遅刻の確率を出すのに、雨だったかどうかは必要?

  1. 必要ない。電車の遅れだけで決まる(正解)
  2. 必要だ。雨の日は遅刻しやすくなる
  3. 必要だ。雨と遅れの両方で決まる

解説:遅刻に直接つながる矢印は、電車遅延からの1本だけです。電車が遅れたと分かった時点で、雨の影響はすでに含まれています。

今日の天気が、明日を決める

天気は日々変わります。CS50の例では、晴れの翌日は80%で晴れ、雨の翌日は70%で雨です。

今日から明日への変化を確率でつないだものをマルコフ連鎖といいます。

直前だけを見るマルコフ仮定

明日の天気は今日の天気だけで決まり、1週間前は見ません。この割り切りをマルコフ仮定といいます。

100日分の履歴がなくても4つの数値で済みます。

晴れの翌日は80%で晴れ、雨の翌日は70%で雨になる天気のモデルで、今日は晴れ、昨日は雨でした。マルコフ仮定のもとで、明日が晴れの確率は?

問題:晴れの翌日は80%で晴れ、雨の翌日は70%で雨になる天気のモデルで、今日は晴れ、昨日は雨でした。マルコフ仮定のもとで、明日が晴れの確率は?

  1. 80%のまま変わらない(正解)
  2. 昨日の雨を受けて30%になる
  3. 80%と30%の間の値になる

解説:マルコフ仮定では、明日を決めるのは今日の天気だけです。昨日が雨でも、今日が晴れなら「晴れの翌日」の80%を使います。

見たいものは、見えない

窓がない部屋から外の天気は見えず、入ってきた人が傘を持っているかだけが分かります。

見えない天気を隠れ状態、傘を観測信号といいます。

傘から、雨の確率を更新する

CS50の例では、雨なら90%、晴れでも20%の人が傘を持ちます。

天気の変化にこのヒントを足したのが隠れマルコフモデルです。傘を見るたび雨の確率を更新します。

雨の日は90%、晴れの日でも20%の人が傘を持ってくる部屋で、来た人が傘を持っていました。外の天気について言えることは?

問題:雨の日は90%、晴れの日でも20%の人が傘を持ってくる部屋で、来た人が傘を持っていました。外の天気について言えることは?

  1. 雨の確率は上がるが、晴れの可能性も残る(正解)
  2. 傘を持っていたので、雨だと確定する
  3. 晴れでも持つ人がいるので、何も分からない

解説:晴れの日でも20%は傘を持つので、雨とは言い切れません。それでも雨の日のほうが4倍以上持ちやすいので、雨の確率は上がります。

ロボットの位置を探す

「センサーを見る」と「1歩すすむ」を交互に押し、一番濃いマスの確率の変化を見ましょう。

進むとぼやけ、見ると絞れる

8マスの廊下でロボットの1歩は85%しか確かでないため、進むと位置の確率はぼやけます。

90%当たるセンサーでドアや窓を見分ければ絞れます。この繰り返しが隠れマルコフモデルの推論です。

○か✕か

○か✕か:8マスの廊下にいるロボットは、90%当たるセンサーを1回読めば、自分の位置をそこで確定できる。

答え:✕。廊下にはドアや壁が複数あるため、1回では絞りきれません。進んでぼやけ、見て絞るを繰り返して確率を集中させます。

見えないものを、つながりでたどる

  • 原因と結果を矢印でつなぎ、矢印ごとに確率を持たせる
  • 結果が見えたら、矢印を逆にたどって原因の確率を上げ下げする
  • すぐ上の原因が分かれば、その先は見ずに計算を減らす
  • 時間の流れは、直前の状態だけで次の確率を決める
  • 見えない状態は、手がかりを見るたびに確率を更新する

外が見えない部屋で、入ってくる人の傘から今日の天気を推理するAIがあります。今日の推理に使うのはどれ?

問題:外が見えない部屋で、入ってくる人の傘から今日の天気を推理するAIがあります。今日の推理に使うのはどれ?

  1. 昨日の天気の推理と、今日見た傘(正解)
  2. 過去すべての日の天気と、今日見た傘
  3. 今日見た傘だけ

解説:昨日の推論を天気の変化で引き継ぎ、今日の傘で確かめ直すのが隠れマルコフモデルです。お疲れさまでした。次は、配送ルートのように選択肢が膨大なときに最高の答えを探す方法と、山登りの罠を見ます。

用語

観測信号(Observation)
隠れ状態の手がかりになる、直接観察できる情報。
隠れ状態(Hidden State)
知りたいのに直接は見えない状態。窓のない部屋から見た外の天気など。
マルコフ仮定(Markov Assumption)
次の状態は直前だけで決まり、過去の履歴は見なくてよいという割り切り。
マルコフ連鎖(Markov Chain)
次の状態へ移る確率をつなぎ、時間の変化を表すモデル。
条件付き独立(Conditional Independence)
直前の原因が分かっていれば、元の原因を知っても結果の確率が変わらないこと。
隠れマルコフモデル(Hidden Markov Model)
見えない状態が時間とともに変わり、手がかりをもとに確率を更新していくモデル。
ベイジアンネットワーク(Bayesian Network)
出来事を原因から結果へ矢印でつなぎ、起きやすさの確率を持たせた図。