はじめに
機械学習で登場する確率分布について色々な角度から理解したいシリーズです。
カテゴリ分布(カテゴリカル分布)の統計量を導出します。
【前の内容】
www.anarchive-beta.com
【他の記事一覧】
www.anarchive-beta.com
【この記事の内容】
カテゴリ分布の統計量の導出
カテゴリ分布(Categorical Distribution)の平均と分散を導出します。
定義式の確認
まずは、カテゴリ分布の定義式を確認します。
カテゴリ分布は、次の式で定義されます。詳しくは「カテゴリ分布の定義式 - からっぽのしょこ」を参照してください。
$$
\mathrm{Cat}(\boldsymbol{x} | \boldsymbol{\phi})
= \prod_{v=1}^V
\phi_v^{x_v}
$$
ここで、$x_v$はクラス$v$が出現した回数、$\phi_v$はクラス$v$の出現確率です。
確率変数の値$\mathbf{x} = (x_1, \cdots, x_V)$はone-hotベクトルで、$x_v \in \{0, 1\}$、$\sum_{v=1}^V x_v = 1$となります。パラメータ$\boldsymbol{\phi} = (\phi_1, \cdots, \phi_V)$は、$\phi_v \in (0, 1)$、$\sum_{v=1}^V \phi_v = 1$を満たす必要があります。
カテゴリ分布のクラス$v$における平均と分散は、次の式で計算できます。
$$
\begin{aligned}
\mathbb{E}[x_v]
&= \phi_v
\\
\mathbb{V}[x_v]
&= \phi_v (1 - \phi_v)
\end{aligned}
$$
この計算式を求めます。
平均の導出
確率分布が取り得る値$\boldsymbol{x}$とその値となる確率$p(\boldsymbol{x})$を掛けて、和をとった値が平均となる。
$$
\begin{aligned}
\mathbb{E}[x_v]
&= \sum_{v=1}^V
x_v p(x_v)
\\
&= \sum_{v=1}^V
x_v
\prod_{v'=1}^V \phi_{v'}^{x_v'}
\\
&= \sum_{v=1}^V
x_v
* \phi_1^{x_1} * \cdots * \phi_v^{x_v} * \cdots * \phi_V^{x_V}
\\
&= (x_1 * \phi_1^{x_1} * \cdots * \phi_v^{x_v} * \cdots * \phi_V^{x_V})
+ \cdots
+ (x_v * \phi_1^{x_1} * \cdots * \phi_v^{x_v} * \cdots * \phi_V^{x_V})
+ \cdots
+ (x_V * \phi_1^{x_1} * \cdots * \phi_v^{x_v} * \cdots * \phi_V^{x_V})
\\
&= (0 * \phi_1^0 * \cdots * \phi_v^1 * \cdots * \phi_V^0)
+ \cdots
+ (1 * \phi_1^0 * \cdots * \phi_v^1 * \cdots * \phi_V^0)
+ \cdots
+ (0 * \phi_1^0 * \cdots * \phi_v^1 * \cdots * \phi_V^0)
\\
&= 0 + \cdots + \phi_v + \cdots + 0
\\
&= \phi_v
\end{aligned}
$$
【途中式の途中式】
平均の定義式(1.5')より、式を立てる。
- $p(x_v) = \mathrm{Categorical}(x_v | \boldsymbol{\phi})$で置き換える。
- $\sum_{v'=1}^V$を展開する。
- $\sum_{v=1}^V$を展開する。
- $x_1, \cdots, x_V$の内、$x_v$が1でそれ以外は0を代入する。
- $a^0 = 1$より、式を整理する。
(平均が確率になるという意味ではなく、平均が確率の値と等しくなるという意味である。)
分散の導出
「1.1.1-7:確率の基礎【『トピックモデル』の勉強ノート】 - からっぽのしょこ」より、「$x_v$の2乗の平均」と「$x_v$の平均の2乗」との差が分散となる。そこでまずは、$x_v$の2乗の平均を求める。
$$
\begin{aligned}
\mathbb{E}[x_v^2]
&= \sum_{v=1}^V
x_v^2
p(x_v)
\\
&= \sum_{v=1}^V
x_v^2
\prod_{v'=1}^V \phi_{v'}^{x_{v'}}
\\
&= \sum_{v=1}^V
x_v^2
* \phi_1^{x_1} * \cdots * \phi_v^{x_v} * \cdots * \phi_V^{x_V}
\\
&= (x_1^2 * \phi_1^{x_1} * \cdots * \phi_v^{x_v} * \cdots * \phi_V^{x_V})
+ \cdots + (x_v^2 * \phi_1^{x_1} * \cdots * \phi_v^{x_v} * \cdots * \phi_V^{x_V})
+ \cdots + (x_V^2 * \phi_1^{x_1} * \cdots * \phi_v^{x_v} * \cdots * \phi_V^{x_v})
\\
&= (0^2 * \phi_1^0 * \cdots * \phi_v^1 * \cdots * \phi_V^0)
+ \cdots + (1^2 * \phi_1^0 * \cdots * \phi_v^1 * \cdots * \phi_V^0)
+ \cdots + (0^2 * \phi_1^0 * \cdots * \phi_v^1 * \cdots * \phi_V^0)
\\
&= 0 + \cdots + \phi_v + \cdots + 0
\\
&= \phi_v
\end{aligned}
$$
「$x_v$の2乗の平均」と「$x_v$の平均の2乗」との差を求める。
$$
\begin{aligned}
\mathrm{Var}[x_v]
&= \mathbb{E}[x_v^2]
- (\mathbb{E}[x_v])^2 \\
&= \phi_v - \phi_v^2 \\
&= \phi_v (1 - \phi_v)
\end{aligned}
$$
$V = 2$のとき(あるいは$v$とそれ以外と解釈したとき)、カテゴリ分布の平均と分散はベルヌーイ分布の平均と分散とそれぞれ等しくなることが確認できる。
参考書籍
- 岩田具治(2015)『トピックモデル』(機械学習プロフェッショナルシリーズ)講談社
おわりに
- 2020/06/22:加筆修正の際に、記事を分割しました。
- 2022/01/25:「定義の確認」と「グラフの作成」の加筆修正の際に青トピシリーズから独立させました。
【次節の内容】
www.anarchive-beta.com