ベイズ統計の理論と方法: ノート1

以下の本を読みます。キャラクターは架空のものです。解釈の誤りは筆者に帰属します。おかしい点がありましたらコメント等でご指摘いただけますと幸いです。

ベイズ統計の理論と方法

ベイズ統計の理論と方法

次回:まだ
f:id:cookie-box:20190101155733p:plain:w60

今気付いたんですが、私たちはベイズ統計部という部活動のメンバーであるという設定の割にベイズ統計の話をしていないというか、ベイズ統計とは何かよくわかっていないのではないでしょうか。

f:id:cookie-box:20190101160814p:plain:w60

今更!?

f:id:cookie-box:20190101155733p:plain:w60

そこでこの本を読みたいと思うんです。1.1 節ではまずベイズ推測を定義するとか。この本では n 個の点を集めたもの、つまり、サンプルを x^n と表記するようですね。xn 乗にみえるので注意しましょう。サンプルの各点は \mathbb{R}^N の元です。そして、サンプル x^n をそれぞれ確率分布 q(x) に独立にしたがう n 個の確率変数の実現値と考えます。この q(x)真の分布とよび、サンプル x^n から真の分布 q(x) を推測することを統計的推測とよぶということです。それで私たちは統計的推測をしたいのですけど、この本で学ぶ「ベイズ推測」という統計的推測の方法では、統計的推測をするのにつかうパーツとして確率モデル p(x|w)事前分布 \varphi(w) も用意しておく必要があります。この w \in W \subset \mathbb{R}^d はパラメータです。確率モデルや事前分布の選択にも議論はありますが、とりあえず三つ組  \bigl( \, q(x), \, p(x|w), \, \varphi(w) \, \bigr) は与えられていることにするということです。
…現実にベイズ推測をするときは真の分布 q(x) を知らないはずなので、「与えられている」といわれるとややこしいですね…。この本でまずやりたいことは、「こういう真の分布からのサンプルを得ていてこういう確率モデルを仮定しているというシチュエーションで、事前分布を事後分布にどう更新するべきなのか」という理論の確立でしょうから、真の分布を考えないと理論が構築できないということと思いますが…以下のイメージです。細かいですしどうでもいいですが…。

入力出力
ベイズ推測器をつくる器q(x), \, p(x|w), \, \varphi(w)p(w|X^n)  ※ X^n は確率変数
ベイズ推測器x^n, \, p(x|w), \, \varphi(w)p(w|x^n)  ※ x^n は定数

f:id:cookie-box:20190101160814p:plain:w60

確率モデル p(x|w) を用意しておくのはベイズではない伝統的な統計的推測でも同じだね。でも伝統的な統計的推測では事前分布 \varphi(w) というのは考えない。何らかの推定量  \hat{w}(x^n) (最小2乗推定量最尤推定量)によってパラメータの推定値をただ1つ得るよね。

f:id:cookie-box:20190101155733p:plain:w60

対してベイズ統計ではパラメータの事後分布を得ますよね。真の分布のパラメータの分布というのもややこしいですが。伝統的な統計とベイズ統計でそのような違いがあるというのは、結局両者でパラメータを推測することに対する姿勢がどう違うんでしょう。

f:id:cookie-box:20190101160814p:plain:w60

