A判定で東大に落ちる確率は?計算してみた!(3)~ベイズ推定編~【東大生AI初心者の学習日誌 Day7】

   

こんにちは、じゅんペー(@jp_aiboom)です!

僕は現在東京大学の理系の二年生です。この連載では、AI初心者の僕が、「パターン認識と機械学習(通称PRML)」を読み進めながら、機械学習の理論面を一から勉強していく様子をお届けしたいと思います。

第7回目の今回は、前回、前々回の続きで、A判定を受けた東大受験生が東大に合格する確率を求めていきます。前回は「MAP推定」、前々回は「最尤推定」で確率を求めました。統計シリーズの最終回である今回は、「ベイズ推定」という手法を使っていきます。

まず、これまでの状況をおさらいしておきます。ある東大受験生が4回の東大模試において全てでA判定を取ったとし、さらにA判定は、その時点での合格率が100%であることを意味するとします。この時、この受験生は本番で100%受かるのか、そうでないならどれくらいの確率で受かるのかを推定するという問題を取り扱っていました。

そして、最尤推定では100%という結果に、MAP推定では仮定した前提知識によって70%だったり91.7%だったりという結果になりました。

詳しくはこれまでの記事をご覧ください。

▶ A判定でも東大に落ちる確率は?計算してみた!(1)~最尤推定編~【東大生AI初心者の学習日誌 Day5】
▶ A判定で東大に落ちる確率は?計算してみた!(2)~MAP推定編~【東大生AI初心者の学習日誌 Day6】

さて、今回用いるベイズ推定では、どんな結果になるのでしょうか!?さっそく、確率を求めていきます。

(途中かなり複雑な式が出てきますが、大事なのは計算ができることよりも、ベイズ推定という考え方や最尤推定・MAP推定との違いですので、適宜読み飛ばしてもらって大丈夫です)。

ベイズ推定

さて、MAP推定は簡潔にいうと、「事後確率を最大化する手法」でした。つまり、
$$p(c|D)$$
を最大化する\(c^*\) を推定値としていました。

これに対して、「せっかく事後確率を求めたんだから、\(c^*\) だけじゃなくて全てのcを考慮して推定してあげた方が精度がいいんじゃないの?」と考えるのが、ベイズ推定です。

もう少し具体的に式で追っていくと、そもそも求めたいものは、
$$p(合格|D)$$
です。これは、データDが与えられたときに(今回だと4回分の模試のデータ)、本番合格する確率です。

これをcを使って積分の形で表すと、
$$p(合格|D) = \int_0^1 p(合格|c)p(c|D) dc$$
です。少し難しいですが、
$$p(合格|c)p(c|D) = p(合格,c|D)$$
となり、さらにcについて周辺化(積分)しているので、左辺に一致します。

この式を見ながら、もう一度「せっかく事後確率を求めたんだから、\(c^*\) だけじゃなくて全てのcを考慮して推定してあげた方が精度がいいんじゃないの?」というベイズ推定の発想について考えてみましょう。

積分の中に、\(p(c|D)\) (事後分布)がありますね。MAP推定では、これを最大化するcを求めました。つまり、この事後確率は、cの関数であり、cの値によって大きかったり小さかったりするわけです。

そして、cによって変動する事後確率を\(p(合格|c)\) にかける、つまり重み付けをして、それを積分するのです。ここで、\(p(合格|c)\) は、今回の場合、単にcであることに注意してください。

つまり、0から1までの値をとるcに対して、cの事前分布を考慮して計算した事後分布でそれぞれのcがどれくらい出やすいかを考慮して、全て足し合わせています(つまりcの重み付き期待値を求めています。)

最尤推定やMAP推定より複雑に思えるかもしれませんが、使っている内容は、最尤推定とMAP推定に出てきたものばかりです。

東大受験生の合格率は?最終編

では、いよいよこのベイズ推定を使って、受験生の合格率を求めてみましょう!

続きを読むには無料会員登録が必要です。


※ログイン/初回登録後、下記ボタンを押してください。

業界から探す

さらに学ぼう!

PAGE TOP