からっぽのしょこ

読んだら書く!書いたら読む!同じ事は二度調べ(たく)ない

カテゴリ分布の定義式

はじめに

 機械学習で登場する確率分布について色々な角度から理解したいシリーズです。

 カテゴリ分布(カテゴリカル分布)の定義を確認します。

【前の内容】

www.anarchive-beta.com

【他の記事一覧】

www.anarchive-beta.com

【この記事の内容】

カテゴリ分布の定義式

 カテゴリ分布(Categorical Distribution)の定義を確認します。

定義式

 サイコロのように、複数の離散値から1つの値をとる変数の確率分布をカテゴリ分布と言います。

 $V$種類の離散値(クラス)$1, 2, \cdots, V$からランダムに1つの値(クラス)を得ることを考えます。

 得られた値(クラス・サイコロの出目)が$v$のとき、$v$番目の要素$x_v$が1でそれ以外の要素が0の$V$次元ベクトル(要素数が$V$のベクトル)

$$ \mathbf{x} = (x_1, x_2, \cdots, x_V) $$

で表します。このようなベクトルをone-hotベクトルと言います。ちなみに、試行回数1のときの各クラスの出現回数と考えると、多項分布との関係が分かりやすくなります。
 $\mathbf{x}$の各要素$x_v$が0か1の値をとることを

$$ x_v \in \{0, 1\} $$

で表します。
 1つの要素のみが1なので、全ての要素の和も1

$$ \sum_{v=1}^V x_v = 1 $$

になります。

 $x_v = 1$(クラス$v$・出目が$v$)となる確率を$\phi_v$で表すことにします。$V$種類のクラスに対応する確率をまとめて

$$ \boldsymbol{\phi} = (\phi_1, \phi_2, \cdots, \phi_V) $$

と表記します。
 $\boldsymbol{\phi}$の各要素$\phi_v$は、0から1の値をとり、全ての要素の和が1の条件

$$ 0 < \phi_v < 1,\ \sum_{v=1}^V \phi_v = 1 $$

を満たす必要があります。$\phi_v$が0より大きく1より小さい値をとることを$\phi_v \in (0, 1)$とも表記します。

 カテゴリ分布は、パラメータ$\boldsymbol{\phi}$を用いて次の式で定義されます。

$$ \mathrm{Cat}(\boldsymbol{x} | \boldsymbol{\phi}) = \prod_{v=1}^V \phi_v^{x_v} $$

 例えば、サイコロの出目が3つまり$V = 6, x_3 = 1$のとき、カテゴリ分布の式は

$$ \begin{aligned} \mathrm{Cat}(x_3 = 1 | \boldsymbol{\phi}) &= \prod_{v=1}^6 \phi_v^{x_v} \\ &= \phi_1^0 * \phi_2^0 * \phi_3^1 * \phi_4^0 * \phi_5^0 * \phi_6^0 \\ &= 1 * 1 * \phi_3 * 1 * 1 * 1 \\ &= \phi_3 \end{aligned} $$

となります。指数の定義より$x^0 = 1$です。
 このように、$x_v$に対応した確率$\phi_v$となるように式が定義されています。

 カテゴリ分布の対数をとると

$$ \log \mathrm{Cat}(\boldsymbol{x} | \boldsymbol{\phi}) = \sum_{v=1}^V x_v \log \phi_v $$

となります。対数の性質より$\log x^a = a \log x$、$\log (x y) = \log x + \log y$です。

他の分布との関係

 クラス数が$V = 2$のとき、$\boldsymbol{\phi} = (\phi_1, \phi_2)$なので

$$ \begin{aligned} \sum_{v=1}^2 \phi_v &= 1 \\ \phi_1 + \phi_2 &= 1 \\ \phi_2 &= 1 - \phi_1 \end{aligned} $$

となります。また、$\mathbf{x} = (x_1, x_2)$なので

$$ \begin{aligned} \sum_{v=1}^2 x_v &= 1 \\ x_1 + x_2 &= 1 \\ x_2 &= 1 - x_1 \end{aligned} $$

となります。よって、$V = 2$のときカテゴリ分布は

$$ \begin{aligned} \mathrm{Cat}(x | \phi_1, \phi_2) &= \prod_{v=1}^2 \phi_v^{x_v} \\ &= \phi_1^{x_1} \phi_2^{x_2} \\ &= \phi_1^{x_1} (1 - \phi_1)^{1 - x_1} = \mathrm{Bern}(x | \phi_1) \end{aligned} $$

パラメータ$\phi_1$のベルヌーイ分布と等しくなります。

 つまり、ベルヌーイ分布はカテゴリ分布の特殊な形であると言えます。逆に、カテゴリ分布はベルヌーイ分布を拡張(多次元化)した形と言えます。

統計量の計算式

 カテゴリ分布のクラス$v$における平均と分散は、次の式で計算できます。詳しくは「1.2.2:カテゴリ分布【『トピックモデル』の勉強ノート】 - からっぽのしょこ」を参照してください。

$$ \begin{aligned} \mathbb{E}[x_v] &= \phi_v \\ \mathbb{V}[x_v] &= \phi_v (1 - \phi_v) \end{aligned} $$


関連する記事

 カテゴリ分布を扱う記事を貼っておきます。

 グラフを描きます。

www.anarchive-beta.com

www.anarchive-beta.com

 統計量を導出します。

www.anarchive-beta.com

 ベイズ推論を導出します。

www.anarchive-beta.com

 ベイズ推論を実装します。

www.anarchive-beta.com

www.anarchive-beta.com

 トピックモデルは混合カテゴリ分布の応用と言えます。

www.anarchive-beta.com


参考文献

  • 岩田具治『トピックモデル』(機械学習プロフェッショナルシリーズ)講談社,2015年.

おわりに

 加筆修正の際に青トピシリーズから独立させました。

【次の内容】

www.anarchive-beta.com