多摩川の辺りで働くデータサイエンティスト

ポートフォリオ的なもの(未完)

WAICの導出を追ってみる。その1

WAIC導出のモチベーション

WAICの導出を追ってみたいと思います。データ分析の周辺界隈では、良く中身は分からなくとも使えればいい的な発言を聴くことが多々ありますが、専門が違うならいざ知らず、自分の専門を使えればいいというのは余りにも志しが低すぎるし、そういったスタンスだと、文字通り日進月歩の状態にあるデータ分析界隈の進歩について行けなくなる(論文や教科書を読んでも中身が理解できず、素人向けの意図的に不明瞭(SF的な)説明を誰かがするまで待たないといけなくなる)のは明白なので、自分の勉強がてら(誤り恐れずに笑)追って見たいと思います。(まあ正直なところは、学習理論を類似の分野に持って行けば、論文の元ネタにでもならないかなという下心は満載ですが笑)

WAICの導出を追うための本としては、「ベイズ統計の理論と方法」(渡辺澄夫 著)を使います。この本一応は専門分野外の人にも分かる様に簡単に書かれたと前書きにあるのですが、多分専門分野外の人はほぼ間違いなく挫折すると思います。感覚的には機械学習の専門家でも応用寄りの人だと、結構な割合で証明を読み飛ばしたり、途中で諦めたりすることになるんじゃないかなと思います。(WAICの利用を目的とすると本書を読むのは「コスパ悪いな」的になると思います。)

というのも、序盤から自由エネルギーやら、分配関数やら統計力学の援用が当然のごとく出てきますし、本丸のWAICの導出では、多様体やら、特異点解消定理やら、メリン変換やら、ゼータ関数やら色んな用語が出てきてほぼ間違いなく面を喰らうと思います。また、時々行間が飛び過ぎていたり、補題と定義と定理の連続に、まるでRPGで次から次へと出て来るダンジョンやボスを攻略している様な気持ちになります。(私だけか笑) しかしながら、本書は解説が厚く、式変形も基本的には平易に仕上がっていて、大分わかりやすい様に思います。

とりあえず、私としては全体の流れを掴みつつも、必要な行間は埋めることを目標として、内容を整理できればと考えています。

WAICの導出の構成

WAICの導出の大雑把な構成は

  1. 対数尤度比関数f(x,w)特異点解消定理を用いて、f(x,w)=f(x,g(u))=u^{k}a(x,u)へと変形する。(ここで、WAICの前提となる「相対的に有限な分散」を用いる。)

  2. 経験誤差関数K_{n}(w)=\frac{1}{n}\sum^{n}_{i=1}f(X_{i},w)
    
nK_{n}(w)=n{u^{2k} - \sqrt{n}u^{k}\xi_{n}(u)},  \quad
\xi_{n}(u) = \frac{1}{\sqrt{n}}\sum^{n}_{i=1}{u^{k} - a(X_{i},u)}
    と変形する。 また、事前分布\phi(w)
    \phi(w)dw = |u^{h}|b(u)du
    と変形する。(ちなみに、正則の場合は、w_{0}近傍で、nK_{n}(w)を2次式で展開(平均値の定理使用)した際に、(w-w_{0})^{2}の係数行列Jが正則(逆行列や行列の\frac{1}{2}乗が定義可能)なので平方完成ができ、事後微小微分正規分布で近似でき、以後の導出がシンプルになる。)

  3. ちなみに、上記の\xi_{n}(u)は正規確率過程\xi(u)に法則収束する。(個人的には多分ここ重要)

  4. 分配関数を主要項と非主要項(o(exp(-\sqrt{n}))オーダーで0に収束)に分ける。

  5. 主要項の領域(\frac{1}{\sqrt{n}}よりもゆっくり0に収束する\epsilonに対して、K_{n}(w)\le\epsilonとなるwの領域)での、事後微小積分\Omega = exp(-nK_{n}(w))\phi(w)dw(正規化分配関数は\int\Omega dxと表される。)の挙動を調べて(メリン変換後の最大の極を調べると、主要な部分が分かり整理できる。)主要な部分を求めて整理する(定理9の証明)

  6. 繰り込まれた事後分布による期待値、スケーリング則を求める

  7. 汎化損失G_{n}、経験損失T_{n}汎関数分散V(\xi_{n}) = E_{X}[\langle ta(X,u)^{2}\rangle - \langle ta(X,u)\rangle^{2}]の挙動から、ベイズ統計学状態方程式とWAICを導出する。

となっていると思っています。著者の別の資料にありましたが、5.までが主要なところ(工夫満載なところ)なので、それ以降は粛々とといった所だと思います。

WAICの理解ポイント

WAICの導出は上記の様に導かれますが、理解するためのポイントを下記にまとめておきます。

  1. ベイズの定理の尤度をKLダイバージェンスのサンプルでの近似(経験誤差K_{n}(w))に置き換えて表現します。

  2. 広中の特異点解消定理を使いて、汎化誤差K(w)をパラメータuで、u^{2k}=\prod_{i} u^{2k_{i}} _{i}u^{h}=\prod_{i} u^{h_{i}} _{i}を用いて表現します。その時、パラメータがu_{i} \in (0,1)となる様にします。

  3. 経験誤差K_{n}(w)(KLダイバージェンスのサンプル近似)をK(w)とサンプルに依存する確率変数\xi_{n}で表現します(経験誤差関数の標準形)。ここで、\xi_{n}大数の法則で、n \to \infty正規分布に漸近する事に注意します。

  4. 経験誤差の標準形を用いてベイズの定理(事後微小微分\Omega(w) dw = exp( -n \beta u^{2k} + \sqrt{n} \beta u^{k} \xi_{n}(u))|u^{h}|b(u) du)を表現します。ここで、事後確率の大小について考えると n \to \inftyの時 u^{2k}が小さく、|u^{h}|が大きくなるuの事後確率が相対的に大きくなり、支配的になる事が分かります。ここで  u_{i} \in (0,1)であることから、k_{i}が大きく、h_{i}が小さいiについて、u_{i}0近傍で、それ以外のu_{j}1の近傍にあるuの事後分布が相対的に大きく支配的になります。このため \frac{h_{j} + 1}{2k_{j}}が最小となる添字aについて、u_{a} =0 近傍での挙動を調べる事ができれば(「ベイズ統計の理論と方法」では、メリン変換による解析接続によって挙動を調べます。)、事後分布(事後微小分布)の挙動を知る事が出来ます。

  5. 事後分布(n \to \inftyの極限)で確率変数 \xi_{n}積分が、尤度関数\log{p(x|w)}からなる多項式の平均によってあらわせるため、MCMCを用いれば、\xi_{n}が評価でき、これを用いてWAICを導出します。

結局のところWAICは汎化損失にベイズの定理のサンプルでのゆらぎに対する評価を加えたものになっています。

全体は決して短くはありませんが、ひとつひとつ整理していければなと思います。