ベイズの定理とソフトマックス関数について

授業が始まって中々勉強に時間が取れないがちょっとだけPRML上巻を読んだ。
ベイズの定理について自分なりの解釈としてのメモをかくことに

中学で確率における同時確率(または結合確率)というのを習った。これは事象XとYがあるとして、XとYが同時に起こる確率を示したもの。 数式で表すとこうなる
f:id:Owatank:20171103114224p:plain

重要なのはこの等式は事象XとYが独立のとき成立するということ。
XとYが独立であるとは、片方の事象が起こる可能性がわかっていても、もう片方の可能性に何も影響しないということを意味している。

独立の場合は上の等式のようにそれぞれの事象の確率の積で同時確率を計算できる。
中学の問題で言えば裏表のコインやサイコロを振るとかがあった。

実際の状況、問題においては独立でない場合の事象を考えることが多いからこの等式では同時確率を求めるのは難しい。 困った。

そこで、事象の依存性を考慮した同時確率を考える。これは以下のようになる。
f:id:Owatank:20171103115117p:plain

確率の乗法定理と呼ばれる。この式が意味することは「事象XとYが同時に起こる確率」は「Xが起こる確率」と「Xが起きた時にYが起こる確率」の積で求められるということ。

右辺にあるP(Y|X)は「Xが起きた時にYが起こる確率」からYの事前確率だったりYの条件付き確率だったり呼ばれる。らしい。。

またこの乗法定理において事象XとYが独立とわかっているなら、P(Y|X)P(Y)と書き換えることができる。

最初この乗法定理を見た時、Yの事前確率にP(X)というXが起こる確率で重み付けしたものが、同時確率P(X,Y)になると考えてしまった。
機械学習の勉強をしているとどっかしらの項を重みと見てしまう悪い発作だ。。。

同時確率P(X,Y)P(Y,X)と書き換えることもできる。そしてこんな感じになる。
f:id:Owatank:20171103120721p:plain

つまり以下の関係が得られる。
f:id:Owatank:20171103120827p:plain f:id:Owatank:20171103120908p:plain

2枚目の方は有名なベイズの定理。何度も見て何度も忘れた。

式だけを見れば、「Yの事後確率」は「Yの起こる確率」と「Xの事後確率」を掛け合わせたものを「Xの起こる確率」で割ったもので求めることができる、という意味になる。
f:id:Owatank:20171103121624g:plain
正直こんな感じだ。でも嬉しいことはおそらくP(Y|X)を求めるには他の3つの確率を調べれば良いということなんだろう。

こういう時は例で考える。事象Xを年間の行事と考える。ハロウィンだったりプレミアムフライデーだったり色々だ。そして事象Yを美味しい料理と考える。これもケーキだったり厚焼き玉子だったり寿司だったり色々ある。

ある人がクリスマスでうきうきしていて、ケンタッキーのフライドチキンを食べたいとする。その人は「そもそもクリスマスのとき、ケンタッキーのフライドチキンがでる確率っていくらぐらいなんだ・・・?」と疑問に思ったので調べたいとする。

f:id:Owatank:20171103151948p:plain

つまりP(Y=ケンタッキー|X=クリスマス)を求めたい。
求めるにはクリスマスに出てくる全ての料理を挙げて、そのうちケンタッキーがどれくらいの割合を占めるかを考えないと求めることはできない。

ベイズの定理から、他の3つの確率で求めてみる。

  • P(Y)はケンタッキーが出てくる確率。年間の売り上げ数から求められるはず。

  • P(X|Y)はケンタッキーが出てきたとき、その日の行事がクリスマスである確率となる。これもケンタッキーの年間売り上げからクリスマスの日がどれだけの割合を占めているかで求められそうだ。

  • P(X)はクリスマスが起こる確率。クリスマスは年に一度のため悩む必要はない。

P(Y=ケンタッキー|X=クリスマス)で求めるか、他の3つの確率で求めるか、どちらのが簡単だろうか。
前者はクリスマスに出てくる全ての料理を挙げ切るのはとても厳しい気がする。後者も大変かもしれないがケンタッキーの年間売り上げあたりを調べればいいだけだ。

P(Y|X)の測定が難しいなら、他の容易な3つの確率から求めることができる。すごいぞベイズの定理。

もう一つ疑問に思ったことがある。ベイズの定理の右辺にある分母のP(X)は何をしているのだろうか。
純粋に式だけを見ればP(Y)P(X|Y)を割っているだけだが、なぜ割ればP(Y|X)が求まるのだろう。。そういう定理だからで片付くが今いちしっくりこない。

右辺の分母について考える。P(X)は「Xが起こる確率」だが「事象Yの値に関係なく事象Xが起こる確率」とも言える。これは式で表すと

f:id:Owatank:20171103142901p:plain

Nが表すのは上の例(事象Yを美味しい料理)で言うならば y1 = ケーキ、 y2 = 玉子焼き、... といった事象Yが取りうる数。
P(X=クリスマス,Y=ケーキ) + P(X=クリスマス,Y=卵焼き) + ... P(X=クリスマス,Y=yj)まで事象Xがクリスマスの時に起こりうる同時確率の総和がP(X)だ。

P(X)をこの数列で表した時のベイズの定理はこうなる
f:id:Owatank:20171103143509p:plain

分子は事象X=クリスマス、事象Y=ケンタッキーの同時確率なのでこう書き換えられる
f:id:Owatank:20171103143552p:plain

こうみるとどうだろう。分子は分母の数列の中にある一部の同時確率である。
これは(全体の一部、あるいは比べる量) ÷ (元、全体の量)といった割合として見ることができるじゃないか。
百分率ではないので右辺の値は必ず [0,1] 範囲に収まる。確率としての値が出てくる。

分母のP(X)は右辺が [0,1] 範囲に収まるようにある意味での正規化としての役割を担ってくれていたのだ・・・

そしてこの時何かに似ていると気づいた。ニューラルネットワークの活性化関数の一つであるソフトマックス関数のことである。
分類問題における出力が [o1,o2,...,on]となっているとき、ソフトマックス関数を適用すると各出力の総和が 1 になるように o1,o2,..,onを変換してくれる。
ベイズの定理にある分母のP(X)と同じように正規化をしてくれる。

青いイルカの深層学習本ではベイズの定理の説明がなかったので自分がベイズの定理についてあやふやだったソフトマックス関数のとこは「ほーん」って感じに読んでいたがベイズの定理がベースになってるじゃーんと今さらだが興奮した。