ベイズの定理からベイジアンネットワークへ

人工知能と21世紀の資本主義』本山美彦著を読んでいる。
 読み始めたときは業界用語が多くて理解できなかったけど、少しずつ読めるようになってきた。するとビックデータの処理の原理のところで、ベイズの定理を用いるところが気になってしまった。(ところでベイズの定理って何だったけ?)

『条件付き確率(ベイズの定理)』でネットワークの重みを設定することができる。
データの因果関係を分析するために、
「因果関係の強さを、ある事象が起こった場合に、他の事象が起きる確率である『条件付き確率』の大きさから判断し、多数の事象間の因果関係をグラフで整理する。」
というアイディア。

まずはイメージを持つための動画。
(でもこれでわかるわけではない。あくまでイメージのみ。でもこのビデオの表現の仕方はどうやってやるのだろうか?)

まずベイズの定理とは?⇒【68数学 と 心理学 ~ベイズの定理の理解の仕方~】 
例えば、ベイズの定理を用いて次の問題を解いてみよう。

問題『40歳の女性が乳がんにかかる確率は1%。また、乳がん患者が、X線検査で陽性になる確率は90%である。乳がんではなかったとして、それでも検査結果が陽性になる確率は9%である。さて、あなたの検査結果が陽性と出た場合、実際に乳がんである確率は?』

(この問題の特徴は、原因(ガン)→結果(陽性)の逆の確率を求めることにある。つまり結果(陽性)から原因の確率を求めるのだ。今までこのことを意識しなかったけどこれを書いていてよくやく意識できるようになってきた。)

 ベイズの定理で求めると、0.01×0.9÷(0.01×0.9+0.99×0.09)=0.092…
なぜこうなるのだろうか。実は確率を自然頻度に置き換えるとすぐにわかる。
「10000人の女性のうち100人は乳がんで、検査で陽性と出る人は90人。乳がんではない9900人のうち891人(9%)が陽性と出る。」
次にこれを樹形図にしてみよう。(ベン図でも同じ)

           10000
         ↙     ↘
      100(乳癌)   9900(乳癌でない)      〈原因〉

     ↙   ↘        ↙    ↘
   90(陽性) 10(陰性) 891(陽性)   9009(陰性) 〈結果〉

よって、陽性のうち乳癌である条件付き確率は、
 90÷(90+891)=0.091・・・
癌である確率は9.2%ほど。(癌ではないけど陽性になる数を忘れていはいけない。)

さて、「陽性の90」を一度に計算するには、1%の90%だから、かけ算で求めることができ、0.01×0.9=0.009と一度に計算できる。(これが乗法定理)よって、

        A(である確率p)  B(である確率q)
 (AからCとなる確率a) ↘    ↙ (BからCとなる確率b)
               事象C
Aが原因である確率=pa/(pa+qb)で求まる。
つまり、A→CとB→Cのつながりの太さが計算できる。
(矢印は因果関係を示す。矢印はとても大事だ!)

「この定理を使ってネットワークを構成するのがベイジアンネットワーク。このビックデータの解析へ通じる道を探り当てたのはジューディア・パールで、人間の知識は狭く、それを補うために統計・確率的な考え方を人工知能に導入すれば、何度も推論をやり直して前よりも高い確率で現実世界に接近できるのではないかと発想しベイジアンネットワークを立ち上げたという。ただこれはあくまで過去のデータであって、そのまま未来の予測ができるわけではない。」

(ここまでは何とか進められたけど、確率の乗法定理とベイズの定理のつながりがわからない。自分の方法でつなげていくしかない。)

確率の加法定理と乗法定理について
加法定理はベン図でわかる。

(問題は乗法定理だ。これは自然頻度で導くことができた。ベイズの定理は乗法定理と条件付き確率の合わさったものだから、ベイズの定理が自然頻度で解けるのだから、乗法定理も自然頻度で解ける。)

そして、この乗法定理からベイズの定理が簡単に導ける。

ちなみにここで取り上げられている例題を自然頻度を用いて解いてみる。

【例題】3つの袋があり、次のように赤い玉と白い玉が入っています。
  袋1:赤い玉4つ、白い玉1つ
  袋2:赤い玉3つ、白い玉3つ
  袋3:赤い玉2つ、白い玉4つ
 いずれかの袋から玉を1つ取り出したところ、白い玉でした。この玉が袋2から取り出された確率はいくらでしょうか。

(この問題は今までの原因・結果という見方を使うと、結果が白玉であったことからどの袋から取り出したのかという原因の確率求める問題だ。)
 まず、袋の玉の数を同じにする。5個と6個と6個だからそれぞれ30個にすると、
白玉はそれぞれ6個、15個、20個となり、合わせて41個。
袋2は15個だから、袋2である確率は15÷41≒0.366と求まる。

 この解き方は自然頻度を使ったのだけど、あたりまえすぎてそもそも「ベイズの定理」とはどういうものかわからなくなる。先のベイズの定理の導き方も、単にP(Y|X)をP(X|Y)に変えただけだが、これはXという条件の下でYが起きる確率と、Yという条件の下でXが起きる確率だから、X(原因)→Y(結果)を、Y(結果)→X(原因)と逆転させることになる。
 その意味についてとても分かりやすい説明がこれ。

 

今度は確率モデル。
そしてここに結果から原因となる確率を求める「ベイズの定理」が使われる。

やはり具体的な例がないとわからない。この例のような因果関係を探っていくためのモデルとしてグラフに表すとわかりやすくなる。

このモデルはどういう性質を持っているのか?
そのために単純なモデルを考える。
P(x,y)=P(x∩y) (例えばxが男子であってyがA型のようなもの)

 ノードの間の関係。「観測される」というデータをどう用いるのか。
このサイトには、ベイジアンネットワークの機械学習などへの発展が示されている。

 

ところで、先の本の中に紹介されていたアラン・ケイ氏のインタビューがとても印象的で、IT(もちろんAIも)と教育の関連を考えるヒントがある。

コンピュータは人間を進化させるか
アラン・ケイ氏インタビュー

「餌を見ることができないで飢死するカエル」の例えは心に残る。
私たちはこのカエルと同じで、動いているものだけに反応するだけ。
例えば、検索して知っているつもりになっている。
コピーして学んだ気になっている。(確かにそうだ!)
自分自身で書かないかぎり学んだことにはならない。