条件付き期待値(conditional expectation)は、機械学習や統計の勉強をしているとしばしば訪れますが、なかなか理解するのに苦労する概念だと思います。
私自身も機械学習の勉強をしていて、有名なPRMLで条件付き期待値の話が登場した時、何ひとつ理解をすることができませんでした。
一方で、条件付き確率の期待値の話は機械学習における、EMアルゴリズムや変分推論といったパラメータ推論の話題で頻繁に登場し、この概念について理解してイメージできるようにしないと、機械学習の体系を学ぶことはできないと言えるでしょう。
この記事では、条件付き期待値を理解するための前提知識から入り、条件付き確率の定義、その後、条件付き期待値に成り立つ性質についてできるだけ分かりやすく、説明をしていきます。
条件付き期待値を理解するための前座
後半の方でも登場しますが、まず、条件付き期待値の定義について一度記載しておきます。
\begin{equation} \mathbb{E}_x [f | y] = \sum_x p(x | y) f(x) \end{equation}
(1)式が条件付き期待値の定義ですが、左辺は抽象的な感じがすごく、これを見て、条件付き確率について理解できる人は少ないと思います。
そもそも、条件付き期待値ってことは、2つの確率変数$x$と$x$が登場するのはわかるけど、(1)式に$f$が登場するのは何故なんだ?と思う人がいるかもしれません。
実際私も機械学習を学び始めた時はそのように思いました。しかし、それは期待値の定義を正確に理解できていないことが理由でした。
条件付き確率の期待値を理解するためには、きちんと期待値の定義を理解している必要があるので、まず期待値の話から戻って説明していきます。
確率の期待値の復習
確率の期待値について理解することが、条件付き期待値を理解するために必要です。正確には、確率の期待値について正確に理解している必要があります。
確率変数$X$の確率の期待値とはどのようなものか?と言われた時、どのように答えるでしょうか?
「確率変数$X$の取りうる値の平均」
と答える人は、確率変数の期待値について正確に理解できていません。ここで、もう一度確率変数の期待値について書いておきます。
確率変数$X$において、その確率変数の値$x$の関数$f(x)$の、確率分布p(x)のもとでの平均値を、f(x)の期待値$\mathbb{E}[f]$と呼び、下記のように定義する。
離散的確率分布の場合
\begin{equation} \mathbb{E} [f ] = \sum_x p(x ) f(x) \end{equation}
連続的確率分布の場合
\begin{equation} \mathbb{E} [f ] = \int p(x ) f(x) dx \end{equation}
つまり、ここで何がいいたいかというと、確率変数の期待値は、確率変数$X$ の値の、関数$f(x)$による重み付きの平均値となるということです。確率変数の期待値と言われた時に、「確率変数$X$の取りうる値の平均」と答えてしまう人は、確率変数$X$の期待値に、重みをつける任意の関数$f(x)$のそんざいを忘れてしまっています。
そのため、(1)式のような条件付き確率の期待値の、公式を見ると、何故$f$が入るのだろう?という風に思ってしまうわけです。
条件付き期待値の定義
やっとここまでで期待値の定義についておさらいできました。では、改めて条件付き期待値の定義を見ていきましょう。
2つの確率変数$X, Y$がある時、確率変数$Y$がある値$y$である条件の下で、確率変数$X$がとる期待値のことを条件付き確率といい、下記で定義します。
\begin{equation} \mathbb{E}_x [f | y] = \sum_x p(x | y) f(x) \end{equation}
ここまでくると、最初よりは少しはイメージできるのではないでしょうか。
左辺の$\mathbb{E}_x [f | y]$という値はやはり仰々しいですが、$\mathbb{E}_x $は、確率変数$X$について期待値をとることを示しています。$\mathbb{E}_x [f | y]$の$[f | y]$の部分は、確率変数$Y$の条件のもとでの、関数$f(x, y)$の期待値ということを示しています。
右辺は、期待値の定義の$p(x)$が$p(x | y)$に変わっただけなので、ここはそのままです。