理学敗北者の備忘録

数学、物理の早く知っておきたかったことなど

多項分布とディリクレ分布の性質

変分ベイズ学習(MLP,中島伸一)を読んでいていろんな確率分布を初めて見ましたが、重要そうなディルクレ分布や多項分布の性質をせっかく自分で考えたのでメモしておこうかなという次第です。文章中のベクトル文字が(なぜか)太字にならなかったので、ところどころ細いです。あしからず。


多項分布

多項分布は名の通り多項式が元ネタの確率分布です。

\begin{align} & M_N( \vb*x | \vb*\theta) := N! \prod_{k=1}^K \frac{ \theta_k^{x_k} }{ x_k! } \\ & 0 \leq \theta_k \leq 1 \qc \sum_{k=1}^K \theta_k = 1 \qc 0 \leq x \leq N \qc \sum_{k=1}^K x_k = N \end{align}

この確率分布が正規化(全ての変数を足し合わせて$1$になる)されていることは多項式展開

\begin{align} & 1 = \qty( \sum_{k=1}^K \theta_k )^N = \sum_{x_1 \cdots x_K}^{ x_1 + \cdots + x_K = N} \frac{N!}{ x_1 ! \cdots x_K! } \theta_1^{x_1} \cdots \theta_K^{x_K} = \sum_{x_1 \cdots x_K}^{ \sum_{k=1}^K x_k = N} N! \prod_{k=1}^K \frac{ \theta_k^{x_k} }{ x_k! } \end{align}

によって考えている$x_k$の条件と和の取り方が対応して、分布が正規化されていることが理解できるでしょう。


蛇足かもしれないですが多項式展開についても少し説明します。高校数学で馴染みのある二項展開

\begin{align} & (\alpha + \beta )^N = \sum_{x=0}^N \frac{N!}{x!(N-x)!} \alpha^x \beta^{N-x} \end{align}

を繰り返せば証明することができます。まず$ \alpha =\theta_1, ~ \beta = \theta_2 + \cdots \theta_K $として

\begin{align} & \qty( \sum_{k=1}^K \theta_k )^N = \sum_{x_1=0}^N \frac{N!}{x_1!(N-x_1)!} \theta_1^{x_1} \qty( \theta_2 + \cdots \theta_K )^{N-x_1} \end{align}

がなりたつので、$\qty( \theta_2 + \cdots \theta_K )^{N-x_1}$の項についてさらに

\begin{align} & \qty( \theta_2 + \cdots \theta_K )^{N-x_1} = \sum_{x_2=0}^N \frac{(N-x_1)!}{x_2!(N-x_1-x_2)!} \theta_2^{x_2} \qty( \theta_3 + \cdots \theta_K )^{N-x_1-x_2} \end{align}

と展開して合わせることによって以下の式が得られます。

\begin{align} & \qty( \sum_{k=1}^K \theta_k )^N = \sum_{x_1,x_2=0}^N \frac{N!}{x_1!(N-x_1)!} \frac{(N-x_1)!}{x_2!(N-x_1-x_2)!} \theta_1^{x_1} \theta_2^{x_2} \qty( \theta_3 + \cdots \theta_K )^{N-x_1-x_2} \\ & = \sum_{x_1,x_2=0}^N \frac{N!}{x_1! x_2! (N-x_1-x_2)!} \theta_1^{x_1} \theta_2^{x_2} \qty( \theta_3 + \cdots \theta_K )^{N-x_1-x_2} \end{align}

現れた二つの二項係数の一部分が約分されて一般化した二項分布が現れています。これを繰り返せば

\begin{align} & \qty( \sum_{k=1}^K \theta_k )^N = \sum_{x_1 \cdots x_{K-1} =0}^N \frac{N!}{x_1! \cdots x_{K-1}! (N-x_1 \cdots -x_{K-1})!} \theta_1^{x_1} \cdots \theta_{K-1}^{x_{K-1}} \theta_K^{N-x_1 \cdots -x_{K-1}} \\ & = \sum_{x_1 \cdots x_{K} }^{x_1 + \cdots x_K = N} \frac{N!}{x_1! \cdots x_K!} \theta_1^{x_1} \cdots \theta_{K}^{x_{K}} \qc x_K := N - x_1 - \cdots x_{K-1} \end{align}

とう多項式展開が得られます。$ N! / x_1! \cdots x_K! $は二項係数の一般化です。

ディリクレ型尤度関数

さてこの多項分布

$$ M_N( \vb*x | \vb*\theta) := N! \prod_{k=1}^K \frac{ \theta_k^{x_k} }{ x_k! } $$

は$\theta_k$をパラメータとして含んでいますが、確率論においては与えられた変数$ x_k $をもとにそれを与える確率を最大化するように$ \theta_k $を選びたくなる場合があります。これは未知のパラメータについて少なくとも観測値$ x_k $が出ているのだから、それを尤もらしくなるような$ \theta_k $にしておけば良いだろうという精神に基づく最適化で、最尤度法と呼ばれます。

そこで多項分布が$ \theta $の関数としてどんな形を持っているのかが重要になるのですが、見てわかるように

