最尤推定

問題の定式化

定義(最尤推定法)

入力の集合 \(\mathcal{X}\) とそれに対応する目標値の集合 \(\mathcal{Y}\) に対して

\[ \boldsymbol{\theta}_{\mathrm{ML}}=\underset{\boldsymbol{\theta}}{\operatorname{argmax}}p(\mathcal{Y}|\mathcal{X},\boldsymbol{\theta}) \]

をパラメータ \(\boldsymbol{\theta}\) の最尤推定値という。

\(N\) 個のデータのデータセット \(\mathcal{D}\) が次のように得られたとします。

\[ \mathcal{D}=\{(\boldsymbol{x}_1,y_1),(\boldsymbol{x}_2,y_2),\cdots,(\boldsymbol{x}_N,y_N)\} \]

このとき、入力の集合 \(\mathcal{X}\) 、目標値の集合 \(\mathcal{Y}\) は

\[ \mathcal{X}=\{\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_N\},\quad\mathcal{Y}=\{y_1,y_2,\cdots,y_N\} \]

となります。

モデルを次のように設定します。

\[ y_n=\boldsymbol{x}_n^\top\boldsymbol{\theta}+\epsilon,\quad \epsilon\sim\mathcal{N}(0,\sigma^2) \]

このとき、正規分布の性質より

\[ y_n\sim\mathcal{N}(\boldsymbol{x}_n^\top\boldsymbol{\theta},\sigma^2) \]

となるので、\(y_n\) の確率密度関数は次式で表されます。

\[ p(y_n|\boldsymbol{x}_n,\boldsymbol{\theta})=\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left\{-\frac{(y_n-\boldsymbol{x}_n^\top\boldsymbol{\theta})^2}{2\sigma^2}\right\} \]

最尤推定とは、定義より

\[ \boldsymbol{\theta}_{\mathrm{ML}}=\underset{\boldsymbol{\theta}}{\operatorname{argmax}}p(\mathcal{Y}|\mathcal{X},\boldsymbol{\theta}) \]

を求めることです。

\[ \begin{align} p(\mathcal{Y}|\mathcal{X},\boldsymbol{\theta}) &=p(\{y_1,y_2,\cdots,y_N\}|\{\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_N\},\boldsymbol{\theta})\\ &=p(y_1|\boldsymbol{x}_1,\boldsymbol{\theta})p(y_2|\boldsymbol{x}_2,\boldsymbol{\theta})\cdots p(y_N|\boldsymbol{x}_N,\boldsymbol{\theta})\\ &=\prod_{n=1}^Np(y_n|\boldsymbol{x}_n,\boldsymbol{\theta})\\ \end{align} \]

積のままでは扱いづらい(巨大な数になる)ため、対数をとることを考えます。 また、最大化よりも最小化の方が扱いやすいため、負の対数をとることにします。

\[ \begin{align} \boldsymbol{\theta}_{\mathrm{ML}} &=\underset{\boldsymbol{\theta}}{\operatorname{argmax}}p(\mathcal{Y}|\mathcal{X},\boldsymbol{\theta})\\ &=\underset{\boldsymbol{\theta}}{\operatorname{argmax}}\log p(\mathcal{Y}|\mathcal{X},\boldsymbol{\theta})\\ &=\underset{\boldsymbol{\theta}}{\operatorname{argmin}}\{-\log p(\mathcal{Y}|\mathcal{X},\boldsymbol{\theta})\} \end{align} \]

\(p(\mathcal{Y}|\mathcal{X},\boldsymbol{\theta})\) の負の自然対数をとると

\[ \begin{align} -\log p(\mathcal{Y}|\mathcal{X},\boldsymbol{\theta}) &=-\log\prod_{n=1}^Np(y_n|\boldsymbol{x}_n,\boldsymbol{\theta})\\ &=-\sum_{n=1}^N\log p(y_n|\boldsymbol{x}_n,\boldsymbol{\theta})\\ &=-\sum_{n=1}^N\log \left[\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left\{-\frac{(y_n-\boldsymbol{x}_n^\top\boldsymbol{\theta})^2}{2\sigma^2}\right\}\right]\\ &=\sum_{n=1}^N\log \left[\sqrt{2\pi\sigma^2}\exp\left\{\frac{(y_n-\boldsymbol{x}_n^\top\boldsymbol{\theta})^2}{2\sigma^2}\right\}\right]\\ &=\sum_{n=1}^N \left\{\log\sqrt{2\pi\sigma^2} + \frac{(y_n-\boldsymbol{x}_n^\top\boldsymbol{\theta})^2}{2\sigma^2}\right\}\\ &=N\log\sqrt{2\pi\sigma^2}+\frac{1}{2\sigma^2}\sum_{n=1}^N (y_n-\boldsymbol{x}_n^\top\boldsymbol{\theta})^2\\ &=N\log\sqrt{2\pi\sigma^2}+\frac{1}{2\sigma^2}||\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta}||^2 \end{align} \]

