観測値 $x_1,\dots,x_n$ が得られたときの尤度関数は、観測値が得られる同時確率のことです。

尤度関数の式は同時確率の式と同じになります。同時確率の変数は確率変数の実現値(観測値)ですが、尤度関数では観測値を固定し、代わりに確率分布(またはそれを指定するパラメータ)を変数とみなします。尤度関数の変数を特にパラメータと呼ぶことがあります。

\[L(p) := p(x_1,\dots,x_n)\]

同時確率は、確率の公理から導かれる連鎖律(chain rule)によって以下の形に分解できます。

\[p(x_1,\dots,x_n) = p(x_1)\,p(x_2\vert x_1)\,p(x_3\vert x_1,x_2)\cdots p(x_n\vert x_1,\dots,x_{n-1}) = \prod_{i=1}^{n} p(x_i\vert x_{<i})\]

i.i.d. を仮定しない定義

推定対象は単一の $p$ ではなく、実質的に $n$ の分布の族 $p_1,\dots,p_n$(または、それらすべてを生成する共通パラメータ $\theta$)です。なので i.i. d を仮定しない厳密な定義は以下になります。

\[L(p_1,\dots,p_n) := \prod_{i=1}^n p_i(x_i\vert x_{<i})\]

具体例:自己回帰言語モデル(LLM)の 予測分布 $q_{t}(x_{t}\vert x_{尤度関数を考えます。 LLM の文脈で使用される $t$ にしています)。位置 $t$ ごとに条件付き分布のパラメータ(softmaxの出力)が変わります)。

i.i.d. を前提にした定義(特殊ケース)

$x_1,\dots,x_n$ が独立に同一の分布 $p$ から生成されたと仮定すると、連鎖律が単一の関数 $p$ の積に単純化されて定義は以下になります。

\[L(p) = \prod_{i=1}^{n} p(x_i) \quad p(x_i\vert x_{<i}) = p(x_i)\]

ベルヌーイ分布カテゴリカル分布尤度関数は、i.i.d. 前提のケースにあたります

対数尤度

積だと微分が煩雑なので対数を取り、和の形に変換します。

\[\log L = \sum_{i=1}^{n} \log p(x_i\vert x_{<i}) \quad \text{(一般形)}\] \[\log L(p) = \sum_{i=1}^{n} \log p(x_i) \quad \text{(i.i.d.の場合)}\]

ベルヌーイ分布

ベルヌーイ試行の観測値を ${x_1, x_2, .. x_n}$ とします。
二項分布の( 1 回の)試行ではなくべルーイ試行の n 個の観測値です。

尤度関数

ベルヌーイ分布尤度関数は以下のとおりです。

\[L(p) = \prod_{i=1}^{n} p^{x_i}(1-p)^{1-x_i}\]

対数尤度関数

積(総乗 $\prod$)のままだと微分が複雑になるため、全体の自然対数($\log$)を取って、計算しやすい和(総和 $\sum$)に変換します。

\[\begin{aligned} \log L(p) &= \sum_{i=1}^{n} \log p^{x_i}(1-p)^{1-x_i} \\ &= \sum_{i=1}^{n} \left( x_i \log p + (1-x_i)\log(1-p) \right) \end{aligned}\]

上記を尤度関数" class="autolink-keyword">負の対数尤度関数に変換すると 2 クラス分類のニューラルネットワークの損失関数の形( 2 クラスの場合の交差エントロピー)です($-\sum_{i=1}^{n} \left( x_i \log p + (1-x_i)\log(1-p) \right)$)。

カテゴリカル分布

カテゴリカル分布の確率質量関数から、最も尤もらしいパラメータ $\boldsymbol{p}$ を導出します。

前提条件

  • N:観測値の数(データ数)
  • M:確率変数の次元数
  • $\boldsymbol{x^i}$:i 番目の観測値。one-hot ベクトル $\left(x^i_1, \ldots, x^i_M \right)$
    • $x^i_j$ : $i$ 番目の観測値がカテゴリ $j$ に属する場合 $1$、そうでなければ$0$
  • $\boldsymbol{p}$:$\left( p_1, \ldots, p_{j} \right)$:確率分布
    • $p_j$ : 各要素 $j$ の確率

