0
応用数学解説
文献あり

PRML1.68式の導出方法をガッツリ考えてみる。

20
0
$$$$

やりたいこと

PRML本に出てくる以下の1.68式が不明のため、導出を試みます。

<1.68式>

$$ p(t|x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})= \int p(t|x, \boldsymbol{\rm{w}}) p(\boldsymbol{w}|\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}) \rm{d}\boldsymbol{\rm{w}} $$

事後予測分布と事後分布の一般的な関係性

1.68式を証明する前に、事後予測分布と事後分布の一般的な関係性を述べます。
※PRML本の記号と混同しないように、このパートだけ敢えて別の記号を用いております。

$n$個の与えられたデータの確率変数$\boldsymbol{Y}=(Y_1,Y_2,...,Y_n)$と予測したい確率変数$Y$は、パラメータを表す確率変数$\Theta$の下で独立とします。すなわち、それぞれの実現値を$\boldsymbol{y},y,\theta$と表記したとき、その条件付確率について
$$ p(y,\boldsymbol{y}|\theta)=p(y|\theta )p(\boldsymbol{y}|\theta) $$
が成り立つとします(このような性質を条件付独立といいます)。
このとき、事後予測確率$p(y|\boldsymbol{y})$は事後確率$p(\theta|\boldsymbol{y})$を用いて次のように表すことができます。
$$ p(y|\boldsymbol{y}) =\int p(y|\theta )p(\theta|\boldsymbol{y})d\theta $$

以下のようにして求めることができます。
$$ \begin{eqnarray} p(y|\boldsymbol{y}) = \frac{p(y,\boldsymbol{y})}{p(\boldsymbol{y})} &=& \frac{1}{p(\boldsymbol{y})} \int p(y,\boldsymbol{y},\theta)d\theta \\&=& \frac{1}{p(\boldsymbol{y})} \int p(y,\boldsymbol{y}|\theta)p(\theta )d\theta \\&=& \frac{1}{p(\boldsymbol{y})} \int p(y|\theta )p(\boldsymbol{y}|\theta)p(\theta )d\theta \\&=& \frac{1}{p(\boldsymbol{y})} \int p(y|\theta )p(\boldsymbol{y},\theta )d\theta \\&=& \int p(y|\theta ) \frac{p(\boldsymbol{y},\theta )}{p(\boldsymbol{y})}d\theta \\&=& \int p(y|\theta) p(\theta|\boldsymbol{y})d\theta \end{eqnarray} $$
$$□$$

右辺の意味

ところで、この右辺は$p(y|\theta)$$p(\theta|\boldsymbol{y})$で確率加重平均していることから、
$$ p(y|\boldsymbol{y}) =E[p(y|\Theta)|\boldsymbol{Y}=\boldsymbol{y}] $$
のように表記することもできます。ここで、$E[\cdot|\boldsymbol{Y}=\boldsymbol{y}]$は条件付確率密度関数$p(\theta|\boldsymbol{y})$を持つ確率変数の期待値です。つまり、ある関数$g(\theta)$について、
$$ E[g(\Theta)|\boldsymbol{Y}=\boldsymbol{y}]:= \int g(\theta) p(\theta|\boldsymbol{y})d\theta $$
で定義される条件付期待値です。

$p(y|\theta)$確率モデルと呼ばれます。上記の算式は、与えられたデータ$\boldsymbol{y}$から事後分布($\boldsymbol{y}$が与えられた下での$\Theta$の分布)を推定し、事後分布から作成した($\boldsymbol{y}$が与えられた下での)確率モデル$p(y|\Theta)$の条件付期待値が事後予測分布$ p(y|\boldsymbol{y})$になることを意味していると言えます。

$$ \text{データ}\boldsymbol{y} \longrightarrow \text{確率モデルの設定と事後分布の推定} \longrightarrow \text{事後予測確率}p(y|\boldsymbol{y}) \text{を確率モデルの条件付期待値によって推定} $$
<補足>
多くの機械学習の書籍等では記号の煩雑さを避けるため、確率変数や条件付であることを明記せずに$E[p(y|\theta)]$のような表記がなされることが多いようです。
この場合でも上記の条件付期待値$E[p(y|\Theta)|\boldsymbol{Y}=\boldsymbol{y}]$と同じ式を意味します。

