閃 き

閃き- blog

きらびやかに、美しく、痛烈に.

ベイズ推定の流れをまとめる(尤もらしさと不確実性)

https://www.sciencenews.org/sites/default/files/2016/05/main/articles/052816_bayesian-opener_free.jpg

ベイズ推定とは?

ベイズ推定の目的と主眼をまとめると、次のようになります。

  • ベイズ推定の目的
    確率変数  X の真の分布  q(x) を、予測分布  p^{*}(x) で推定する。
    また、推定プロセスで生じる誤差や、推定結果に対する信頼性を評価したい。

このポストでは、『ベイズ統計の理論と方法』(渡辺澄夫, 2012)の内容を基に、ベイズ推定の基本の流れを整理するとともに、ベイズ推定で行われる「尤度最大化」と「情報量最小化」は同じであることを軸に、各統計量についての解説・解釈を述べたいと思います。

ベイズ統計の理論と方法

ベイズ統計の理論と方法

これから言及する「ベイズ推定の流れ」を、簡単にまとめました。

ベイズ推定の流れ」

  • 真の分布    :   q(x)

に対して、

  • 確率モデル  :  p(x|w)
  • 事前分布   :  \varphi(w)

を仮定したとき、

  • データ(標本) X^{n} := \left\{ X_1, \dots ,X_n \right\}

を用いて、以下の分布・統計量を求める。

  • 事後分布   :  p(w|X_n)
  • 予測分布   :  p^{*}(x)
  • 期待損失関数 :  L(w)
  • 経験損失関数 :  L_n (w)
  • 期待誤差関数 :  K(w)
  • 経験誤差関数 :  K_n(w)
  • 汎化損失   :  G_{n}
  • 経験損失   :  T_{n}
1. 事後分布  p(w|X_n)

 まず、確率モデル  p(x|w) と事前分布  \varphi(x) から、パラメータ  w の事後分布  p(w|X_n) を導出します。ベイズの定理より、

$$ \begin{eqnarray} p(w|X_n) & = & \frac{ p(X_{n}|w)\varphi(w) }{ p(X_{n}) } \\ \\ p(w|X_n) & = & \frac{ p(X_{n}|w)\varphi(w) }{ \int_{w} p(X_{n}|w)\varphi(w) dw } \end{eqnarray} $$

となります。さらに、右辺の分母を正規化定数  Z とおけば、事後分布は以下のように定義することができます。

$$ \begin{eqnarray} p(w|X_n):=\frac{1}{Z} p(X_n|w)\varphi(w) \end{eqnarray} $$ ただし、 $$ \begin{eqnarray} Z:=\int_{w} p(X_{n}|w)\varphi(w) dw \end{eqnarray} $$

2. 予測分布  p^{*}(x)

 事前分布  p(w) を事後分布  p(X_n) におきかえて、再び確率モデル  p(X_n|w) のパラメータ  w に対する期待値をとります。

$$ \begin{eqnarray} p^{*}(x)=p(x|X_n):=\int_{w} p(x|w)p(w|X_n) dw \end{eqnarray} $$

ここまでの流れをまとめると、次のようになります。

  1. 確率モデル  p(x|w)事前分布  \varphi(w) を設定する。
  2. 確率モデル  p(x|w) と事前分布  \varphi(w) によって、事後分布  p(w|X_{n})を導出する。
  3. 確率モデル  p(x|w) と事後分布  p(w|X_{n}) によって、予測分布  p^{*}(x) を導出する。
  4. 予測分布  p^{*}(x) によって、真の分布  q(x) を推定する。

次に、確率モデルの推定誤差を定量化する統計量(標本に対する関数) L(~), K(~)や、推定誤差を小さくするパラメータ  w の推定量  w_0 を求めてみましょう。

3. 損失関数  L(~)

 「パラメータ  w の対数尤度の  X に対する期待値」として、損失関数  L(~) を定義します。損失関数  L(~) は、確率モデル  p(x|w) とパラメータ  w によって、決定されます。 L(w)期待損失関数 L_n(w)経験損失関数と呼びます。実際には、真の分布  q(x) がわからず期待損失関数  L(w) を求められないので、データ  X^{n} を用いて、経験損失関数  L_n(w) を導出することになります。

$$ \begin{eqnarray} L(w) & := & E_{X} \left[ -\log p(X|w) \right] \\ \\ L_n(w) & := & \frac{1}{n} \sum_{i=1}^{n} -\log p(X_i|w) \end{eqnarray} $$

よって、データ  X^{n} から導出される経験損失関数  L_n(w) に対して、パラメータ  w最適化問題を考えることができます。確率モデル  p(x|w) における、パラメータ  w \in W定量  w_0 を以下で定めます。

$$ \begin{eqnarray} w_0:=\underset{w \in W}{\rm argmin} ~ L_n(w) \end{eqnarray} $$

  • 定量  w_0 について:
      -\log p(X_i|w) は、確率モデル  p(X_i|w) によって推定された「データ  X_i に対する情報量(曖昧さ、不確実性)」を示しています。すなわち、ベイズ推定における推定量  w_0 は、「データ  X^{n} に対する不確実性を、平均的に最小化するようなパラメータ  w」であると意味づけられます。

  • 損失関数  L(w) について:
      L(w) は、「あるパラメータ  w を与えたとき、確率モデル  p(X^{n}|w) がデータ  X^{n} に対してもつ平均的な不確実性」を表していると解釈できます。

