"機械学習","信号解析","ディープラーニング"の勉強

読者です 読者をやめる 読者になる 読者になる

HELLO CYBERNETICS

深層学習、機械学習、強化学習、信号処理、制御工学などをテーマに扱っていきます

ベイズ理論の概要

近年の機械学習でもベイズ理論に恩恵を受けている部分は多いです。ここではベイズ理論の概要を紹介していきます。

 

 

 

主観確率と客観確率

ベイズ理論は主観確率という概念を用いるために統計学では嫌われてきました。コインの裏表の確率が半々であろうと見積もるのは主観確率であり、実際に試行をたくさん行って推定するのが普通の統計で導かれる確率です。コインの裏表は二項分布ですから、表の確率がpなら裏の確率が1-pであるとして、あとは最尤推定でpを求めるだけです。最尤推定は試行回数Nのときp/Nとなって、試行回数に対する割合で求まります。これは主観確率と対比するために客観確率と呼ばれます。これくらいの程度ならば構わないのです。きっと一様なコインの裏表を最尤推定で導いても半々になるでしょう。

主観確率と客観確率の直感的な違いを得るために具体例をあげます。

具体例1:判断装置

X,Yのいずれが最適な選択かを確率的に決めたいと思います。

ここでは仮に、最適な選択を行なう判断装置なるものが100台あるとして、その装置にXとYのどちらが良いのかを尋ねると「X:0.4」「Y:0.6」の割合だったとしましょう。その時普通ならばYを選びます。しかし、個人的な見解では7割方Xだなと心に決めていたとしましょう。するとベイズ理論では

X:0.4×0.7 = 0.28

Y:0.6×0.3 =0.18

と計算されてXに決定されます。個人的な見解が主観確率の役割を果たしているのです。

結果だけ見れば、最適な選択を行なう判断装置なるものがY側に7割よりも大きく偏っていて初めてYを選ぼうと心に決めていたようなものです。

上記の具体例を見ていて、ベイズ理論は何をわけの分からん計算をしているんだ!と思う人もいるかもしれません。では以下の例題ならなどうでしょう。

具体例2:代表選手選出

あなたがテニスの監督で、明日の大一番の試合にどちらの選手を出場させるかを決めなければなりません。選手Xと選手Yのどちらかを決定するために、2人に5試合させることにしました。

選手Xは普段からレギュラーであり、日頃からまずまずの勝率です。 

選手Yは最近入ってきた選手で、期待が持てそうな選手ですが、日頃の練習試合では成果があまり出ていません。

選手Xと選手Yを試合させたら「選手X 2対3 選手Y」という結果でした。あなたは明日の試合にどちらを出場させますか。

客観確率で言えば、0.6の勝率である選手Yの方が強いはずです。ですが、あなたは2人の日頃の成果を知っています。今まで直接2人が試合することはありませんでしたが、数々の試合結果からおおよそXの方が明日の試合を切り抜けてくれるだろうと予想していました。試合させる前はおおよそ7割方Xを出場させようと思っていたとしましょう。

X:0.4×0.7 = 0.28

Y:0.6×0.3 =0.18

となって、日頃の成果込みでXを出場させようと決めるのです。

これは実際に監督が普段から考えていることではないでしょうか。ベイズ理論のように数値には現れないことも考慮して物事を考えるのは人間としてごく普通の思考なはずです。

 

以下は有名なベイズの定理であり、一般にはP(A/B)を事後分布、P(B/A)を尤度、P(A)事前分布と言います。

今回は事前分布に普段の印象という主観的な確率を入れて、尤度に試合結果という客観確率を考慮した形となっています。

P(B)正規化定数で、左辺の値域を制限するためのものです。普通計算する際にはAで周辺化してシグマで表すのですが、単に意思決定のために比較をする場合は分母は共通の値で大小に関係ないので計算しない場合も多いです。

f:id:s0sem0y:20160315031827p:plain

主観確率の乱用はご法度!

これは代表選手選出というのが、最終的に試合に負けたとしても損害を自身らが被るから構わないのです。また、選手を決めるために行える試合数も限られていて、客観確率なるものの信ぴょう性も怪しいところでしょう。ですから、上記のベイズ的な考えが自然に受け入れられるのです。

しかしもしも化学薬品の人体への効能が、主観確率なるもので決定されていたらどうでしょう。誰も納得いかないはずです。サイエンスという立場では主観確率は徹底的に嫌われていました。これはある意味当然のことだと言えます。

 

 

パラメータ推定に関する違い

伝統的統計学の考え

普通の統計学ではパラメータを点推定します。これは今から解析する対象はある特定の確率分布に従っているという仮定のもと、その確率分布を知ろうとする行為です。例えばコインの裏表の話に戻れば、「コインの裏表の確率は、コインの形状や質量分布などで完全に決定されている。投げ出されたコインの力学的挙動の解析の困難から統計的に解析するしかないだけであり、大数法則から十分に沢山の試行を行えば確率分布は唯一に求まる」ということです。

要するに十分に試行を行って裏表の割合を決めてしまえば、そのコインに関しての確率は唯一その割合であると決定するのです。もしもその後少数の試行の結果がその割合に一致しなくとも、それは少数の試行がたまたま低い確率で起こる現象を見せただけで、やはりそのままたくさん試行を行えば求めた割合に近づくと考えています。

この考え方は普通に広く受け入れられるものでしょう。真実はいつも1つ!です。 

ベイズ統計学の考え

一方ベイズ理論はパラメータ自体が確率的であると考えます。コインの例題ではパラメータは表が出た回数の割合ということになります。たくさんやれば唯一の解に近づくというのではなく、限られた確率的試行の結果、確率的にパラメータが得られたと考えるのです。