1.68式の証明にあたっての課題

さて、この等式$p(y|\boldsymbol{y}) =\int p(y|\theta )p(\theta|\boldsymbol{y})d\theta $を1.68式にそのまま適用しようとすると上手く行きません。
例えば、$y$$x,t$に、$\boldsymbol{y}$$\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}$に置き換えるだけでは$p(x,t|\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})$となって1.68式の左辺$ p(t|x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})$と一致せず、
$y$$t|x$に、$\boldsymbol{y}$$\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}$に置き換えても$p(t|x|\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})$のような表記となり、一般に見られない記号となってしまうため、この式が$ p(t|x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})$とどう関係するのか更に検討しなければなりません。

そのため、以下のような仮定を設定して1.68式の証明を試みることとします。

記号の定義と仮定

1.68式に出てくる記号とそれぞれの仮定を整理しておきます。
まず、記号はPRML本に基づくと以下の通りです。

<記号の定義>

訓練データセット

  • $ \boldsymbol{\rm{x}}=(x_1,...,x_N)^{\rm{T}}$$N$個の訓練データの入力値
  • $ \boldsymbol{\rm{t}}=(t_1,...,t_N)^{\rm{T}}$$N$個の訓練データの出力値
  • $(\boldsymbol{\rm{x}},\boldsymbol{\rm{t}})$:訓練データセット(入力値と出力値の組み合わせ)

予測データセット

  • $x$:予測データの入力値
  • $t$:予測データの出力値(入力値とパラメータから出力される値)
  • $(x,t)$:予測データセット(入力値と出力値の組み合わせ)

パラメータセット

  • $\boldsymbol{\rm{w}}$:(訓練データセットから推定される)パラメータ

PRML本では明記されておりませんが、通常は訓練データセット・予測データセット・パラメータには以下の関係性が仮定されます。

<仮定①>

$x$と訓練データ$(\boldsymbol{\rm{x}},\boldsymbol{\rm{t}})$は互いに独立である。すなわち、
$$ p(x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}) =p(x)p(\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}) $$

これは予測データセットの入力値$x$が訓練データセット$(\boldsymbol{\rm{x}},\boldsymbol{\rm{t}})$とは関連しないことを意味します。

<仮定②>

$x$とパラメータ$\boldsymbol{\rm{w}}$は互いに独立である。すなわち、
$$ p(x,\boldsymbol{\rm{w}}) =p(x)p(\boldsymbol{\rm{w}}) $$

パラメータ$\boldsymbol{\rm{w}}$は訓練データセット$(\boldsymbol{\rm{x}},\boldsymbol{\rm{t}})$のみで推定されることから、訓練データセットと独立な$x$はパラメータ$\boldsymbol{\rm{w}}$とも独立となります。

<注意>
予測データの出力値$t$はパラメータ$\boldsymbol{\rm{w}}$およびこれを推定するための訓練データセット$(\boldsymbol{\rm{x}},\boldsymbol{\rm{t}})$によって予測される値であることから、$t$については仮定①②を設定せず、入力値$x$についてのみ仮定①②を設定していることを補足しておきます。

<仮定③>

予測データセット$(x,t)$と訓練データセット$(\boldsymbol{\rm{x}},\boldsymbol{\rm{t}})$は、パラメータ$\boldsymbol{\rm{w}}$が与えられた条件の下で互いに独立である。すなわち、
$$ p(t,x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}|\boldsymbol{\rm{w}}) =p(t,x|\boldsymbol{\rm{w}})p(\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}|\boldsymbol{\rm{w}}) $$

訓練データセットと予測データセットはパラメータが固定されれば互いに関連しないという条件付独立を仮定します。
これは前記の命題1の条件付独立$ p(y,\boldsymbol{y}|\theta)=p(y|\theta )p(\boldsymbol{y}|\theta) $と同じ仮定となります。

1.68式の証明

以上の仮定のもと、1.68式を証明していきます。

