カテゴリカル分布は、ベルヌーイ分布を3次元以上に拡張した分布で、例えるなら、出る目が均等ではない歪んだサイコロを1回投げた時に、どの目が出るか?を表現することができる確立分布です。
ベルヌーイ分布がコインの表と裏のような2値を表現するのに対し、カテゴリカル分布(カテゴリ分布)では、サイコロの出目のように、ベルヌーイ分布を一般にk次元に拡張した場合の確率分布です。
つまり、複数の離散値の中から、特定の1つの値をとる離散確率変数がカテゴリカル分布です。
カテゴリカル分布を定式化する際には、one-hot-representaiton(1 of K 表現, representation)など、少し見慣れない数式表現もあり、なかなかとっつきにいくいかもしれません。
しかし、1ofK表現などは、使えるようになると非常に便利な上、混合モデルや深層学習などでは非常に頻出で、論文や教科書等を読む際には必ず理解しておくべき表現なので、できるだけ慣れてしまえると良いでしょう。
今回は、離散的な複数の値を確率変数の値にとるカテゴリカル分布について分かりやすく解説し、基本的な統計量である期待値・分散・エントロピーについて導出します。
カテゴリカル分布の定義
まずカテゴリカル分布(categorical distribution) の定義式は下記のようになります。
\begin{equation} \begin{split} Cat(\bm{s} | \bm{\pi}) = \prod_{k=1}^{K} \pi_k^{s_k} \end{split} \end{equation}
ここで、パラメータが$\bm{\pi}$ で、求めたい確率変数が$\bm{s}$です。
ここで、$\bm{s}$はK次元ベクトルで、k番目の要素だけが1で、それ以外の要素は0になっているようなベクトルになります。例えばサイコロの例ではK=6次元で、3つ目の出目が出ていることを表現する、$\bm{s}$ は下記のようになります。
\begin{split} \bm{s} = [0, 0, 1, 0, 0,0]^t \end{split}
このようなベクトル表記は、K個の要素の中から1つを指定して選んでいるようなベクトル表現になります。このため、このようなベクトル表記を1 of K 表現( 1 of K representation) と呼びます。このベクトル$\bm{s}$の各要素$s_k$は以下のような性質があります。
\begin{split} s_k \in \{ 0, 1\} \\ \Sigma_{k=1}^{K} s_k = 1 \end{split}
また、(1)式には、$\bm{s}$だけでなく、$\bm{\pi}$というパラメータも登場します。
これは、$\bm{\pi} = (\pi_1, \pi_2, …, `\pi_K)^T$と、K次元の列ベクトルになっており、それぞれk番目の要素がでる確率を示しています。これも具体例を通して理解するとわかりやすいです。
通常の6面体のサイコロであれば、6つある全ての出目はそれぞれ$\frac{1}{6}$になります。なので、$\bm{\pi} = (\frac{1}{6}, \frac{1}{6}, …, \frac{1}{6})^T$ となります。
例えば、それぞれ出る出目が異なるようなイカサマサイコロの出目が出る確率が違うようなサイコロであれば、これらの値は違ったものになります。