ill-identified diary

所属組織の見解などとは一切関係ありません

『ベイズ統計の理論と方法』の行間を読む I

概要

渡辺澄夫の『ベイズ統計の理論と方法』 (以下, 渡辺本) は, 私のように統計学は多少知ってるものの, 統計力学を知らない人間にとっては, 「自由エネルギー」だの「分配関数」だのが何を意図して定義された統計量 (物理量?) なのかよくわからず, はじめは数式を目で追うことしかできなかった.

加えて, 渡辺本は, 実務に役に立つテクニックなどといった趣旨の本ではなく, 統計学的なモデリング機械学習*1の理論を統一的に説明することを目的としている. そのため, 統計モデルを抽象的に一般化してその性質を説明する一方で, 混合分布モデルとか, ニューラルネットとか具体的な手法についての言及は控えめである*2というのも, 人によっては理解が進まない原因になっていそうである. .そこで, 私と同じように物理学を知らない「文系」のために渡辺本の行間を埋めて, 定理が 何を含意しているのかの理解を促してみようと思う. もちろん, 私の勝手な解釈なので, 著者の意図に合致している保証はない.

今回は3章までの行間を読んでいく. なので, 残念ながら渡辺先生の研究の重要なところである特異モデルに対する理論分析は範囲外である.

この記事は, 期待値とか確率密度関数とか, 統計学に関連する基本的な数学的知識を持っていることを前提としている. 特に, パラメータ w積分したり, x 積分したり (周辺化), 確率分布 p(X)  を掛けて x 積分したり (期待値) 積分の仕方にいろいろなパターンがあり, 変数としてみているのが x  なのか, w  なのか, よく確認する必要がある. 見やすさのため, 数式の記法はなるべく渡辺本に準じる*3が, いくつか例外がある.

なお, 原稿用紙で8頁ぶんくらいある.

  1. 事後分布 p(wXn)ppost(wXn)  と書く. p  は確率分布一般を表すのに使っているので, パッと見でわかるように ppost  と書くことにした.

  2. 対数 logln  と書く. ln  は対数のうち, 特に e  を底とする自然対数を表すものである. とはいえ, ゼロなど不自然な値を取らない限り, 対数の底をどのようにしようが結果に影響はない.

最も基本的なこと

あまり細かく書きすぎると原典の丸写しになってしまうので, で最低限の基本的なルールだけ書いておく.

機械学習でも統計学でも*4, データがある確率分布にしたがって生成されているという状況を仮定している. 統計学では母分布とか, データ生成過程 (DGP) などと呼ばれる. これを渡辺本では q(x) という確率密度関数で表している. 実際の問題は, q(X)  そのものは不明だが, データXn:={X1,,Xn}  は, それぞれ q(x)  から抽出した乱数とみなせるので, 間接的に q(X)  に対応する関数を推定することになる. 推定された関数を p(Xw)  としている. これを尤度と呼ぶ本も多いが, 渡辺本では確率モデルと呼んでいる. 機械学習における学習器とも同義である. ベイズ統計の理論を考えるには真の分布 q(w) , 事前分布 φ(w) , 確率モデル p(xw)  の3種類の確率が最低限必要になる.

尤度比とカルバック=ライブラ距離

2章では, 汎化損失, 汎化誤差, 経験誤差など似たような名前の統計量がいろいろ出てくるので, 初見では戸惑うことだろう.

さらに, 自由エネルギー分配関数の2つは統計力学の法則と関連付けるために出てきた話なので, 統計力学を知らない文系の我々は知ってもどうしようもない. 渡辺本の範囲では, 自由エネルギーの概念を導入すると, 特に重要な事柄として,

  1. 統計力学の概念とベイズ統計につながりがある
  2. ベイズ統計的な推測方法と従来的な推測方法 (最尤法) は互いに孤立したものではなく, 自由エネルギーで地続きになっている

ということがわかると言っている. よって, 自由エネルギーは理論分析のために必要ではある. その一方で 我々の多くはデータ分析の実務上でどう役に立てるかが主な関心となるだろうから, 実用に際してのつながりを重視して説明していきたい. われわれ文系は, 自由エネルギーではなく別のルートから読解しなければならないので, 極力触れないことにする*5.

我々は, 真の分布により近い統計モデルないし学習器を作成しようとしている. そこで, 真の分布と確率モデルのズレを, 比として考える.


q(x)p(xw)