4. 誤差関数  K(~)

「任意のパラメータ  w \in W に対する推定量  w_0 との誤差」として誤差関数  K(~) を定義します。まず、パラメータ  w と その推定量  w_0 との誤差を、次の対数尤度比で定義します。

$$ \begin{eqnarray} f(x,w):= \log \frac{ p(x|w_0) }{ p(x|w) } \end{eqnarray} $$

 対数尤度比  f(x, w) を用いて、誤差関数  K(~) を定義します。 K(w)期待誤差関数 K_n(w)経験誤差関数と呼びます。ここで、実際には真の分布  q(x) がわからず期待誤差関数  K(w) を求められないから、データ  X^{n} を用いて、経験誤差関数  K_n(w) を導出することになります。

$$ \begin{eqnarray} K(w) & := & E_{X} \left[ f(X,w) \right]=E_{X} \left[ \log \frac{ p(X|w_0) }{ p(X|w) } \right] \\ \\ K_{n}(w) & := & \frac{1}{n} \sum_{i=1}^{n} f(X_i, w)=\frac{1}{n} \sum_{i=1}^{n} \log \frac{p(X_i|w_0)}{p(X_i|w)} \end{eqnarray} $$

  • 対数尤度比  f(x, w) について:
    対数尤度比を分解すると、 $$ \begin{eqnarray} f(x, w) := \log \frac{ p(x|w_0) }{ p(x|w) } = \left[ -\log p(x|w) \right] - \left[ -\log p(x|w_0) \right] \geq 0 \end{eqnarray} $$ と表されるため、これは、あるパラメータ  w を与えたときの確率モデル  p(x|w) がもつ「尤もらしさ」を、「尤もらしさの上限」で正規化した値を示します。別の見方をすると、対数尤度比: f(x, w) は、確率モデル  p(X^{n}|w) がもつ「データ  X^{n} に対する不確実性」を、「最小の不確実性」で正規化した値とも考えられます。
  • 誤差関数  K(w) について:
     K(w) は、「あるパラメータ  w を与えたとき、確率モデル  p(X^{n}|w) がデータ X^{n} に対してもつ平均的な(正規化された)尤もらしさ」を表していると解釈できます。
5. 汎化損失・経験損失

 「予測分布  p^{*}(x) と真の分布  q(x) との誤差」として、「推定方法」がもつ損失を定義します。 G_n汎化損失 T_n経験損失と呼びます。

$$ \begin{eqnarray} G_{n} & := & E_{X} \left[ -\log p^{*}(X) \right] \\ \\ T_{n} & := & \frac{1}{n} \sum_{i=1}^{n} - \log p^{*}(X_i)  \end{eqnarray} $$

  • 汎化損失  G_n について:
     -\log p^{*}(X_i) は、予測分布  p^{*}(X) によって推定された「データ  X_i に対する情報量(曖昧さ、不確実性)」を示します。すなわち、汎化損失  G_n は、「パラメータ  w とデータ  X_i を与えたとき、確率モデル  p(X_n|w) から推定された予測分布  p^{*}(X) が、データ  X^{n} に対してもつ平均的な不確実性」を表していると解釈できます。

  • 汎化損失  G_n と KL-距離  D_{KL}(q \parallel p^{*}) の比例関係
    $$ \begin{eqnarray} G_n &=& E_{X} [ -\log p^{*}(X) ] \\ \\ &=& \int_{X} q(x) \cdot -\log p^{*}(X) dx \\ \\ &=& - \int_{X} q(x) \log q(x) dx + \int_{X} q(x) \log \frac{q(x)}{p^{*}(x)} dx \\ \\ &=& H(X)+D_{KL}(q \parallel p^{*}) \end{eqnarray} $$ ここで、確率モデル  p(x|w) と上式の関係を考えると、 H(X)は、確率モデル  p(x|w) に依らないから無視できます。つまり、汎化損失  G_n X の真の分布  q(x) と予測分布  p^{*}(x) の間のカルバック・ライブラー距離(Kullback–Leibler divergence) D_{KL}(q \parallel p^{*})は、確率モデル  p(x|w) に対して比例関係にあります。

$$ \begin{align} G_n \propto D_{KL}(q \parallel p^{*}) \end{align} $$

  • KL-距離  D_{KL}(q \parallel p^{*}) について:
    真の分布  q(x) と予測分布  p^{*}(x) の間のカルバック・ライブラー距離(Kullback–Leibler divergence)の定義式は、 $$ \begin{eqnarray} D_{KL}(q \parallel p^{*}) := \int_{X} q(x) \log \frac{q(x)}{p^{*}(x)} dx \end{eqnarray} $$ ですから、これは「対数尤度比  \log \frac{q(x)}{p^{*}(x)} の確率変数  X に対する期待値」として解釈できます。例として、下図右は、2つの正規分布  p(x) q(x) について、それぞれの分布に従う確率変数  X の各値を横軸に、それによって計算される対数尤度比を縦軸にとったグラフを示しています。よって、 D_{KL}(q \parallel p) は、その期待値ですから、下図右で青く塗りつぶされた部分の「確率重みつき面積(期待値)」となります。

https://www.science-emergence.com/media/images/src/381.png