ベイズ主義的な解法による事後確率の更新
はじめに
ベイズの定理とは、ある変数について知られている確率(事前確率)と事象が起きたあとに得られる確率(事後確率)の関係を示す定理です。データサイエンスの業界で広く応用されています。
アメリカのクイズ番組を題材としたモンティ・ホール問題と呼ばれる確率の問題でちょっとした騒動が起きたそうですが、ベイズの定理を使えば簡単に解くことができます。しかし、ポール・エルデシュという数多くの論文を世に公表した高名な数学者であっても、その解法をうっかり間違えてしまったそうです*1。このように論争が起こる程度には、確率という分野は奥が深いようです。
この記事でモンティ・ホールの問題を解きませんが、代わりにクッキー問題の例を通してベイズの定理を紹介します。
頻度主義とベイズ主義
真の分布*2が存在することを仮定し、そこからデータが抽出される(事象が発生する)という考えに基づいた古典統計学(頻度主義)と、真の分布は存在せず事前知識と観測した事象によって構成される確率分布から確率が定まるという考えに基づくベイズ統計(ベイズ主義)の2つに分かれています。近年では、計算機の性能が向上したことによってビッグデータを解析する環境が整ったことや、膨大なパラメータ数を持つデータの収集が可能になったことから、サンプル数が少なくても良い精度を求めることができるベイズ統計がよく研究・応用されているようです。
この記事の目的
インターネット上では、ベイズの定理に関する記事は多く見受けられます。ただし、確率の概念といった抽象的なテーマについて論じるものが多かったです*3。
そして、事後確率がどのように更新されていくのかを具体的に述べたものが見つかりませんでした。より直感的に理解するために、ベイズの定理の更新に焦点を当てて説明します。
ベイズの定理とは
まずはベイズの定理の数理的性質を説明します。ベイズの定理*4は乗法定理とその対称性から導出されます。
は仮説(hypothesis)を意味し、はデータ(data)を意味しています。つまり、左項が示す意味は、"データが与えられたときの仮説の事後確率"となります。
クッキー問題とは
ベイズの更新を考えるために、クッキー問題を考えてみます。この問題は、"オライリー社のThink Bayes プログラマのためのベイズ統計入門"*5で紹介されていますが、より詳しく説明してみます。下図に示すように、2種類のクッキー(バニラ・チョコ)が複数枚入った2つのボウルがあります。
種類(枚) | ボウル1 | ボウル2 |
---|---|---|
バニラ | 30 | 20 |
チョコ | 10 | 20 |
ランダムにボウルを選択し、その中からランダムにクッキーを一つ取り出すことを考えます。この問題では、選ばれた種類がバニラであるとき、それがボウル1である確率を求めることを目的とします。求めたいのは、"ボウル1であるときにバニラを選ぶ確率"()ではありません。なお、簡単のため、クッキーがボウルから減っていくことは考えないこととすることに注意してください。
クッキー問題をベイズの定理で解く
このとき、仮説を"バニラをボウル1から選択する"、仮説を"ボウル1からクッキーを選択する"*6とします。ベイズの定理における数式の意味は下表の通りです。
数式 | 役割 | 意味 |
---|---|---|
事後確率 | バニラがボウル1から選ばれる確率 | |
尤度 | ボウル1からバニラを選ぶ確率 | |
事前確率 | ボウル1からクッキーを選ぶ確率 | |
正規化定数 | 2つのボウルからバニラを選ぶ確率 |
それぞれの役割を順番に説明します。
- 事後確率
事後確率は、データが与えられたときの仮説の確率を指します。ベイズの定理から事前確率と尤度、正規化定数の逆数の積で求められます。
- 尤度(関数)
尤度 は、仮説が与えられたときのデータの確率を指します。例えば、ボウル1からクッキーを選ぶという行動を起こすとき、バニラというデータが得られる確率は、そのボウルの中のバニラの比率である0.75となります。
- 事前確率
事前確率は、仮説が起こる確率を指します。今回は2つのボウルをランダムに選択することから、それぞれの事前確率にが与えられます。しかし、事前確率の初期値は主観的に定められるものです。例えば、ボウル1がとても綺麗な器であり、ボウル2が汚く衛生的でない器であるとするならば、事前確率の初期値を当確率にすることはできないでしょう。あくまでも本ケースでは、ボウル1とボウル2の設定が平等であるから簡単に決めることができたということに注意してください。
- 正規化定数
正規化定数は、事後確率を1に調整するために使われる定数です。事前確率と尤度が定まるとき、正規化定数を求められます。バニラがどのボウルから選ばれるかということに焦点を絞っているため、正規化しなければ尤度と計算した値の総和が1にならず、それは事後確率でなくなってしまいます。そうなってはこの値の意味を解釈したい私達にとっては都合が悪いです。よって、ある条件下で独立な仮説を全て網羅する(排他的かつ網羅性がある)とき、それが占める確率を正規化定数として除算することで値を都合よく規格化します*7。今回は、クッキーの種類がバニラという条件の下で、ボウル1、ボウル2から取り出したという2つの仮説があるため、仮説の確率と条件の確率の積の総和を表のとおりに求めます。
ベイズの定理では、尤度関数と事前確率の初期値の与え方で事後分布がどのように変化していくかが定まります。そのため、その初期値の与え方や尤度関数をきちんと設計することは非常に重要です。
行動 | 事前確率 | 尤度 | 正規化定数の逆数 | 事後確率 |
---|---|---|---|---|
ボウル1からバニラを選択 | ||||
ボウル2からバニラを選択 |
新たな事象が起きると確率が変化する
ベイズの定理に従うと、ボウル1からバニラを選択する仮説に基づいたバニラを選択する確率はに改訂されます。このとき、新たな事象(データ)を見たために、確率が変化したことがわかります。ベイズによる更新では、1回目で導出した事後確率の値を2回目の事前確率として扱います。
行動 | 事前確率 | 尤度 | 正規化定数の逆数 | 事後確率 |
---|---|---|---|---|
ボウル1からバニラを選択 | ||||
ボウル2からバニラを選択 |
1 回目の事後確率は 2 回目の事前確率として与えられます。そして同様に計算をすると、2 回目の事後確率が計算できます。一般化すると、n 回目の事後確率を n+1 回目の事前確率として扱うことで、ベイズによる事後確率の値は更新されていきます。下図はあらゆる分岐パターンを網羅した計3回の事象が発生したというデータを与えられたときに、事象発生地点で確率がどのように推移していくのかを示した図です。
ボウル1からバニラを選択するという事象を引き当てると、徐々にボウル1からバニラを選ぶ確率が高くなり、ボウル1からチョコを引き当てると、その逆になることがわかります。ちなみに頻度主義に基づいて3回ともボウル1からバニラを選択した場合、その確率は100%という極端な値になってしまいます。そのため、データ数が明らかに少ないような本ケースの場合はベイズ統計のほうが好まれます。
まとめ
ベイズ統計を用いたときに確率がどのように推移していくのかを示しました。頻度主義的に問題を解くか、ベイズ主義的に問題を解くかは、状況しだいです。使い分けて、ベイズ統計の良い部分を活用していきましょう。
*1:
頻度確率による論理的な判断は一流の数学者でも間違えることがある?|馬場正博の「ご隠居の視点」【寄稿】 | GiXo Ltd.
*2:大体の場合は真の分布の形はわからない
*3:個人的に最も理解しやすいベイズの定理の抽象的なお話はこちら
[教材] 今更だが, ベイズ統計とは何なのか. - ill-identified diary
*4:両辺に右辺の分母を掛け算すると左辺と右辺は事象と事象の同時確率になるので、覚えやすい
*5:https://www.amazon.co.jp/Think-Bayes-%E2%80%95%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%83%99%E3%82%A4%E3%82%BA%E7%B5%B1%E8%A8%88%E5%85%A5%E9%96%80-Allen-Downey/dp/4873116945
*6:以降、この仮説をデータとして考えるとわかりやすい
*7:だからこそ、正規化定数を言葉として意味を与えるには難しいことが多い...?