ベルヌーイ分布から多項分布へ

POINT

  • ベルヌーイ分布を一般化し,多項分布を得る.

末尾の参考文献[1]の行間を埋めた記事です.

ベルヌーイ分布を一般化して多項分布へ至る方法として,2通りの方法

  1. ベルヌーイ分布→二項分布→多項分布
    • ベルヌーイ分布:コイン(2面サイコロ)を1回投げる.
    • 二項分布:コイン(2面サイコロ)を複数回投げる.
    • 多項分布:多面サイコロを複数回投げる.
  2. ベルヌーイ分布→カテゴリ分布→多項分布
    • ベルヌーイ分布:コイン(2面サイコロ)を1回投げる.
    • カテゴリ分布:多面サイコロを1回投げる.
    • 多項分布:多面サイコロを複数回投げる.
があります.黄色い部分が,前の分布から一般化されているところです.

ベルヌーイ分布→二項分布→多項分布

確率$\mu$で表の出るコインを1回だけ振ることを考える.表の出る事象を$x=1$で表し,裏の出る事象を$x=0$で表すことにする.つまり,$x$は「表の出る回数」を表している.このとき,当然
  • $0 < \mu <1$($\mu \in (0,1)$)
  • $x=0,1$のいずれか($x\in\{0,1\}$)
でなくてはならない.

表の出る確率と裏の出る確率は,次のようにまとめて表すことができる.

\begin{aligned}
\mathrm{Bern\,}(x|\mu)
&=\mu^x (1-\mu)^{1-x}
\end{aligned}

実際,

  • 表の出る確率:$\mathrm{Bern\,}(1|\mu)=\mu$
  • 裏の出る確率:$\mathrm{Bern\,}(0|\mu)=1-\mu$
である.この$\mathrm{Bern\,}(x|\mu)$を,「ベルヌーイ分布」と呼ぶ.

次に,コインを$M$回振った場合に拡張することを考える.このとき,表の出る回数を$m$で表すことにする.

確率$\mu$の事象が$m$回起こり,確率$1-\mu$の事象が$M-m$回起こる確率は

\begin{aligned}
\mathrm{Bin\,}(m|M,\mu)
&={}_MC_m \mu^m \, (1-\mu)^{M-m}
\end{aligned}
と表すことができる.ここで,
\begin{aligned}
{}_MC_m
=
\begin{pmatrix}
M\\
m
\end{pmatrix}
=\frac{M!}{m!(M-m)!}
\end{aligned}
である(【参考】「二項係数」と呼ばれます.ちなみに,$ {}_MC_m$という記号は海外で使われないようです.日本語の文献でも,大学で使うような教科書では2つ目の記号が使われることが多いです).

この$\mathrm{Bin\,}(m|M,\mu)$を,「二項分布」と呼ぶ.



最後に,コインの面の数を増やす一般化を行う.具体的には,各面$1,2,...,K$の出る確率がそれぞれ$\pi_1,\pi_2,...,\pi_K$で与えられる$K$面サイコロを$M$回降る場合を考える(つまり,$0 < \pi_k < 1$かつ$\displaystyle \sum_{k=1}^K \pi_k = 1$を満たす).

コイン(二項分布)では,変数$m$で「表が出た回数」表した.サイコロでこの考え方を一般化する事を考える.すなわち,各面$1,2,...,K$に対して変数$m_1,m_2,...,m_K$を用意し,$m_k$で「面$k$が出た回数」を表す(つまり,$m_k=1,2,...,M$かつ$\displaystyle \sum_{k=1}^K m_k = M$をみたす).

各面がそれぞれ$m_1,m_2,...,m_K$回出る確率は,

\begin{aligned}
\mathrm{Mult\,}(\boldsymbol{m}|\boldsymbol{\pi},M)
&=\frac{M!}{m_1!m_2!\cdots m_K!} \pi_1^{m_1} \pi_2^{m_2} \cdots \pi_K^{m_K} \\
&=M!\prod_{k=1}^K \frac{\pi_k^{m_k}}{m_k!}
\end{aligned}
と計算することができる.ここで,左辺のベクトル
\begin{aligned}
\boldsymbol{m}
&={}^t(m_1,m_2,...,m_K)
\end{aligned}
は,上で導入した「各面が出た回数を表す変数$m_1,m_2,...,m_K$」をまとめて表したものである(単に,簡単に表記するためだけのもの).

この$ \mathrm{Mult\,}(\boldsymbol{m}|\boldsymbol{\pi},M)$を,「多項分布」と呼ぶ.

ベルヌーイ分布→カテゴリ分布→多項分布

「ベルヌーイ分布」については,上を参照.

コイン(2面サイコロ)の面の数を増やすことを考える.つまり,「コインを1回だけ降る」→「サイコロを1回だけ振る」という一般化を行う.

コイン(ベルヌーイ分布)では,変数$x$を用いて「表を$x=1$」と表し「裏を$x=0$」と表した.これは見方を変えれば,「表」だけを使って

  • $x=1$:表が「出た」状態
  • $x=0$:表が「出ていない」状態
を表しているとも解釈できる.サイコロでこの考え方を一般化する.すなわち,各面$1,2,...,K$に対して変数$s_1,s_2,...,s_K$を用意し,
  • $s_k=1$:面$k$が「1回出た」状態
  • $s_k=0$:面$k$が「0回出た」状態
と表現する.すると,$s_1,s_2,...,s_K$のうち「一つだけが$1$」で「残りは$0$」となるから,$\displaystyle \sum_{k=1}^K s_k=1$が成り立つ.

これら$s_1,s_2,...,s_K$をまとめたベクトル$\boldsymbol{s}={}^t(s_1,s_2,...,s_K)$で,どの面が出たかの状態を表現することができる.

さらに,サイコロの各面$1,2,...,K$が出る確率がそれぞれ$\pi_1,\pi_2,...,\pi_K$であるとすれば,$0 < \pi_k < 1$かつ$\displaystyle \sum_{k=1}^K \pi_k = 1$が成り立つ.

各面がそれぞれ$s_1,s_2,...,s_K$回出る確率は,

\begin{aligned}
\mathrm{Cat\,}(\boldsymbol{s}|\boldsymbol{\pi})
=\prod_{k=1}^K \pi_k^{s_k}
\end{aligned}
となる.$\mathrm{Cat\,}(\boldsymbol{s}|\boldsymbol{\pi})$を「カテゴリ分布」と呼ぶ.

サイコロを複数回振る一般化を行えば,「多項分布」が得られる.詳しくは上を参照.

$s_1,s_2,...,s_K$を$m_1,m_2,...,m_K$で読み替えれば良い.

参考文献

[1]ベイズ推論による機械学習入門 (KS情報科学専門書):$\S 2.2$「離散確率分布」