確率モデルは尤度とも呼ばれるので, これは尤度比と呼ばれる. これが何を意味するかというと, これを x の関数とみなすと, ある点 x  で, 尤度比が1に近いほど真の分布と確率モデルの差異がなくなるということである. また, 分子分母ともに確率を表す関数だから, いずれもゼロ以上のはずなので, 尤度比は1が最小値であるとわかる. 渡辺本では, 尤度比の対数をとった対数尤度比関数を重視して,

f(xw):=lnq(x)p(xw)

としている. ln1=0 だから, 対数尤度比 f(xw)  は, ゼロに近いほど, 真の分布に近いということになる. しかし, 対数尤度比は x  しだいで値の変わる関数なので, 異なる確率モデルの対数尤度比をそれぞれ見て, どちらが真の分布に近いか判断するのが難しい. そこで, f(xw)  の期待値をとることで評価する. それが, カルバック・ライブラ距離*6である. カルバック・ライブラ距離は,

D(q||p):=EX[f(Xw)]=EX[lnq(X)p(Xw)]=q(x)lnq(X)p(Xw)dx

と定義される. 名前が長いので, 以降は「KL距離」と書く. KL距離は, 確率分布 q(x)ln(p(xw)/q(x))  の平均を取っているから, 期待値でもあるので,

D(q||p)=EX[lnq(X)p(Xw)]

と書ける. 渡辺本では, 真の分布 q(x) まわりの期待値を EX[]  と書いていることに注意 (つまり, EX[g(X)]:=q(x)g(x)dx ).

では, この KL距離とはなんなのか, 対数は ln(x/y)=lnxlny と変形できるから,

D(q||p)=q(x)lnq(x)dxq(x)lnp(xw)dx=EX[lnq(X)]EX[lnp(Xw)]

となる. 第1項は確率モデル q(x) の対数の期待値で, 第2項は真の分布 p(xw)  の対数の期待値である. よって, KL距離は, 確率モデルと真の分布のズレの大きさを表している. p(xw) q(x)  が一致すれば, 明らかにKL距離はゼロになる. また, D(q||p)0  である (証明は略) ので,q(X) p(Xw)  の KL 距離 D(q||p)  は, 2つの確率どれだけ離れているかを表し両者が一致するときに最小値ゼロをとる*7.

さらに, KL距離の性質を解き明かしていく. 右辺の2つの期待値が何を意味するか考えてみる. どちらも, 確率の対数について. q(x) で平均を取っている. そこで,

η(w0,w)=p(xw0)lnp(xw)dx

という η() を考える. これはエントロピーと呼ばれる*8. 今, q(x)=p(xw0)  と仮定すれば, エントロピーは真のパラメータ w0  と確率モデルの w  の差によって生じる量だと考えられる (この時点で, 確率モデル p(xw)  は適切な w  をとることで真の分布 q(x)  を表現できると仮定していることに注意する). 一方で, 真の分布 q(x)  は形が変わらないから, 真の分布自身のエントロピー η:=η(w0,w0)=q(x)lnq(x)dx  は一定である. このとき, KL距離は,

D(q||p)=η(w0,w)+η

とも表せる. よって, KL距離には相対エントロピーという別名がある.

η はデータ {Xi}  にも影響されない, 真の分布 q(x)  固有の定数である. つまり, どんな確率モデルにしようが, KL距離には大きさが固定された成分があり, 原理上どうしても発生するズレが, 多かれ少なかれ存在することがわかる. ここから, カルバックライブラ距離をゼロにする p(xw)  を求めるというよりは, とりあえずη  は考えず, η(w0,w)  の部分にどういう性質があるかを見ればよいという見通しが立つ.

平均対数損失

しかしKL距離は, q(x) まわりの期待値なので, 真の分布がわからない以上, これだけでは求めることができない. KL距離を移項すると,


D(q||p)=EX[lnq(X)]EX[lnp(Xw)]=ηEX[lnp(Xw)]EX[lnp(Xw)]=D(q||p)η

となり, 左辺, つまり確率モデルの対数の真の分布まわりの期待値は, エントロピーとKL距離の差で表せる. これが平均対数損失 (mean log loss)である. これを w の関数として,

L(w):=EX[lnp(Xw)]

と表す (マイナス符号に注意). ここで, q(x)=p(xw0) と表せるならば 第1項は KL距離なので, w=w0  のとき, 最小値がゼロとなる関数である. このとき, KL距離を w  の関数とみなして, 平均誤差関数 K(w)  と書く. KL距離とは本来, q,p  の組み合わせに限らず, 2つの確率分布の距離を表すので, 以降では D(q||p)  を平均誤差関数 K(w)  と呼ぶ. すると,

L(w)=K(w)η=K(w)+L(w0)