具体的には、昨日100回の試行を行ったら表が45回だったならば、昨日のコインは0.45の確率で表を出すとして、今日100回の試行を行い表が57回出たとすれば、今日のコインは0.57の確率で表を出すのです。昨日と今日でコインの裏表の確率分布が変わるなんてあり得ない!と思うのであれば、それは伝統的な統計学の考え方であり最もです。しかしベイズ理論では、パラメータ自体が確率的であるとしているので、昨日と今日で推定されるパラメータが違っても何もおかしくないのです。あくまで確率的試行の結果から確率的にパラメータが得られているだけなのです。

この考え方も確かに言われてみればという感じです。推定の判断材料である試行自体が不確かなのですから、その結果得られる推定も不確かなだと言われればそうです。

そうして昨日、今日、明日、明後日……と同じように100回の試行を繰り返しているうちにパラメータが0.50あたりにいることが多いなと思うようになるはずです。それでも0.50が唯一の解ではなく、やはりいつでも有限の試行しかできないのであれば、0.48となるような日もあっていいと考えてパラメータをヒストグラムで表示して確率分布を得ることができます。

下の図で、伝統的な最尤推定の場合はP(θ)=1のθがただ一つあると考えています。

ベイズ理論では様々なθでP(θ)≦1の棒が立つことになります。

f:id:s0sem0y:20160315050604p:plain

ベイズ理論のメリット

最尤推定の例

最尤推定では唯一のパラメータθのもとで、確率変数Xが現れてくると考えます。

すなわちP(X/θ)という条件付き確率をいつでも観測しているのです。十分な回数の試行を行った際には「実際に実現した観測列を見る」のですから、その実際に起こった観測列の発生確率(すなわち尤度)が最も大きくなるようにθを決めるのが最尤推定です。

具体的にコインの例題を考えると

表表裏裏表裏表表

とコインが続くのであれば p*p*(1-p)*(1-p)*p*(1-p)*p*pが最大になるようなpが最尤推定になります。これは二項分布では出た回数の割合が最尤推定なると知られているので、上記のpの8次関数を最大化しなくとも、5/8が答えだと分かりますが、一般の分布であれば最大化問題になるでしょう。

 

MAP推定とベイズ更新

ベイズ理論ではパラメータすらも確率的であると考えます。θという未知定数のもとでP(X/θ)を最大化するのではなく、θは観測されるXによって推定される確率変数なのでP(θ/X)を計算するということに相当します。そしてこれにベイズの定理を使えば、

f:id:s0sem0y:20160315041121p:plain

となります。P(X/θ)は伝統的統計学御用達の尤度ですから、上記と同じように数式自体すぐに得られます。問題はP(θ)です。これは一体何でしょう。今調べようとしているのは確率変数Xの発現の元でのパラメータθです。するとP(θ)は単にθの確率分布になりますが、それを知っていたら苦労しないはずです。そもそもXを観測して推定しようとしなくてもいいからです。

本質的にはこのときに主観確率なるものを導入しなければならなくなります。

すなわちコインなのであれば、表がでる確率は大体0.5くらいだろうと勝手に見積もってしまうのです。そして実際にはコインが歪みをもっていた場合には、尤度であるP(X/θ)が0.5からズレて分布を補正してくれます。ともかくこうしてもとまった確率分布を見て、最も確率が高く発現するθをMAP(最大事後確率)推定解と言います。このMAP推定解は最尤推定解とは違って、その解が唯一というわけではありません。あくまでデータから得られたθの確率分布がベイズ理論では本質的であって、どこか代表点を決めろと言われたら確率分布の一番高い山の部分というだけです。当然山の形が尖っていれば、その点に出現する確率も高いわけですが、山がかなり平坦なのであれば、ある一点を決めてしまうことに意味があるのかは分かりません。パラメータの分布の分散などの方に興味がある場合もあるでしょう。

それにしても、事前分布の設定で結果が異なるのは非常に不安です。やはり本質的には主観確率なるものがベイズ理論が受け入れられなかった原因です。パラメータを確率変数とみなすのは、限られた不確かなデータから推論をしようと思えば妥当な考え方だと言えますから、問題は事前分布をどうするかなのです。

普通は偏見が少なくなるように一様分布を仮定します。(パラメトリックな推定の場合は計算が楽になるような分布を仮定する場合もある)

ともかくこれでやっていこうと決めてしまえば、計算はできます。ベイスの定理を使う旨味は、少ないデータから始めて、今後追加されるデータに応じて結果を更新できることです。パラメータは観測データに応じて確率的に変わってもいいので、更新をしようという発想に至ります。

具体的には、最初のデータでP1(θ/X)を求めたあとに、今後追加されるデータを使って更新を行いたければ、最初のデータで求めたP1(θ/X)を事前分布P(θ)として計算を開始すればいいのです。当然更新されればMAP推定解が変わることも起こってきます。下の図はベイズ更新をした結果パラメータθの分布が変わりMAP推定解も右にずれている様子を表します。

表が出る確率を0.5から始めて、表が連続で出た場合には更新結果はきっとこのようになるでしょう。

 

f:id:s0sem0y:20160315051319p:plain

ベイズ理論の繁栄

今ではベイズ的なデータの取り扱いは広く受け入れられています。

正直アカデミックな統計寄りの人間から見た場合には、言いたいことはたくさんあるかもしれませんが、統計的なデータ解析を行って上手に意思決定や予測を行いたいという場合には当然のように使われるようになりました。

マルコフ連鎖モンテカルロ法(MCMC法)変分ベイズ法などの登場によって、機械学習やディープラーニングの分野でもベイズ理論は活躍しています。しかもその学習の手法が成果を上げている事実から、より一層ベイズ理論の実用的価値の高さに注目が集まるようになりました。