まず、左辺$p(t|x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})$を以下のように式変形していきます。
$$ \begin{eqnarray} p(t|x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}) &=& \frac{p(t,x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})}{p(x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})}\\ &=& \frac{1}{p(x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})} \int p(t,x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}},\boldsymbol{\rm{w}})\rm{d}\boldsymbol{\rm{w}}\\ &=& \frac{1}{p(x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})} \int p(t,x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}|\boldsymbol{\rm{w}})p(\boldsymbol{\rm{w}})\rm{d}\boldsymbol{\rm{w}}\\ &=& \frac{1}{p(x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})} \int p(t,x|\boldsymbol{\rm{w}}) p(\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}|\boldsymbol{\rm{w}}) p(\boldsymbol{\rm{w}})\rm{d}\boldsymbol{\rm{w}}\\ \end{eqnarray} $$
最後の等式は仮定③「$(t,x)$$(\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})$$\boldsymbol{\rm{w}}$の下での条件付独立である」ことを用いました。
ここで、
$$ \begin{eqnarray} p(t,x|\boldsymbol{\rm{w}}) =\frac{p(t,x,\boldsymbol{\rm{w}})}{p(\boldsymbol{\rm{w}})} =p(t|x,\boldsymbol{\rm{w}}) \frac{p(x,\boldsymbol{\rm{w}})}{p(\boldsymbol{\rm{w}})} \\ p(\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}|\boldsymbol{\rm{w}}) =\frac{p(\boldsymbol{\rm{t}},\boldsymbol{\rm{x}},\boldsymbol{\rm{w}})}{p(\boldsymbol{\rm{w}})} =p(\boldsymbol{\rm{w}}|\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}) \frac{p(\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})}{p(\boldsymbol{\rm{w}})} \end{eqnarray} $$
を代入すると次式が得られます。
$$ \begin{eqnarray} p(t|x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}) &=& \frac{1}{p(x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})} \int \Big( p(t|x,\boldsymbol{\rm{w}}) \frac{p(x,\boldsymbol{\rm{w}})}{p(\boldsymbol{\rm{w}})} \Big) \Big( p(\boldsymbol{\rm{w}}|\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}) \frac{p(\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})}{p(\boldsymbol{\rm{w}})} \Big) p(\boldsymbol{\rm{w}}) \rm{d}\boldsymbol{\rm{w}}\\ &=& \int p(t|x,\boldsymbol{\rm{w}}) p(\boldsymbol{\rm{w}}|\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}) \Big( \frac{p(x,\boldsymbol{\rm{w}})}{p(\boldsymbol{\rm{w}})} \frac{p(\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})}{p(x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})} \Big) \rm{d}\boldsymbol{\rm{w}} \end{eqnarray} $$
余分な$\Big( \frac{p(x,\boldsymbol{\rm{w}})}{p(\boldsymbol{\rm{w}})} \frac{p(\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})}{p(x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})} \Big)$が出てきました。これについては、

  • 「仮定②$x$$\boldsymbol{\rm{w}}$が互いに独立である」ことより、 $p(x,\boldsymbol{\rm{w}})=p(x)p(\boldsymbol{\rm{w}})$
  • 「仮定①$x$$(\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})$が互いに独立である」ことより、$p(x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})=p(x)p(\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})$

となるので、
$$ \Big( \frac{p(x,\boldsymbol{\rm{w}})}{p(\boldsymbol{\rm{w}})} \frac{p(\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})}{p(x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})} \Big) = \Big( \frac{p(x)p(\boldsymbol{\rm{w}})}{p(\boldsymbol{\rm{w}})} \frac{p(\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})}{p(x)p(\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})} \Big) =1 $$
よって、求める等式
$$ p(t|x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})= \int p(t|x, \boldsymbol{\rm{w}}) p(\boldsymbol{w}|\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}) \rm{d}\boldsymbol{\rm{w}} $$
が得られました。
$$□$$

左辺と右辺それぞれの意味