と表せる. ここから, 平均対数損失は L(w0)=η という最小値をとる関数になるので, L(w)  を最小化するのが w0  を見つける方法のように見える. また, L(w0)  の大きさは, 確率モデル p(Xw)  によって変化しないので, L(w)  は異なる確率モデルどうしの平均誤差関数の大きさを, 相対的に比べることができる. この性質は, 後で説明する赤池の情報量規準 (AIC) に利用される.

経験対数損失

平均対数損失は, 最小二乗法など, 何らかの損失関数を最小化する方法を指している. だが, L(w) は, 知ることのできない q(x)  を用いて期待値を計算しなければならない. そこで, 期待値を標本平均で代用した, 次のような経験対数損失 (empirical log loss) を考える.

Ln(w):=1ni=1nlnp(Xiw)

ある条件下では, n が無限大に近づくと, 経験対数損失は平均対数損失に収束することが証明できる. よって実務上は, この経験対数損失の最小化で, w0  を求めることになる. なお, q p  のKL距離, つまり平均誤差関数に対応する形でも経験誤差関数というものが定義できるが, 平均誤差関数と同様に, 真の分布を含むため, 実務でこれを計算することはできない. もっぱら理論上の性質を分析するために用いられる.

具体例

ここで, よく知られた従来の方法との関連を考えてみる. 線形回帰モデルなら, 正規分布を利用した

YiN(a+bXi,σ2)

というモデルだから*9, 確率モデルの対数は

lnp(Yia,b,σ)=ln2πlnσ(2σ2)1(YiabXi)2

となる. この p(Yia,b,σ) の経験対数損失は,

Ln(a,b,σ)=1nilnp(Yia,b,σ)

となり, 対数尤度n で除して*10符号を逆転したものである. ここから, 経験対数損失の最小化は, 対数尤度の最大化, すなわち最尤法 (最尤推測) と同じであるとわかる. 加えて, ロジスティック回帰など, 機械学習の分類問題を解く学習器でも, 最小化すべき損失関数として対数損失関数と呼ばれるものが使われる. これもまさに対数尤度の符号を正負逆にしたものなので, 平均対数損失の最小化理論が, 機械学習とも矛盾しない例が示されたと言える.

少し脱線するが, 線形回帰モデルでは, σ をどのような正の値に固定しても, Ln(a,b,σ)  を最小化する a,b  の値には影響しない. よって, 回帰係数 a,b  だけを求めたいなら, i(YiabXi)2  を最小化するだけでもよい. これが最小二乗法になる. つまり, 最小二乗法は, ベイズ推測の特殊ケースである最尤法の, さらに特殊なケースという位置づけになる.

汎化誤差と汎化損失

さて, 平均対数損失の最小化という結論を導く際に, q(x)p(xw0)  w0  で表せる, という仮定を置いていることを忘れてはならない. どんな w  をとろうが q(x)  とまるで似てないようなモデルであれば, 平均対数損失 L(w)  を最小化する w0  は, q(x)  を適切に近似するとは限らない. そのため, 渡辺本では, 真の分布を実現できるパラメータと, 平均対数損失を最小化するパラメータを別物として定義している.

渡辺本ではさらに, 汎化損失 (gerenalization loss) Gn汎化誤差 (generalization error) Gn(0)  が次のように定義される.

Gn:=EX[lnEw[p(Xw)]],Gn(0):=EX[lnEw[exp(f(X,w))]]=EX[lnq(X)Ew[p(Xw)]]

さらに, 汎化誤差と汎化損失と平均対数損失の間には,

Gn=Gn(0)+L(w0)