\begin{align} & M_N( \vb*x | \vb*\theta) \propto \prod_{k=1}^K \theta_k^{x_k} \qc 0 \leq \theta_k \leq 1 \qc \sum_{k=1}^K \theta_k = 1 \end{align}

という形をしています。この形を持つ確率分布をディリクレ型尤度関数と言います。

\begin{align} & D_K ( \vb*\theta | \vb*\phi ) := \frac{ \Gamma \qty( \sum_{k=1}^K \phi_k ) }{ \prod_{k=1}^K \Gamma(\phi_k) } \prod_{k=1}^K \theta_k^{ \phi_k - 1 } \\ & \Gamma(\phi) := \int_0^\infty \dd t ~ t^{\phi-1} e^{-t} \\ & 0 \leq \theta_k \leq 1 \qc \sum_{k=1}^K \theta_k = 1 \qc 0 \leq \phi_k < \infty \end{align}

合わせて紹介したのはガンマ関数$\Gamma(x)$で、階乗の一般化に対応します。この規格化は

\begin{align} & \int_D \dd \theta_1 \cdots \dd \theta_{K-1} ~ \theta_1^{\phi_1-1} \cdots \theta_{K-1}^{\phi_{K-1}-1} \qty( 1 - \theta_1 \cdots - \theta_{K-1} )^{\phi_{K}-1} = \frac{ \Gamma( \phi_1 ) \cdots \Gamma( \phi_K ) }{ \Gamma \qty( \phi_1 + \cdots + \phi_K ) } \\ & D := \qty{ \theta_k \geq 0 , 1 - \theta_1 \cdots - \theta_{K-1} \geq 0 } \end{align}

が成り立つことを示すことができれば良いです。この証明は右辺から行ったほうが楽です。

\begin{align} & \Gamma( \phi_1 ) \cdots \Gamma( \phi_K ) = \int_0^\infty \dd t_1 \cdots \dd t_{K} ~ t_1^{\phi_1-1} \cdots t_K^{\phi_K-1} e^{ - \qty( t_1 + \cdots + t_K ) } \end{align}

について$ t_k \geq 0, ~ t_1 + \cdots + t_N = t $となるように以下のような変数変換を行います。

\begin{align} & t_1 = \theta_1 t \qc \cdots \qc t_{K-1} = \theta_{K-1} t \qc t_K = \qty( 1 - \theta_1 \cdots - \theta_{K-1} )t \\ & \theta_k \in D \qc 0 \leq t \leq \infty \end{align}

この際の変数変換は以下のヤコビアンで実行されます。

\begin{align} & J = \det \mqty[ t & 0 & 0 & \cdots & 0 & \theta_1 \\ 0 & t & 0 & \cdots & 0 & \theta_2 \\ & & & \ddots & & \\ 0 & 0 & 0 & \cdots & t & \theta_{K-1} \\ -t & -t & -t & \cdots & & \qty( 1 - \theta_1 \cdots - \theta_{K-1} ) \\ ] \\ & = \det \mqty[ t & 0 & 0 & \cdots & 0 & \theta_1 \\ 0 & t & 0 & \cdots & 0 & \theta_2 \\ & & & \ddots & & \\ 0 & 0 & 0 & \cdots & t & \theta_{K-1} \\ 0 & 0 & 0 & \cdots & & 1 \\ ] = t^{K-1} \end{align}

2行目への変形は行基本変形を行いました。$t$の範囲は$ 0 $から$\infty$であったため

\begin{align} & \Gamma( \phi_1 ) \cdots \Gamma( \phi_K ) \\ & = \int_D \dd \theta_1 \cdots \dd \theta_{K-1} \int_0^\infty \dd t ~ t^{K-1} \theta_1^{\phi_1-1} \cdots \theta_{K-1}^{\phi_{K-1}-1} \qty( 1 - \theta_1 \cdots - \theta_{K-1} )^{\phi_K -1} t^{ \phi_1 + \cdots + \phi_K - K } e^{ - t } \\ & = \int_D \dd \theta_1 \cdots \dd \theta_{K-1} ~ \theta_1^{\phi_1-1} \cdots \theta_{K-1}^{\phi_{K-1}-1} \qty( 1 - \theta_1 \cdots - \theta_{K-1} )^{\phi_K -1} \int_0^\infty \dd t ~ t^{ \phi_1 + \cdots + \phi_K - 1 } e^{ - t } \\ & = \int_D \dd \theta_1 \cdots \dd \theta_{K-1} ~ \theta_1^{\phi_1-1} \cdots \theta_{K-1}^{\phi_{K-1}-1} \qty( 1 - \theta_1 \cdots - \theta_{K-1} )^{\phi_K -1} \times \Gamma \qty( \phi_1 + \cdots + \phi_{K} ) \end{align}

と変形ができます。これが求めたかった式のため、規格化の証明できました。


ちなみに一般的な場合を示しましたが、に変数の場合には

\begin{align} & \frac{ \Gamma( \phi_1 ) \Gamma( \phi_2 ) }{ \Gamma( \phi_1 + \phi_2 ) } = \int_0^1 d\theta ~ \theta^{\phi_1-1} (1 - \theta)^{\phi_2-1} =: \beta( \phi_1, \phi_2 ) \end{align}

というベータ関数とガンマ関数の公式になっています。