この本にも出てくるのかもしれないけど、イメージでいうと…伝統的な統計は頻度論的ともいわれるように、確率というものを「無数に試行したときそれが起きる頻度」だと考えているから、例えばサイコロの各目の出る確率を推測するとき、もしまだ1回も投げていないなら、その確率分布についてまだ何もわからない。100回投げたらその結果に基づいた確率分布がパラメータの何らかの推定量によって推測できるけど、「もしかしたらパラメータはもうちょっと大きいかも/小さいかも」というぶれが生じる要素はない。しいていうなら、「サンプルの出方が違ったとしても求まる確率分布はずれない?」という心配はあるけど、そういうときはパラメータの推定値に幅をもたせて、どんなサンプルの出方でも95%カバーできるというようにする(信頼区間)。これはサンプルがぶれると考えているのであって、確率分布がぶれると考えているわけじゃない。…他方、ベイズ統計では確率とは「それがどれだけ起こりそうだと考えているかの信念」だから、「まだ1回もサイコロを投げていないけど、1の目の出る確率は0.2だと思う」という信念が事前にあるということがありうるし、確率分布がどんな信念をどれだけもっているかによって分布していい。そしてそれを事後分布に更新する。伝統的な統計に比べてベイズ統計では事前分布を仮定できるというのができることとしては最大の違いだし、同時に、そんなの仮定していいのかっていう不安ポイントでもあるけど、事前分布の影響はすぐなくなっていくという反論もあるよね。あと事前の信念を入れ込めるという点の他に、ベイズ推定はパラメータを分布として扱うから区間推定や検定が素直とも聞くかな。伝統的な統計ではパラメータは分布しないから「そのパラメータは考えにくい」っていういい方はできなくて、「もしそのパラメータだとすると手元のサンプルが得られる確率がかなり低い」っていういい方をする必要があって、一々サンプルの出方の分布の話にしないといけないのが回りくどいっていわれるよね。もちろん、ベイズ統計が考えやすくても取り扱いを誤って事後分布がおかしなことになっていたら踏み外した推測になっちゃうけど…。

f:id:cookie-box:20190101155733p:plain:w60

なるほど。まあとにかく事後分布が知りたいわけです。それですが、正の実数である \beta を逆温度として? 逆温度とは? とにかく逆温度 \beta の事後分布を以下で定義するとのことです。

\displaystyle p(w|X^n) = \frac{1}{Z_n(\beta)} \varphi(w) \prod_{i=1}^{n} p(X_i | w)^\beta \quad \left( \, Z_n(\beta) = \int_W \varphi(w) \prod_{i=1}^{n} p(X_i | w)^\beta dw \, \right)
…これ、\beta=1 なら普通にベイズの定理ですね。\beta=0 とすると p(w|X^n) = \varphi(w) なので、事後分布が事前分布のままということですか。であれば、逆温度 \beta とはどれだけ観測結果を取り入れるかということなんでしょうか。その続きには、事後分布による平均を  \displaystyle \mathbb{E}_w[f(w)] \equiv \int f(w)p(w|X^n)dw と表記することの取り決めと、これがサンプルに依存する確率変数であることの確認がありますね。そして、確率モデルの事後分布による平均 p^\ast (x) \equiv \mathbb{E}_w[p(x|w)] を予測分布とよび、ベイズ推測とは真の分布をこの予測分布と推測することであるとあります。…まだ5ページにしてベイズ推測とは何かという話終わってしまったんですが。

f:id:cookie-box:20190101160814p:plain:w60

まだ p^\ast (x) は意味もわからず天から降ってきただけだからね? p^\ast (x) がどのような仮定の下でどのような性質をもつか議論しなきゃ、ベイズ推測をするってどういうことなのか全然わからないよ?

f:id:cookie-box:20190101155733p:plain:w60

確かに。6ページの注意5は興味深いですね。究極的には真の分布を知り得ないのに、よい予測などあるのかということに対する不安があります。しかし、三つ組  \bigl( \, q(x), \, p(x|w), \, \varphi(w) \, \bigr) に拠らない数学的な法則が存在するのだと続きますね。だから限界や誤差について議論できると。伝統的な統計でいうクラメール・ラオの下限のようなものがあるということなんでしょうか。

f:id:cookie-box:20190101160814p:plain:w60

まず1.2節で、どのような量が予測のよさを測る指標となるのかを扱うみたいだね。

f:id:cookie-box:20190101155733p:plain:w60