尤度関数

$N$ 個の観測値がこのパターンで同時に発生する同時確率を求めます。 各試行は独立(無関係)に起きると仮定するため、単純にすべてのデータの確率質量関数を掛け合わせます。

\[\begin{aligned} L(\boldsymbol{p}) &= \prod_{i=1}^{N} P(\boldsymbol{x}^i\vert{}\boldsymbol{p}) \\ &= \prod_{i=1}^{N}\prod_{j=1}^{M} p_j^{x^i_j} \end{aligned}\]

$\prod_{j=1}^{M} p_j^{x^i_j}$ は i 番目の観測値について計算しています。 $x^i_j$ は $i$ 番目の観測値が カテゴリ $j$ に属する場合 $1$、そうでなければ $0$ です。

具体例

  • $\boldsymbol{p}$:$\left( p_1, p_2, p_3, p_4, p_5, p_6 \right)$
  • $\boldsymbol{x^1} = \left(0, 0, 1, 0, 0, 0 \right) $: 3 番目のカテゴリ($k=3$)に属する場合
\[\begin{aligned} \prod_{j=1}^{m} p_j^{x^1_j} &= p_{1}^0 \times p_{2}^0 \times p_{3}^1 \times p_{4}^0 \times p_{5}^0 \times p_{6}^0 \\ &= 1 \times 1 \times p_3 \times 1 \times 1 \times 1 \\ &= p_3 \end{aligned}\]

対数尤度関数

積(総乗 $\prod$)だと微分が複雑になるため、全体の自然対数($\log$)を取って和(総和 $\sum$)の形に変換します。

\[\begin{aligned} \log L(\boldsymbol{p}) &= \log \left( \prod_{i=1}^{N} \prod_{j=1}^{M} p_j^{x^i_j} \right) \\ &= \sum_{i=1}^{N} \sum_{j=1}^{M} x^i_j \log p_j \end{aligned}\]

ここで、$\sum_{i=1}^{N} x^i_j$ に注目します。
これは $N$ 回の試行のうち、 $j$ 番目の選択肢が選ばれた合計回数を表しています。
これを $N_j$ と置き換えて式を整理します。

\[\log L(\boldsymbol{p}) = \sum_{j=1}^{M} N_j \log p_j\]

$\sum_{i=1}^{N} x^i_j$ の導出過程

$\sum_{i=1}^{N} x^i_j$ を導く過程を補足します。

ステップ 1. 和の順序を入れ替える:

\[\sum_{i=1}^{N} \sum_{j=1}^{M} x^i_j \log p_j = \sum_{j=1}^{M} \sum_{i=1}^{N} x^i_j \log p_j\]

$i$ と $j$ の和は有限個の項の合計なので、どちらを先に足しても結果は変わりません($i=1,\dots,N$ と $j=1,\dots,M$ のすべての組み合わせについて $x^i_j \log p_j$ を足し合わせているだけなので、ループの順序を入れ替えても総和は同じです)。

ステップ 2. $i$ に依存しない項を内側の和の外に出す:

$\log p_j$ は $j$ だけで決まり、$i$ には依存しないので、$\sum_{i=1}^{N}$ の中では定数として扱えます。

\[\begin{aligned} \sum_{i=1}^{N} x^i_j \log p_j = \left( \sum_{i=1}^{N} x^i_j \right) \log p_j \\ \sum_{j=1}^{M} \sum_{i=1}^{N} x^i_j \log p_j = \sum_{j=1}^{M} \left( \sum_{i=1}^{N} x^i_j \right) \log p_j \end{aligned}\]

最尤推定法(Maximum Likelihood Estimation)

最尤推定量は対数尤度を最大化するパラメータとして求まります。

\[\hat{p} \;(\text{または}\;\hat{\theta}) = \underset{p}{\arg\max}\; \log L\]