の関係が成り立つ. 汎化誤差とは何を表しているのか. 2行目の Gn(0)=EX[ln(q(x)/Ewp(Xw)] は, 既に見た 平均誤差関数とよく似ている. 分母が p(Xw)  だったものが Ew[p(Xw)]  に変わっているが, これは何を意味しているのかというと, 渡辺本の定義では, Ew w  まわりの期待値を意味する. ただし, w  の分布は事後分布 ppost(wXn)  を用いるので,

Ew[p(Xw)]=ppost(wXn)p(Xw)dw

となる. これは p(X), p(XXn)  とも書かれ, n  個の観測値と事後分布 ppost()  で決まる, X  の密度関数である. つまり, 現在わかっている情報から予測される次の X  の確率分布を表している. これを予測分布という. つまり, 平均誤差関数に現れる確率モデル p(Xw)  の部分を予測分布 p(XXn)  に置き換えたものが汎化誤差 Gn(0)  であり, 汎化損失 Gn  は, 同様に平均対数損失に現れる p(Xw)  を予測分布に置き換えたものである. よって, (1) 汎化誤差とは, 真の分布 q(X)  と予測分布 p(XXn)  のKL距離であり, (2) Gn=Gn(0)+L(w0)  は, 既に紹介した平均対数損失と, 平均誤差関数の関係式

L(w)=K(w)η=K(w)+L(w0)

と全く同じ構造であることという2点が分かる.

ではなぜ, 確率モデルではなく予測分布とのKL距離へと変更を加えたのか. この違いは何を意味するのだろうか. 実は, 最尤法など古典的な統計モデリングでは, 両者に違いがなかったため, 区別する必要がなかったのだ. しかし, 機械学習ベイズ統計は, 罰則項や事前分布を用いて, 平均対数損失に代わり汎化損失を最小化している. これはベイズの定理を用いれば分かることである. 事後分布は, 確率モデルと事前分布に比例する(ppost(Xw)p(Xw)φ(w)). 機械学習においても, 損失関数が尤度 (=確率モデル) の正負を逆にしたものに相当し, これに罰則項を追加するから, 事後分布は確率モデルにパラメータに関するなんらかの分布を加味したものになる. 一方で, 最尤法は 尤度の最大化により直接決定するから, 事後分布が存在せず, パラメータは1点に固定される*11. よって, 汎化誤差・汎化損失はそれぞれ 平均誤差関数と平均対数損失の拡張である*12.

平均対数損失に対して経験損失が存在するように, 汎化誤差・汎化損失においても, これを推定するための統計量が存在する. それが経験誤差 Tn(0)経験損失 Tn  になる. つまり, 統計モデリングでも学習器でもパラメータ決定は, 経験損失の最小化問題とみなせる.

ここまで, 似たような用語が出てきたので, 改めてまとめると以下のようになる.

  • 平均誤差関数: 真の分布とモデルの間のズレの大きさの期待値 (=KL距離)

  • 平均対数損失: 平均誤差関数に平均対数損失の最小値 L(w0) (q(X) エントロピー) を足したもの

  • 汎化誤差: 真の分布と予測分布の間のKL距離

  • 汎化損失: 汎化誤差に L(w0) を足したもの

  • 経験 XX: 上記の汎化 XX や平均 XX を標本平均で推定したもの

ここから, 誤差 (error) と損失 (loss) の意味を区別して命名されているのが分かる. とはいえ, 古典的統計学ベイズ統計学機械学習はそれぞれ独自に発展してきたという背景もあり, 多層ニューラルネット誤差逆伝播は, 損失関数で評価してるのに「誤差」という語を使っているなど, 必ずしも厳密に統一されているわけでない.

情報量規準と汎化誤差

実用上は, 真の分布 q(X) が不明であり, サンプル Xn  のみが与えられている状況でパラメータ w0  を求めなけらばならない. そのような場合には, 汎化損失の代理となる経験損失を最小化するだけでいいということがわかった. しかし, だからといって, 理論上の汎化誤差を無視していいというわけではない.

経験損失を最小化する w と, 汎化損失を最小化する w0  が一致するのは, サンプルサイズ n   となったときであり, 実用のためには n  が有限の場合も考えるべきであろう. このとき, 両者の間には差 (バイアス) が発生することがわかっている. この差は経験過程と呼ばれる, 平均誤差関数を用いて定義される確率で表される. このバイアスがいわゆる過剰適合とか過学習とか呼ばれる現象をもたらす. よって, 経験過程の大きさを考慮して, 汎化損失を求める必要がある.

有名な赤池の情報量規準 (AIC) やベイジアン情報量規準 (BIC) といった情報量規準は, サンプルサイズが有限な場合*13. AIC は汎化損失の近似で, 汎化損失は平均誤差関数と, 定数項とみなせるエントロピーの和だから, モデルをAICで比較することは, 汎化誤差を間接的に推定しているのと同じと言える. 汎化誤差は真の分布と予測分布のKL距離だから, AIC が小さいということは, うまく予測できる予測分布を作成できるモデルということになる.

AIC と並んで BIC も多くの教科書で紹介されているが, 両者は式の定義が異なる. 良いモデルを選ぶのに, なぜ異なる指標が存在するのか. 渡辺本ではこれも説明されているが, 解説のためにはいよいよ自由エネルギーに言及しなくてはならない. 自由エネルギー Fn(β) は,

Fn(β):=1βlnZn(β)

で表される. Zn(β) は, 分配関数と呼ばれる. 統計力学ではβ  は様々な値をとるが, ベイズ統計では β= β=1  の場合だけを考えることが多い. β=1  のとき, 自由エネルギーは分配関数の対数かける1  であり, 分配関数は周辺尤度 Zn(1)=φ(w)ip(Xiw)dw  に等しい. 周辺尤度は, 確率モデルを w  について積分消去した関数であり, ベイズの定理の分母にあたる. 渡辺本では, BIC が自由エネルギーの近似であり, n  で自由エネルギーに収束することを示している. よって, 逆に言えば, BIC から間接的に周辺尤度を知ることができる.

対数周辺尤度を近似するBICがなぜモデル選択に使えるのか, 渡辺本では具体的に説明していないが, 日本語文献ならば, 小西 & 北川 (2004, 情報量規準) によれば, 対数周辺尤度でモデルの正しさの事後確率の相対的な大きさが表せることから, 対数周辺尤度のマイナスの近似として BIC が導出されると順を追って説明している. よって, BIC が小さいほど周辺尤度が大きく, 正しいモデルである確率が高いということになる.

AICBIC の式が異なるのはこのように導出過程が異なるからであり, 「ベイズ統計モデルだから BIC を使うべき」といった主張は根拠のない俗説であるとわかる.

そして, それぞれ異なる統計量の近似であるため, サンプルサイズ n が有限でも無限大でも, AICBIC が一致するとは限らない.

AICBIC の細かい性質の違いや, 実用上どう使い分けるべきかのヒントは, 渡辺本の本文でも述べられているので省略する.

4章以降

以上の話は, 正則な条件が成り立つ場合のみであり, まだ学習理論の問題のすべてのケースをカバーできてない. 具体的には, サンプルサイズが十分でない, パラメータ w0 が一意に定まらない, などの状況では, ここまでの理論の前提が崩れる. このとき, 最尤法が最適な w0  を導く保証はなく, AICBIC がよい推定量になっているという前提条件が崩れてしまい, 意味をなさなくなる. q(X)  が未知であるからこそ推測するという統計学の問題が発生するので, 事前・事後的のいずれでも正則な条件を満たしているかを知ることはできない. よって, 特異なモデルにも対処できるように理論を拡張する必要が出てくる. 渡辺本では既に, 特異モデルの範囲でも AIC, と同等の性質を維持する情報量規準である WAIC を説明している. が, そのためには多様体その他のより発展的な数学の知識を要する. 自分はまだ, 話を噛み砕いてエッセンスだけを抽出し説明できるほど理解しているとは言えないので, この続きを書くとしたら, だいぶ後になるだろう.

追伸

私事ですが, 2018年2月より再就職しています. これからも出来る限りブログ更新は続けていこうと思います. この個人ブログだけでなく, 現所属企業のブログにも投稿することがのちのちあると思います.



*1:総合して学習理論と呼ぶ

*2:タイトルが「理論と方法」だからおかしなことではない.

*3:第4刷の時点で著者による正誤表が出ている ことにも注意.

*4:あわせて学習理論と呼ぶ

*5:今回言及する正則理論の範囲では, 汎化誤差と自由エネルギーの違いをあまり気にする必要がなく, 汎化誤差だけで説明できることが多い. しかし, より一般化する場合には, 自由エネルギーも考える必要が出てくる

*6:カルバック=ライブラ情報量とか, KL ダイバージェンスと呼ばれることも多い.

*7:ただし, KL 距離は p , q  を入れ替えると値が変わるので, 対称性を満たさない. 三角不等式も満たさないので, 厳密には「距離」ではない. しかし, 渡辺本ではかまわず「カルバック・ライブラ距離」表記をしている. 紙面が限られていて頻出用語の字数を減らしたかったからだろうか. ただし, 末尾の付録では「情報量」と呼んでいる.

*8:エントロピーは, KL距離と自由エネルギーの関係式にも現れる.

*9:多くの教科書では, この形ではなく, 誤差項が平均ゼロ, 分散 σ2正規分布に従うと仮定している. しかし, 正規分布の性質から, 誤差項と Xiβ  の和もまた正規分布に従う.

*10:これを平均対数尤度という

*11:この点で言えば, 事後分布を最大化するようにパラメータを選ぶ MAP 法は, 実はベイズ統計ではない.

*12:ここでは厳密な定理ではく, 大まかなアイディアとして関係を述べた. 実際にこの関係を導くのに必要なのが自由エネルギーである.

*13:ただし, 渡辺本では, ある程度大きなサンプルサイズが必要であるとしている. 特に AIC については, これ以前にも, サンプルサイズが比較的小さい場合向けに修正した, 有限修正 AIC (AICc) というものが提案されている (Hurvich & Tsai 1989, Regression and time series model selection in small samples)