よって

\[ \begin{align} \boldsymbol{\theta}_{\mathrm{ML}} &=\underset{\boldsymbol{\theta}}{\operatorname{argmin}}\{-\log p(\mathcal{Y}|\mathcal{X},\boldsymbol{\theta})\}\\ &=\underset{\boldsymbol{\theta}}{\operatorname{argmin}}\left\{N\log\sqrt{2\pi\sigma^2}+\frac{1}{2\sigma^2}||\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta}||^2\right\}\\ &=\underset{\boldsymbol{\theta}}{\operatorname{argmin}}\left\{\frac{1}{2}||\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta}||^2\right\} \end{align} \]

したがって

\[ \mathcal{L}(\boldsymbol{\theta}):=\frac{1}{2}||\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta}||^2 \]

を最小にする \(\boldsymbol{\theta}\) を求めればいいことになります。

※ 係数の \(\dfrac{1}{2}\) は不要だが、微分した際の簡潔化ために残している。

\(\mathcal{L}(\boldsymbol{\theta})\) を \(\boldsymbol{\theta}\) で微分すると

\[ \begin{align} \frac{d\mathcal{L}}{d\boldsymbol{\theta}} &=\frac{d}{d\boldsymbol{\theta}}\left(\frac{1}{2}||\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta}||^2\right)\\ &=\frac{1}{2}\frac{d}{d\boldsymbol{\theta}}\left(||\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta}||^2\right)\\ &=\frac{1}{2}\frac{d}{d\boldsymbol{\theta}}(||\boldsymbol{g}(\boldsymbol{\theta})||^2) \quad (\boldsymbol{g}(\boldsymbol{\theta}):=\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta})\\ &=\frac{1}{2}\frac{d}{d\boldsymbol{g}}(||\boldsymbol{g}(\boldsymbol{\theta})||^2)\frac{d\boldsymbol{g}}{d\boldsymbol{\theta}}\\ &=\frac{1}{2}\frac{d}{d\boldsymbol{g}}(\boldsymbol{g}(\boldsymbol{\theta})^\top\boldsymbol{g}(\boldsymbol{\theta}))\frac{d\boldsymbol{g}}{d\boldsymbol{\theta}}\\ &=\frac{1}{2}\cdot 2\boldsymbol{g}(\boldsymbol{\theta})^\top\frac{d\boldsymbol{g}}{d\boldsymbol{\theta}}\\ &=(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta})^\top\frac{d}{d\boldsymbol{\theta}}(\boldsymbol{y}-\boldsymbol{X}\boldsymbol{\theta})\\ &=(\boldsymbol{y}^\top-\boldsymbol{\theta}^\top\boldsymbol{X}^\top)(-\boldsymbol{X})\\ &=-\boldsymbol{y}^\top\boldsymbol{X}+\boldsymbol{\theta}^\top\boldsymbol{X}^\top\boldsymbol{X} \end{align} \]

\(\dfrac{d\mathcal{L}}{d\boldsymbol{\theta}}=\boldsymbol{0}^\top\) となるとき、\(\mathcal{L}(\boldsymbol{\theta})\) は最小となるから

\[ \begin{align} &-\boldsymbol{y}^\top\boldsymbol{X}+\boldsymbol{\theta}^\top\boldsymbol{X}^\top\boldsymbol{X}=\boldsymbol{0}^\top\\ &\Longleftrightarrow\boldsymbol{\theta}^\top\boldsymbol{X}^\top\boldsymbol{X}=\boldsymbol{y}^\top\boldsymbol{X}\\ &\Longleftrightarrow(\boldsymbol{\theta}^\top\boldsymbol{X}^\top\boldsymbol{X})^\top=(\boldsymbol{y}^\top\boldsymbol{X})^\top\\ &\Longleftrightarrow \boldsymbol{X}^\top\boldsymbol{X}\boldsymbol{\theta}=\boldsymbol{X}^\top\boldsymbol{y}\\ &\Longleftrightarrow \boldsymbol{\theta}=(\boldsymbol{X}^\top\boldsymbol{X})^{-1}\boldsymbol{X}^\top\boldsymbol{y}\\ \end{align} \]

ゆえに

\[ \boldsymbol{\theta}_{\mathrm{ML}}=(\boldsymbol{X}^\top\boldsymbol{X})^{-1}\boldsymbol{X}^\top\boldsymbol{y} \]

パラメータの評価

演習問題

問題
解答