早速読みましょう。というか1.2節の冒頭から「自由エネルギーと汎化誤差が最も重要な量」とありますね…。事後分布の式の分母に出てきた Z_n(\beta)分配関数、特に \beta=1 のときの Z_n(1)周辺尤度というそうです。Z_n(\beta) は正規化定数ですよね。周辺尤度 Z_n(1) は(その確率モデルでその事前分布にしたがうあらゆるパラメータの下で)サンプル X^n が観測される確率ですね。Z_n(1)X^n について積分すると 1 になるということですが、あらゆるサンプルの出方について積分すると1になるのは当然ですね。なお、Z_n(1)X_n の確率分布であることを強調したいときは p(X^n) ともかくようです。そして、\displaystyle F_n(\beta) \equiv -\frac{1}{\beta} \log Z_n(\beta)自由エネルギーとよぶということです。自由エネルギー? これが重要な量だといっていましたね。どう重要なんでしょう? \beta=1 のときで考えれば、周辺尤度 Z_n(1) が大きいほど自由エネルギーは小さくということになりますが…。しかし逆温度、分配関数、自由エネルギーなど、聞き慣れない言葉が目立ちますね…。

f:id:cookie-box:20190101160814p:plain:w60

統計物理の言葉だね。ベイズ推測に関する考察ではパラメータ w の事後分布からその推測がどんな性質をもつのか知りたいけど、統計物理でも系の微視的状態 w の分布(正準分布)をもとに巨視的な性質を知りたいから、形式的に同じ位置付けになる概念が色々あるんじゃないかな。だから言葉を借りてるんだと思う。

f:id:cookie-box:20190101155733p:plain:w60

断りなく借りてこられると面食らうんですが…。8ページの続きには自由エネルギーがどう重要なのかがありますね。先に文字を定義すると、真の分布のエントロピー  \displaystyle S=-\int q(x) \log q(x) dx、サンプル X_i に対する経験エントロピー \displaystyle S_n = -\frac{1}{n} \sum_{i=1}^n \log q(X_i) とします。これらは統計学でもよく聞くエントロピーですね。真の分布に対するものか経験分布に対するものかが違います。これらをつかうと F_n(1) が次のように変形できます。経験エントロピーが出てくるんですね。

 \displaystyle \begin{split} F_n(1) &= -\log Z_n(1) = -\log p(X^n) \\ &= -\log q(X^n) +\log q(X^n) -\log p(X^n) \\ &=-\log \prod_{i=1}^{n} q(X_i) +\log q(X^n) -\log p(X^n) \\ &= - \sum_{i=1}^{n} \log q(X_i) +\log \frac{q(X^n)}{p(X^n)} \\ &= n S_n +\log \frac{q(X^n)}{p(X^n)} \end{split}
そして、これをサンプル X_n のあらゆる現れ方に対して平均します。経験エントロピーの平均値は真の分布のエントロピーになります。
 \displaystyle \begin{split} \mathbb{E} \bigl[ F_n(1) \bigr] &= \int \left( n S_n +\log \frac{q(x^n)}{p(x^n)} \right) q(x^n) dx^n \\ &=  n S  + \int q(x^n) \log \frac{q(x^n)}{p(x^n)} dx^n \end{split}
この右辺第2項が q(x^n)p(x^n) のカルバック・ライブラ距離?…確かに、カルバック・ライブラー情報量です! というか、第1項がエントロピーで第2項がカルバック・ライブラー情報量って、まるで交差エントロピーでは。

f:id:cookie-box:20190101160814p:plain:w60

交差エントロピーだよ。F_n(1) = \log Z_n(1) = \log p(X_n) は確率モデル p(x|w) の下で事前分布 \varphi(w) にしたがうあらゆる w の下で X_n が観測される対数尤度だよね。これを真の分布 q(x) の下での X_n の現れ方に対する平均を取るという操作は、q(x)p(x) の交差エントロピーを取ることに他ならないよ。交差エントロピーはある分布の対数尤度を別の分布で平均した形式をしているからね。情報理論の言葉でいうなら、真の分布 q(x) においてめずらしい x には大きなビット長 \log \bigl(1 /p(x) \bigr) を、めずらしくない x には小さなビット長 \log \bigl( 1 / p(x) \bigr) をわりふるように p(x) を決めたい。もちろん p(x)=q(x) が最適だけど。おそらく最適からは少しずれている p(x) というエンコーディングの下での平均ビット長が \mathbb{E} \bigl[ F_n(1) \bigr] で、最適でないことによって生じたビット長のはみ出しの平均が (1.19) 式第2項のカルバック・ライブラー情報量だね。ついでにいえば、分配関数とはいま何とかしたい確率分布で、自由エネルギーとはその確率分布の選択情報量だったわけだ。

