黒木玄 Gen Kuroki is a user on mathtod.online. You can follow them or interact with them if you have an account anywhere in the fediverse. If you don't, you can sign up here.

youtube.com/watch?v=5KdWhDpeQv

1:04:53 のスライドで

under some regularity conditions

と書いてあるのが曲者で、混合正規分布モデルのような機械学習の文脈で出て来る確率分布モデルの多くはその条件を満たしていないんですね。

だから、サンプルサイズを大きくしても、事後分布はシミュレーションで全然収束しないかもしれない。

そういう状況であっても、事後予測分布はよい振る舞いをするというのが、渡辺澄夫さんの定理。

事後分布はパラメーターの確率分布。多分、パラメーターの推定は中途半端な発想で、もっと普遍的な確率分布の推定という発想で考えないと混乱や誤解をし易くなると思う。

混合正規分布モデルではサンプルサイズ100万でも事後分布が奇妙な形をしている場合があります。それは混合正規分布モデルの特異点の影響。

続く

nbviewer.jupyter.org/gist/genk
の一番最後の例が、1次元の超単純な混合正規分布モデルでサンプルサイズ100万でも事後分布の形が奇妙な形のままの例があります。

指数型分布族の範囲内(正規分布、ガンマ分布、二項分布、Poisson分布、…)では事後分布がデルタ函数に収束することはシミュレーションで簡単に確認できます。

しかし、複雑なモデルになると、事後分布は奇怪な挙動をすることがよくあります。

私も実際に尤度函数=一様事前分布の場合の事後分布の形を数値計算で色々見てみるまで、事後分布がどういう感じで変な形になるかを全然認識できてなかったです。

mathtod.online/media/qSDzIYA9v mathtod.online/media/2V7jmvnPX

渡辺澄夫さんの教科書に書いてある漸近挙動を見ると、

モデルが正則でなくて、特異点を持つ場合に収束が遅くなる

の**ではなく**、

特異点がある場合の方が収束が速い

んですね。p.117の定理13によれば、汎化損失 $G_n$ について($\beta=1$ のとき)、
$$
E[G_n] = L(w_0) + \frac{\lambda}{n} + o(1/n)
$$で、$\lambda$ はp.103で定義されている実対数閾値で、モデルが正則なら $\lambda=d/2$ = (モデルのパラメーターの個数)/2 となり、$w=w_0$ でのFisher情報行列の固有値のうち $s$ 個が $0$ になるならば(モデルが正則ではない場合には) $\lambda=(d-s)/2$ となって正則な場合より $\lambda$ が小さくなるんですね。

最も単純な1次元の2つの分散が等しい正規分布の混合モデル

x = (1-a)Normal(0,1) + a Normal(b,1)

で $a$ も $b$ も小さい場合(特異点に近い場合)に、ベイズ推定を行ってみると、事後分布の形は単純な単峰型にはならず、WAICを計算するときの $2n V_n$ の期待値が正則な場合の $4$ から $2$ 程度に下がることも数値的に確認できているような気がします。次のリンク先を見て下さい。

nbviewer.jupyter.org/gist/genk
混合正規分布モデルの最尤法とベイズ法による推定

最も簡単な1次元の場合です。

プロットで最尤法との比較もしています。サンプルを生成した真の確率分布が確率モデルのFisher情報行列が退化する点に近い場合には、最尤法による「パラメーターの推定」は恐ろしく不安定になることもわかります。パラメーターの推定結果よりも、予測分布の方が大事。

黒木玄 Gen Kuroki @genkuroki

注意:Fisher情報量(行列)がぴったり0の固有値を持たなくても、扱っているサンプルサイズとスケールで「ほぼ0とみなされる固有値」を持てば、実質的にその確率モデルは特異点を持っているのと同じようなことになります。

サンプルサイズを大きくすると、理想的にはすぐそばにあるFisher情報量行列が退化した点の影響は無くなるはずなのですが、実際に数値実験すれば尤度函数の形はずっと単峰型にならないというようなことが起こる。

正則じゃないモデルを使うととても悪いことが起こりそうなのですが、ベイズ統計の一般論(渡辺澄夫さんの仕事)から、むしろ収束が速くなるという素晴らしいことが起こる可能性があるわけです。

何か誤解していたら、教えて下さい。私はこの分野についてはど素人。

· Web · 1 · 2

汎化損失 $G_n$ のサンプルの取り方について平均を取った期待値は
$$
E[G_n] = L(w_0) + \frac{\lambda}{n} +o(1/n)
$$という漸近挙動を持ち、これは小さい方が予測分布の精度が高い。だから、漸近的に $E[G_n]$ は実対数閾値 $\lambda$ が小さい方が小さくなります。

パラメーター数 $d$ の正則モデルでは、$\lambda=d/2$ で、Fisher情報量行列の0でない固有値の個数を $k$ とすると $\lambda=k/2$ となります。Fisher情報量行列の退化度が大きければ大きいほど $\lambda$ は小さくなる。

