この記事では最尤法について解説したあとに, カルバック・ライブラー情報量(Kullback-Leibler divergence)との関係について解説する. また最尤法の応用例として, 線形回帰問題や最小二乗法で二乗和誤差を用いる理由について説明する.
最尤法とは
データを生成する真の分布 \(P_{data}(x)\) があるとする. ただし, \(P_{data}(x)\) は未知とする. これをパラメータ \(\theta\) をもつ確率分布 \(P_{model}(x\mid \theta)\) で尤もらしく表現するには最尤推定を用いる.
\(n\) 個のデータ \((x_i)_{i=1}^n\) が与えられたとき, 1つ1つのデータが \(P_{model}(x\mid \theta)\) から無作為に抽出されたと仮定すると, その列 \((x_i)_{i=1}^n\) は同時確率密度関数(離散分布なら同時確率質量関数)が\[
P(X_1, \ldots, X_n)=\prod_{i=1}^n P_{model}(X_i \mid \theta)
\] である確率分布から抽出されたことになる. これに実現値 , \((x_i)_{i=1}^n\) を代入して \(\theta\) の関数とみたしたものを\[
L(\theta)=\prod_{i=1}^n P_{model}(x_i \mid \theta)
\]と書いて尤度関数と呼ぶ. この確率密度が最も大きいとき, \(\theta\) は尤もらしいモデルを与えると考えるのが最尤法であり, \(L(\theta)\) を最大化する \(\theta\) を最尤推定量と呼ぶ.
また便宜上 \(L(\theta)\) の対数をとった \(\log L(\theta) =\sum_{i=1}^n \log P_{model}(x_i \mid \theta)\) を対数尤度関数という.
モデルとなる確率分布 \(P_{model}(x\mid \theta)\) とデータ\((x_i)_{i=1}^n\) に対して, 次の関数 \(L(\theta)\)を尤度関数という:\[
L(\theta)=\prod_{i=1}^n P_{model}(x_i \mid \theta). \]
- 最尤推定量:\(L(\theta)\) を最大化するパラメータ \(\theta\) のこと
- 最尤法:最尤推定量を用いたモデルが尤もらしいとする推定方法
最尤法とカルバック・ライブラー情報量との関係
最尤法は次のように交差エントロピーやカルバック・ライブラー情報量(以下, KL情報量)と深い関係にある.
最尤推定量 \(\theta\) は, 交差エントロピー \(H(P_{data},P_{model})\), およびKL情報量 \[D_{KL}(P_{data}(x) || P_{model}(x\mid \theta) )\] を最小化する. ただし, \(P_{data}(x)\) はデータを生成する確率分布, \(P_{model}(x\mid \theta)\) はモデルの確率分布である.
同じ確率変数 \(x\) に対する2つの確率分布 \(P(x)\) と \(Q(x)\) に対して, \[
D_{KL}(P||Q)={\mathbb E}_{x \sim P} \log \frac{P(x)}{Q(x)}
\]をKL情報量またはKLダイバージェンスという. ここに, \({\mathbb E}_{x \sim P}\cdots \) は \(x\) が 確率分布 \(P\) に従うときの \(\cdots\)の期待値を表す.
また\[
H(P,Q)={\mathbb E}_{x\sim P} (-\log Q(x))
\]を交差エントロピーという.
交差エントロピーとKL情報量は\[
D_{KL}(P||Q)+H(P)=H(P,Q)
\]という関係がある. ただし, \(H(P)={\mathbb E}_{x\sim P} \left(-\log P(x)\right) \) は自己情報量である. したがって, 確率分布 \(P\) を固定した状態でKL情報量を最小化する \(Q\) は交差エントロピーも最小化する.
交差エントロピーやカルバック・ライブラー情報量については詳しくはこちら:
【情報理論】種々の情報量のまとめ【自己情報量・平均情報量・カルバック・ライブラー情報量など】
証明. 対数尤度関数の最大値を与える\(\theta\) は \begin{align}
\mathop{\mathrm{argmax}}_{\theta} \log L(\theta)&=\mathop{\mathrm{argmax}}_{\theta} \sum_{i=1}^n \log P_{model}(x_i \mid \theta)\\
&=\mathop{\mathrm{argmax}}_{\theta} \frac{1}{n} \sum_{i=1}^n \log P_{model}(x_i \mid \theta).
\end{align}ここに, \(\mathop{\mathrm{argmax}}_{\theta} \cdots \) は \(\cdots\) を最大化する \(\theta\) の値を表す. \(n\rightarrow \infty\) とすると大数の法則から\[
\frac{1}{n} \sum_{i=1}^n \log P_{model}(x_i \mid \theta) \rightarrow \int P_{data}(x) \log P_{model}(x \mid \theta) dx
\]となる. (離散確率分布の場合はこの積分は和に置き換えればよい. )よって \begin{align}
& \mathop{\mathrm{argmax}}_{\theta} \log L(\theta) \\
&= \mathop{\mathrm{argmax}}_{\theta} {\mathbb E}_{x\sim P_{data}} \log P_{model}(x \mid \theta)\\
&= \mathop{\mathrm{argmax}}_{\theta} \{ -H(P_{data},P_{model})\}
\end{align}となる. ここで, \(H(P_{data},P_{model})\) は交差エントロピー誤差である. 交差エントロピーを最小化するとき, KL情報量も最小化される.(交差エントロピー誤差との関係については証明の上のリンクを参照. )証明終.
KL情報量は, 真の分布とモデルの分布の2つの確率分布の距離を表すから, この考え方からも最尤法は辻褄が合っている. KL情報量の最小化は交差エントロピーの最小化と同じなので, 機械学習の損失関数には交差エントロピー誤差を用いることが多い.
回帰問題で二乗和誤差(最小二乗法)を用いる理由
例えば, \(n\) 個のデータ \( \{(x_i, y_i)\}_{i=1}^n \) が与えられたとき, これの線形回帰問題を考える. つまり直線 \(y=ax+b\) でこのデータを近似したいとする. これには通常, 二乗和誤差\[
\sum_{i=1} ^n \left(y_i-(a x_i +b)\right)^2
\]が最小になるように, 定数 \(a, b\) を設定するが, これは最尤法に基づいた方法になっている.
実際, 各 \(x\) の値において, 誤差が正規分布に従って生じているとする, つまり \(y\) が平均 \(\mu(x) =ax+b\), 分散 \(\sigma^2\) の正規分布に従っているとすると, \(y\) の確率密度は\[
P_{model}(y)=\frac{1}{\sqrt{2\pi \sigma^2 }} e^{-\frac{(y-\mu(x))^2}{2 \sigma^2} }
\]となる. このとき尤度関数 \(L(a,b,\sigma)\) は\begin{align}
&L(a,b,\sigma)=\prod_{i=1}^n P_{model}(y_i)\\
&=\prod_{i=1}^n \frac{1}{\sqrt{2\pi \sigma^2 }} e^{-\frac{(y-\mu(x_i))^2}{2 \sigma^2} }\\
&=\left(\frac{1}{\sqrt{2\pi \sigma^2 }}\right)^n e^{-\frac{1}{2 \sigma^2}\sum_{i=1}^n (y-\mu(x_i))^2 }\\
\end{align}となる. 線形回帰を考える場合, 動かせるパラメータは \(a, b\) であるから, この尤度関数が最大値をとるとき, \[
\sum_{i=1}^n (y-\mu(x_i))^2=\sum_{i=1} ^n \left(y_i-(a x_i +b)\right)^2
\]が最小となる. したがって最小二乗法は最尤法からみても尤もらしいモデルの推定方法になっている.
ここでは簡単のため, 線形回帰について扱ったが, 1次関数でなく他の関数で近似する場合においても同様である.
コメント