1.68式の左辺$p(t|x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})$は訓練データセット$(\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})$と予測データの入力値$x$が与えられた下での$t$の確率(事後予測確率)です。
一方、右辺の積分は$p(t|x, \boldsymbol{\rm{w}})$$p(\boldsymbol{w}|\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})$で確率加重平均していることから、
$$ p(t|x, \boldsymbol{\rm{w}}) =E[p(y|x,\boldsymbol{\rm{W}})|\boldsymbol{\rm{T}}=\boldsymbol{\rm{t}},\boldsymbol{\rm{X}}=\boldsymbol{\rm{x}}] $$
のように表記することもできます。ここで、$E[\cdot|\boldsymbol{\rm{T}}=\boldsymbol{\rm{t}},\boldsymbol{\rm{X}}=\boldsymbol{\rm{x}}]$は条件付確率密度関数$p(\boldsymbol{w}|\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})$を持つ確率変数の期待値です。つまり、ある関数$g(w)$について、
$$ E[g(\boldsymbol{\rm{W}})|\boldsymbol{\rm{T}}=\boldsymbol{\rm{t}},\boldsymbol{\rm{X}}=\boldsymbol{\rm{x}}]:= \int g(\boldsymbol{\rm{w}}) p(\boldsymbol{w}|\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})\rm{d}\boldsymbol{\rm{w}} $$
で定義される条件付期待値です。
$p(t|x, \boldsymbol{\rm{w}})$確率モデルと呼ばれます。上記の算式は、与えられた訓練データセット$(\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})$から事後分布を推定し、事後分布から作成した確率モデル$p(y|x,\boldsymbol{\rm{W}})$の条件付期待値が事後予測分布$p(t|x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})$になることを意味していると言えます。
$$ \text{訓練データ}(\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}) \longrightarrow \text{確率モデルの設定と事後分布(パラメータwの分布)の推定} \longrightarrow \text{入力値}x\text{が与えられた下での事後予測確率}p(t|x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}) \text{を確率モデルの条件付期待値によって推定} $$

<補足>
多くの機械学習の書籍等では記号の煩雑さを避けるため、確率変数や条件付であることを明記せずに$E[p(y|\boldsymbol{\rm{w}})]$のような表記がなされることが多いようです。
この場合でも上記の条件付期待値$E[p(y|x,\boldsymbol{\rm{W}})|\boldsymbol{\rm{T}}=\boldsymbol{\rm{t}},\boldsymbol{\rm{X}}=\boldsymbol{\rm{x}}]$と同じ式を意味します(確かにこの表記は冗長すぎる気がしますね)。
機械学習系の数学では期待値の記号を簡略化することが多いため、文脈からどの確率密度関数で期待値を計算しているかを判断する必要があります。

疑問

「1.68式の証明にあたっての課題」のところで述べましたが、命題1の等式$p(y|\boldsymbol{y}) =\int p(y|\theta )p(\theta|\boldsymbol{y})d\theta $に対して形式的に「$y$$t|x$」、「$\boldsymbol{\rm{y}}$$(\boldsymbol{\rm{x}},\boldsymbol{\rm{t}})$」、「$\theta$$\boldsymbol{\rm{w}}$」に置き換えることで、
$$ p(t|x|\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})= \int p(t|x| \boldsymbol{\rm{w}}) p(\boldsymbol{w}|\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}) \rm{d}\boldsymbol{\rm{w}} $$
という式が出てきます。もし一般の事象$A,B,C$に対して$P(A|B|C)=P(A|B,C)$が成り立てば、

$$ \begin{eqnarray} p(t|x|\boldsymbol{\rm{t}},\boldsymbol{\rm{x}})&=&p(t|x,\boldsymbol{\rm{t}},\boldsymbol{\rm{x}}) ,\quad p(t|x| \boldsymbol{\rm{w}})&=&p(t|x, \boldsymbol{\rm{w}}) \end{eqnarray} $$
より仮定①②を満たさずとも仮定③のみで1.68式が導かれます。しかしながら、一般にP(A|B|C)が定義されるのか調べても分かりませんでした。

※なお、仮に$B,C$が独立な場合に$P(A|B|C)=P(A|B,C)$が成り立つとしたら、仮定①②(および仮定③)によって1.68式が導かれます。

参考文献

[1]
C.M. ビショップ (著), パターン認識と機械学習 上
投稿日:211
更新日:211

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

数学の勉強用

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中