私による $\lambda$ の計算例が次のリンク先のPDFの終わりの方の例1.1, 1.2にあります。

genkuroki.github.io/documents/

このノートを読めば、渡辺澄夫さんの本の難しい部分(の特異点解消を使っていること以外)を大学1年レベルの初等的な計算に置き換えることができます。

機械学習の文脈で出て来る確率モデルは特異点まみれ。(この点は渡辺澄夫さんのウェブサイトに置いてある文書では最初に強調されていることが多い。)

もしかしたら、そういうことが、意外な形で機械学習が色々うまく行ってしまうことと関係しているのかもしれませんね。

確率モデルの定義はパラメーター $w$ 付きの $x$ に関する確率分布 $p(x|w)$ です。 $x$ については離散的であっても連続的であってもどうでもよいのですが、$w$ は連続パラメーターであることは仮定しておきます。

モデルの正則性の条件は、どちらかと言えば、$x$ の方ではなく、パラメーター $w$ の方に関する条件なので、$x$ について離散的な確率分布を扱っているか、連続的な確率分布を扱っているかと、モデルの正則性は何も関係ありません。

続く

$w=w_0$ におけるFisher情報量行列 $I(w_0)=[I_{ij}(w_0)]$ はKullback-Leibler情報量$$
D(w_0||w) = \int p(x|w_0)\log\frac{p(x|w_0}{p(x|w)}\,dx
$$の $w=w_0$ でのTaylor展開$$
D(w_0||w)=\frac{1}{2}\sum_{i,j} I_{ij}(w_0)(w_i-w_{0,i})(w_j-w_{0,j}) + \cdots
$$で定義されます。$I(w_0)$ の固有値は0以上の実数になります。そのどれかが0になる場合が正則ではないケースです。

$D(w_0||w)$ は確率分布 $p(x|w)$ と確率分布 $p(x|w_0)$ の「違い」を表わしており、0以上になり、$D(w_0||w_0)=0$ を満たしています。テイラー展開の最初の非自明な項は二次の項になり、本質的にその二次の項がFisher情報量です。Fisher情報量はKL情報量の局所的な様子を記述している。

この手のことを理解するときの基礎はKullback-Leibler情報量であり、その意味は大偏差原理の最も簡単な例であるSanovの定理を知らないとわからないという仕組みになっています。

Sanovの定理(もしくはCramerの定理)は、統計学で必要な確率論の素養である「大数の法則」「中心極限定理」の次くらいに基本的だと思う。

これも学部2~3年生で読めそうな解説文が(英語で書かれたものも含めて)見付からなかったので自前で書きました。

genkuroki.github.io/documents/

これまさに機械学習の話。

確率分布 $q(x)$ で生成されたサンプルに見えるような乱数を生成するプログラム $p^*(x)$ (予測分布)を作る話。その精度は $D(q||p^*)$ で測られる(小さいほどよい)。

真の乱数をサンプルから推定(学習)で作ったコンピューター上の乱数発生器でシミュレートする話。

自分で書いた解説文は全部書き直したくなる。たぶん、読者のことを考えたら、構成を変えて、改めて書き直した方がよいのですが、そういう暇はなし。

実際に推定=学習によって作られる乱数発生器はパラメーター付きのものであることが多いです。

入力 $x$ ごとに乱数 $y$ を生成する確率分布 $q(y|x)$ で生成されたサンプルを扱う場合の確率モデルは、学習によって調節したいパラメーター $w$ と「入力」パラメーター $x$ を持つ「出力」$y$ に関する確率分布 $p(y|x,w)$ であり、予測分布は $p_*(y|x)$ の形になる。入力 $x$ を与えるごとに出力 $y$ の確率分布が決まる。

これの最も簡単な場合は、最小二乗法による線形回帰でしょう。予測分布は $x$ の値を決めるごとに平均 $a+bx$ で分散 $\sigma$ の正規分布を返すようになる。($a$, $b$, $\sigma$ がモデルのパラメーター。)

これより圧倒的に複雑な場合には、囲碁の局面を入力として与えるごとに次の一手の確率分布を返す人間の棋譜を学習したコンピューター囲碁のプログラムなんかがあります。

この手の話は統計学から機械学習まで全部似たような数学の話だと思えます。

混合正規分布モデル$$
p(x|a,b)\\=(1-a)\frac{\exp(-x^2/2)}{\sqrt{2\pi}}\\+a\frac{\exp(-(x-b)^2/2)}{\sqrt{2\pi}}
$$の場合には $a=0$ または $b=0$ のモデルはすべて同じ確率分布を与えます。

だから、$a=0$ のときには $b$ をどのように動かしても確率分布は変化しないし、$b=0$ のとき $a$ をどのように動かしても確率分布は変化しません。

以下 $w=(a,b)$ と書きます。

$w_0=(0,b_0)$ のとき、$w=(0,b)$ について $D(w_0||w)$ は一定の0になります。だから $w_0$ はモデルの特異点になります。$w_0=(a_0, 0)$ も同様に特異点になります。