f:id:cookie-box:20190101155733p:plain:w60

…いやでも、p(x) は「確率モデルと事前分布から推測された X^n の確率分布(9ページ)」ですよね? q(x) に近づけたいのは p^\ast(x) なのではないのですか? それに、実問題では F_n(1) しか手に入らず \mathbb{E} \bigl[ F_n(1) \bigr] は手に入らないとありますね。それはそうですね。真の分布にしたがうあらゆる X^n について平均を取れるなら、それはもう無数にサンプルを得られているのと同じですから。推測しようとしている分布から無限にサンプルが得られたらそれはもうおかしいというか推測する必要ないですね。

f:id:cookie-box:20190101160814p:plain:w60

\mathbb{E} \bigl[ F_n(1) \bigr] ベイズ推測の結果 p^\ast(x) そのもののよさではなくて、 確率モデルと事前分布がどれだけ適切かという量のような気がするね。

f:id:cookie-box:20190101155733p:plain:w60

続く 1.2.2 節では、推測のよさの指標にまた別の量を導入していますね。汎化損失 \displaystyle G_n = - \int q(x) \log p^\ast (x) dx経験損失  \displaystyle T_n = -\frac{1}{n} \sum_{i=1}^n \log p^\ast(X_i) とのことです。汎化損失 G_nq(x)p^\ast(x) との交差エントロピーですね。これが小さいほどよい推測というのは納得できます。しかし、q(x) は知り得ないので現実に G_n を求めることはできませんね…。経験損失 T_n というのは…これは、情報理論の言葉でいうなら、p^\ast(X_i) という予測経験分布によるエンコーディングが個々のデータに割り振るビット長(情報量)のデータ毎の単純な平均ですね。情報量の平均といってもエントロピー(平均情報量)ではないです。エントロピーであったら  \displaystyle - \sum_{i=1}^n p^\ast(X_i) \log p^\ast(X_i) のように単純平均ではなく p^\ast(X_i) 自体で平均しなければなりませんから。しかしこの T_n にどんな意味があるというのでしょうか。予測分布 p^\ast(x) が、サンプル内の各点での確率密度が平均的に小さいものになっていたら T_n は大きく、逆にサンプル内の各点での確率密度が平均的に大きいものになっていたら T_n は小さくなりますが。T_n が小さいほどよいというのであればサンプル点の場所にだけ確率密度が存在するような櫛形の予測分布がよいということになってしまいますよね…。

f:id:cookie-box:20190101160814p:plain:w60

T_n が小さいほどよいというのではなくて、T_nG_n の推測につかえるとかいてあるよ。78~79ページあたりの話かな。

f:id:cookie-box:20190101155733p:plain:w60

そういうことですか。しかし、「何のため」というのがなくて先に定義がどんどん導入されるので雲をつかむようですね…。10ページの続きには、自由エネルギーと汎化損失の関係とは?とありますね。10ページの中ほどにある式は、これは予測分布の下での未知の点 X_{n+1} の確率密度ですね。順を追うと、

 \displaystyle \begin{split} p^\ast(X_{n+1}) \equiv \int p(X_{n+1}|w) p(w|X^n)dw = \frac{1}{Z_n(1)} \int p(X_{n+1}|w) \varphi(w) \prod_{i=1}^n p(X_i|w) dw = \frac{Z_{n+1}(1)}{Z_n(1)}\end{split}
…確かに予測分布の下での未知の点 X_{n+1} の確率密度が分配関数の比になるんですね。でもサンプル X^{n+1} が観測される確率をサンプル X^{n} が観測される確率で割れば X_{n+1} が観測される確率が残りそうな気もします。…その下の式は以下のように解釈できると思います。
  • 予測分布 p^\ast(x) の下で X_{n+1} という出来事に割り振られるビット長は、
    確率モデル  p(x|w) と事前分布 \varphi(w) の下で X^{n+1} という出来事群に割り振られるビット長から、
    確率モデル  p(x|w) と事前分布 \varphi(w) の下で X^{n} という出来事群に割り振られるビット長を差し引いたものに等しい。

つづきは後で