からっぽのしょこ

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

3.1.1:最尤推定と最小二乗法【PRMLのノート】

はじめに

 『パターン認識と機械学習』の独学時のまとめです。一連の記事は「数式の行間埋め」または「R・Pythonでのスクラッチ実装」からアルゴリズムの理解を補助することを目的としています。本とあわせて読んでください。

 この記事は、3.1.1項の内容です。線形基底関数モデルの最尤推定を導出します。

【実装編】

www.anarchive-beta.com

【前節の内容】

www.anarchive-beta.com

【他の節一覧】

www.anarchive-beta.com

【この節の内容】

3.1.1 最尤推定と最小二乗法

 最小二乗法と最尤推定との関係を考えます。

・モデルの設定

 まずは、モデルを確認します。

 $D$次元の入力変数を$\mathbf{x} = (x_1, x_2, \cdots, x_D)^{\top}$、$M$個の基底関数を$\boldsymbol{\phi}(\mathbf{x}) = (\phi_0(\mathbf{x}), \phi_1(\mathbf{x}), \cdots, \phi_{M-1}(\mathbf{x}))^{\top}$、$M$次元の重みパラメータを$\mathbf{w} = (w_0, w_1, \cdots, w_{M-1})$とします。ただし、$\phi_0(\mathbf{x}) = 1$とすることで$w_0 = w_0 \phi_0(\mathbf{x})$とし、$w_0$をバイアスと呼びます。基底関数については「【R】3.1.0:基底関数【PRMLのノート】 - からっぽのしょこ」を参照してください。
 決定論的な関数

$$ y(\mathbf{x}, \mathbf{w}) = \sum_{j=0}^{M-1} w_j \phi_j(x) = \mathbf{w}^{\top} \boldsymbol{\phi}(x) \tag{3.3} $$

に、期待値0・精度(分散の逆数)$\beta$のガウスノイズ

$$ \epsilon \sim \mathcal{N}(\epsilon | 0, \beta^{-1}) $$

を加えます。分散は精度の逆数なので$\beta$を用いて$\beta^{-1} = \frac{1}{\beta}$で表せます。
 よって、目標変数$t$を次の式とします。

$$ t = y(\mathbf{x}, \mathbf{w}) + \epsilon \tag{3.7} $$

 このとき、$t$は平均$y(\mathbf{x}, \mathbf{w})$・精度$\beta$の1変数(1次元)ガウス分布で表せます。

$$ p(t | \mathbf{x}, \mathbf{w}, \beta) = \mathcal{N}(t | y(\mathbf{x}, \mathbf{w}), \beta^{-1}) = \mathcal{N}(t | \mathbf{w}^{\top} \boldsymbol{\phi}(x), \mathbf{w}), \beta^{-1}) \tag{3.8} $$

 $t$の条件付き分布$p(t | \mathbf{x}, \mathbf{w}, \beta)$の具体的な式を確認しておきます。

$$ \begin{aligned} p(t | \mathbf{x}, \mathbf{w}, \beta) &= \frac{1}{\sqrt{2 \pi \beta^{-1}}} \exp \left\{ - \frac{1}{2 \beta^{-1}} \Bigl( t - y(\mathbf{x}, \mathbf{w}) \Bigr)^2 \right\} \\ &= \frac{1}{(2 \pi \beta^{-1})^{\frac{1}{2}}} \exp \left\{ - \frac{\beta}{2} \Bigl( t - \mathbf{w}^{\top} \phi(\mathbf{x}) \Bigr)^2 \right\} \\ &= \frac{ \beta^{\frac{1}{2}} }{ (2 \pi)^{\frac{1}{2}} } \exp \left\{ - \frac{\beta}{2} \Bigl( t - \mathbf{w}^{\top} \phi(\mathbf{x}) \Bigr)^2 \right\} \end{aligned} $$

 $\sqrt{a} = a^{\frac{1}{2}}$、$a^{-1} = \frac{1}{a}$を使って変形しています。
 この式の対数をとると

$$ \begin{aligned} \ln p(t | \mathbf{x}, \mathbf{w}, \beta) &= \ln \beta^{\frac{1}{2}} - \ln (2 \pi)^{\frac{1}{2}} - \frac{\beta}{2} \Bigl( t - \mathbf{w}^{\top} \phi(\mathbf{x}) \Bigr)^2 \\ &= \frac{1}{2}\ln \beta - \frac{1}{2}\ln (2 \pi) - \frac{\beta}{2} \Bigl( t - \mathbf{w}^{\top} \phi(\mathbf{x}) \Bigr)^2 \end{aligned} $$

となります。$\ln \frac{a}{b} = \ln a - \ln b$、$\ln a^b = b \ln a$、$\ln \exp(a) = a$を使って変形しています。

 続いて、$N$個の場合を考えます。独立に生成されたと仮定する$N$個の入力を$\mathbf{X} = \{\mathbf{x}_1, \mathbf{x}_2, \cdots, \mathbf{x}_N\}$、対応する目標値を$\mathsf{t} = \{t_1, t_2, \cdots, t_N\}$とすると、尤度関数$p(\mathsf{t} | \mathbf{X}, \mathbf{w}, \beta)$は$N$個のガウス分布の積で表せます。

$$ p(\mathsf{t} | \mathbf{X}, \mathbf{w}, \beta) = \prod_{n=1}^N \mathcal{N}(t_n | y(\mathbf{x}_n, \mathbf{w}), \beta^{-1}) = \prod_{n=1}^N \mathcal{N}(t_n | \mathbf{w}^{\top} \phi(\mathbf{x}_n), \beta^{-1}) \tag{3.10} $$

 この式の対数をとって、具体的な式を確認します。

$$ \begin{aligned} \ln p(\mathsf{t} | \mathbf{X}, \mathbf{w}, \beta) &= \sum_{n=1}^N \ln \mathcal{N}(t_n | \mathbf{w}^{\top} \phi(\mathbf{x}_n), \beta^{-1}) \\ &= \sum_{n=1}^N \left\{ \frac{1}{2}\ln \beta - \frac{1}{2}\ln (2 \pi) - \frac{\beta}{2} \Bigl( t_n - \mathbf{w}^{\top} \phi(\mathbf{x}_n) \Bigr)^2 \right\} \\ &= \frac{N}{2} \ln \beta - \frac{N}{2} \ln (2 \pi) - \frac{\beta}{2} \sum_{n=1}^N \Bigl( t_n - \mathbf{w}^{\top} \phi(\mathbf{x}_n) \Bigr)^2 \end{aligned} $$

 $\prod_i \ln a_i = \ln \sum_i a_i$です。
 最後の項は、二乗和誤差関数(二乗和誤差)(1.1節)を含むので

$$ E_D(\mathbf{w}) = \frac{1}{2} \sum_{n=1}^N \Bigl( t_n - \mathbf{w}^{\top} \phi(\mathbf{x}_n) \Bigr)^2 \tag{3.12} $$

とおきます。

$$ \ln p(\mathsf{t} | \mathbf{X}, \mathbf{w}, \beta) = \frac{N}{2} \ln \beta - \frac{N}{2} \ln (2 \pi) - \beta E_D(\mathbf{w}) \tag{3.11} $$

 この対数尤度関数を用いて、各パラメータの最尤推定量$\mathbf{W}_{\mathrm{ML}}, \beta_{\mathrm{ML}}$を求めます。対数関数は単調増加するので、対数をとっても尤度を最大化するパラメータの値は変わりません。
 また対数尤度関数の式を見ると、パラメータ$\mathbf{w}$の影響を受けるのは$E_D(\mathbf{w})$のみであるのが分かります。よって、(対数)尤度関数を最大化する$\mathbf{w}$は、二乗和誤差関数を最小化する$\mathbf{w}$であると言えます。

・パラメータの最尤推定量の導出

 次に、尤度関数を最大化する重みパラメータ$\mathbf{w}_{\mathrm{ML}}$を求めます。

 対数尤度関数(3.11)を$\mathbf{w}$に関して微分します。

$$ \begin{aligned} \frac{\partial}{\partial \mathbf{w}} \ln p(\mathsf{t} | \mathbf{X}, \mathbf{w}, \beta) &= \frac{\partial}{\partial \mathbf{w}} \left\{ \frac{N}{2} \ln \beta - \frac{N}{2} \ln (2 \pi) - \beta E_D(\mathbf{w}) \right\} \\ &= - \beta \frac{\partial}{\partial \mathbf{w}} E_D(\mathbf{w}) \end{aligned} $$

 $- \beta E_D(\mathbf{w})$を$f(g(x))$、$E_D(\mathbf{w})$を$g(x)$に対応させて、合成関数の微分$\{f(g(x))\}' = f'(g(x)) g'(x)$を行っています。$\mathbf{w}$と無関係な項は0になり消えます。
 $\mathbf{w}$に関する二乗和誤差関数の微分は

$$ \begin{aligned} \frac{\partial}{\partial \mathbf{w}} E_D(\mathbf{w}) &= \frac{\partial}{\partial \mathbf{w}} \left\{ \frac{1}{2} \sum_{n=1}^N \Bigl( t_n - \mathbf{w}^{\top} \phi(\mathbf{x}_n) \Bigr)^2 \right\} \\ &= \sum_{n=1}^N \Bigl( t_n - \mathbf{w}^{\top} \phi(\mathbf{x}_n) \Bigr) \frac{\partial}{\partial \mathbf{w}} \Bigl\{ t_n - \mathbf{w}^{\top} \phi(\mathbf{x}_n) \Bigr\} \\ &= - \sum_{n=1}^N \Bigl( t_n - \mathbf{w}^{\top} \phi(\mathbf{x}_n) \Bigr) \phi(\mathbf{x}_n) \end{aligned} $$

となります。$E_D(\mathbf{w})$(の式全体)を$f(g(x))$、$t_n - \mathbf{w}^{\top} \phi(\mathbf{x}_n)$を$g(x)$に対応させて、合成関数の微分と$\frac{\partial}{\partial \mathbf{x}} \mathbf{x}^{\top} \mathbf{a} = \mathbf{a}$を使って計算しています。
 よって上の式に代入すると、対数尤度関数の勾配(偏微分をまとめたベクトル)は次になります。

$$ \frac{\partial}{\partial \mathbf{w}} \ln p(\mathsf{t} | \mathbf{X}, \mathbf{w}, \beta) = \beta \sum_{n=1}^N \Bigl( t_n - \mathbf{w}^{\top} \phi(\mathbf{x}_n) \Bigr) \phi(\mathbf{x}_n) \equiv \nabla \ln p(\mathsf{t} | \mathbf{X}, \mathbf{w}, \beta) \tag{3.13} $$

 ($\nabla$は勾配(偏微分)を表す記号で、表記を簡単にするためにおいたと思っていいです。)

 この勾配(3.13)を0とおき、$\mathbf{w}$について解きます。

$$ \begin{aligned} \nabla \ln p(\mathsf{t} | \mathbf{X}, \mathbf{w}, \beta) = \beta \sum_{n=1}^N \Bigl( t_n - \mathbf{w}^{\top} \phi(\mathbf{x}_n) \Bigr) \phi(\mathbf{x}_n) &= 0 \\ \Rightarrow - \beta \sum_{n=1}^N \Bigl( \mathbf{w}^{\top} \phi(\mathbf{x}_n) \Bigr) \phi(\mathbf{x}_n) &= - \beta \sum_{n=1}^N t_n \phi(\mathbf{x}_n) \\ \Rightarrow \sum_{n=1}^N \Bigl( \mathbf{w}^{\top} \phi(\mathbf{x}_n) \Bigr) \phi(\mathbf{x}_n) &= \sum_{n=1}^N t_n \phi(\mathbf{x}_n) \end{aligned} $$

 $\mathbf{w}^{\top} \phi(\mathbf{x}_n)$はスカラなので、$\mathbf{w}^{\top} \phi(\mathbf{x}_n) = (\mathbf{w}^{\top} \phi(\mathbf{x}_n))^{\top} = \phi(\mathbf{x}_n)^{\top} \mathbf{w}$と転置できます。また、掛ける位置を変えても影響しないので

$$ \sum_{n=1}^N \phi(\mathbf{x}_n) \phi(\mathbf{x}_n)^{\top} \mathbf{w} = \sum_{n=1}^N t_n \phi(\mathbf{x}_n) \tag{1} $$

となります。(なんだか気持ち悪い気がするし、微妙に本と式が違うのだけど本当にこれでいいのか?)

 この式(1)の左辺について

$$ \begin{aligned} \phi(\mathbf{x}_n) \phi(\mathbf{x}_n)^{\top} &= \begin{pmatrix} \phi_0(\mathbf{x}_n) \\ \phi_1(\mathbf{x}_n) \\ \vdots \\ \phi_{M-1}(\mathbf{x}_n) \end{pmatrix} \begin{pmatrix} \phi_0(\mathbf{x}_n) & \phi_1(\mathbf{x}_n) & \cdots & \phi_{M-1}(\mathbf{x}_n) \end{pmatrix} \\ &= \begin{pmatrix} \phi_0(\mathbf{x}_n) \phi_0(\mathbf{x}_n) & \phi_0(\mathbf{x}_n) \phi_1(\mathbf{x}_n) & \cdots & \phi_0(\mathbf{x}_n) \phi_{M-1}(\mathbf{x}_n) \\ \phi_1(\mathbf{x}_n) \phi_0(\mathbf{x}_n) & \phi_1(\mathbf{x}_n) \phi_1(\mathbf{x}_n) & \cdots & \phi_1(\mathbf{x}_n) \phi_{M-1}(\mathbf{x}_n) \\ \vdots & \vdots & \ddots & \vdots \\ \phi_{M-1}(\mathbf{x}_n) \phi_0(\mathbf{x}_n) & \phi_{M-1}(\mathbf{x}_n) \phi_1(\mathbf{x}_n) & \cdots & \phi_{M-1}(\mathbf{x}_n) \phi_{M-1}(\mathbf{x}_n) \end{pmatrix} \end{aligned} $$

となります。よって、$n = 1, \cdots, N$の和は

$$ \begin{aligned} \sum_{n=1}^N \phi(\mathbf{x}_n) \phi(\mathbf{x}_n)^{\top} &= \begin{pmatrix} \phi_0(\mathbf{x}_1) \phi_0(\mathbf{x}_1) & \phi_0(\mathbf{x}_1) \phi_1(\mathbf{x}_1) & \cdots & \phi_0(\mathbf{x}_1) \phi_{M-1}(\mathbf{x}_1) \\ \phi_1(\mathbf{x}_1) \phi_0(\mathbf{x}_1) & \phi_1(\mathbf{x}_1) \phi_1(\mathbf{x}_1) & \cdots & \phi_1(\mathbf{x}_1) \phi_{M-1}(\mathbf{x}_1) \\ \vdots & \vdots & \ddots & \vdots \\ \phi_{M-1}(\mathbf{x}_1) \phi_0(\mathbf{x}_1) & \phi_{M-1}(\mathbf{x}_1) \phi_1(\mathbf{x}_1) & \cdots & \phi_{M-1}(\mathbf{x}_1) \phi_{M-1}(\mathbf{x}_1) \end{pmatrix} + \cdots + \begin{pmatrix} \phi_0(\mathbf{x}_N) \phi_0(\mathbf{x}_N) & \phi_0(\mathbf{x}_N) \phi_1(\mathbf{x}_N) & \cdots & \phi_0(\mathbf{x}_N) \phi_{M-1}(\mathbf{x}_N) \\ \phi_1(\mathbf{x}_N) \phi_0(\mathbf{x}_N) & \phi_1(\mathbf{x}_N) \phi_1(\mathbf{x}_N) & \cdots & \phi_1(\mathbf{x}_N) \phi_{M-1}(\mathbf{x}_N) \\ \vdots & \vdots & \ddots & \vdots \\ \phi_{M-1}(\mathbf{x}_N) \phi_0(\mathbf{x}_N) & \phi_{M-1}(\mathbf{x}_N) \phi_1(\mathbf{x}_N) & \cdots & \phi_{M-1}(\mathbf{x}_N) \phi_{M-1}(\mathbf{x}_N) \end{pmatrix} \\ &= \begin{pmatrix} \sum_{n=1}^N \phi_0(\mathbf{x}_n) \phi_0(\mathbf{x}_n) & \sum_{n=1}^N \phi_0(\mathbf{x}_n) \phi_1(\mathbf{x}_n) & \cdots & \sum_{n=1}^N \phi_0(\mathbf{x}_n) \phi_{M-1}(\mathbf{x}_n) \\ \sum_{n=1}^N \phi_1(\mathbf{x}_n) \phi_0(\mathbf{x}_n) & \sum_{n=1}^N \phi_1(\mathbf{x}_n) \phi_1(\mathbf{x}_n) & \cdots & \sum_{n=1}^N \phi_1(\mathbf{x}_n) \phi_{M-1}(\mathbf{x}_n) \\ \vdots & \vdots & \ddots & \vdots \\ \sum_{n=1}^N \phi_{M-1}(\mathbf{x}_n) \phi_0(\mathbf{x}_n) & \sum_{n=1}^N \phi_{M-1}(\mathbf{x}_n) \phi_1(\mathbf{x}_n) & \cdots & \sum_{n=1}^N \phi_{M-1}(\mathbf{x}_n) \phi_{M-1}(\mathbf{x}_n) \end{pmatrix} \end{aligned} $$

となり、これは行列の積に分解できます。

$$ \begin{aligned} \sum_{n=1}^N \phi(\mathbf{x}_n) \phi(\mathbf{x}_n)^{\top} &= \begin{pmatrix} \phi_0(\mathbf{x}_1) & \phi_0(\mathbf{x}_2) & \cdots & \phi_0(\mathbf{x}_N) \\ \phi_1(\mathbf{x}_1) & \phi_1(\mathbf{x}_2) & \cdots & \phi_1(\mathbf{x}_N) \\ \vdots & \vdots & \ddots & \vdots \\ \phi_{M-1}(\mathbf{x}_1) & \phi_{M-1}(\mathbf{x}_2) & \cdots & \phi_{M-1}(\mathbf{x}_N) \end{pmatrix} \begin{pmatrix} \phi_0(\mathbf{x}_1) & \phi_1(\mathbf{x}_1) & \cdots & \phi_{M-1}(\mathbf{x}_1) \\ \phi_0(\mathbf{x}_2) & \phi_1(\mathbf{x}_2) & \cdots & \phi_{M-1}(\mathbf{x}_2) \\ \vdots & \vdots & \ddots & \vdots \\ \phi_0(\mathbf{x}_N) & \phi_1(\mathbf{x}_N) & \cdots & \phi_{M-1}(\mathbf{x}_N) \end{pmatrix} \\ &= \boldsymbol{\Phi}^{\top} \boldsymbol{\Phi} \end{aligned} $$

 ここで

$$ \boldsymbol{\Phi} = \begin{pmatrix} \phi_0(\mathbf{x}_1) & \phi_1(\mathbf{x}_1) & \cdots & \phi_{M-1}(\mathbf{x}_1) \\ \phi_0(\mathbf{x}_2) & \phi_1(\mathbf{x}_2) & \cdots & \phi_{M-1}(\mathbf{x}_2) \\ \vdots & \vdots & \ddots & \vdots \\ \phi_0(\mathbf{x}_N) & \phi_1(\mathbf{x}_N) & \cdots & \phi_{M-1}(\mathbf{x}_N) \end{pmatrix} \tag{3.16} $$

とおきます。$\boldsymbol{\Phi}$を計画行列と呼びます。

 同様に、式(1)の右辺について

$$ t_n \boldsymbol{\phi}(\mathbf{x}_n) = t_n \begin{pmatrix} \phi_0(\mathbf{x}_n) \\ \phi_1(\mathbf{x}_n) \\ \vdots \\ \phi_{M-1}(\mathbf{x}_n) \end{pmatrix} = \begin{pmatrix} t_n \phi_0(\mathbf{x}_n) \\ t_n \phi_1(\mathbf{x}_n) \\ \vdots \\ t_n \phi_{M-1}(\mathbf{x}_n) \end{pmatrix} $$

となります。よって、$n = 1, \cdots, N$の和は

$$ \sum_{n=1}^N t_n \boldsymbol{\phi}(\mathbf{x}_n) = \begin{pmatrix} t_1 \phi_0(\mathbf{x}_1) \\ t_1 \phi_1(\mathbf{x}_1) \\ \cdots \\ t_1 \phi_{M-1}(\mathbf{x}_1) \end{pmatrix} + \cdots + \begin{pmatrix} t_N \phi_0(\mathbf{x}_N) \\ t_N \phi_1(\mathbf{x}_N) \\ \cdots \\ t_N \phi_{M-1}(\mathbf{x}_N) \end{pmatrix} = \begin{pmatrix} \sum_{n=1}^N t_n \phi_0(\mathbf{x}_n) \\ \sum_{n=1}^N t_n \phi_1(\mathbf{x}_n) \\ \cdots \\ \sum_{n=1}^N t_n \phi_{M-1}(\mathbf{x}_n) \end{pmatrix} $$

となり、ベクトルと行列の積に分解できます。

$$ \begin{aligned} \sum_{n=1}^N t_n \boldsymbol{\phi}(\mathbf{x}_n) &= \begin{pmatrix} \phi_0(\mathbf{x}_1) & \phi_0(\mathbf{x}_2) & \cdots & \phi_0(\mathbf{x}_N) \\ \phi_1(\mathbf{x}_1) & \phi_1(\mathbf{x}_2) & \cdots & \phi_1(\mathbf{x}_N) \\ \vdots & \vdots & \ddots & \vdots \\ \phi_{M-1}(\mathbf{x}_1) & \phi_{M-1}(\mathbf{x}_2) & \cdots & \phi_{M-1}(\mathbf{x}_N) \end{pmatrix} \begin{pmatrix} t_1 \\ t_2 \\ \vdots \\ t_N \end{pmatrix} \\ &= \boldsymbol{\Phi}^{\top} \mathsf{t} \end{aligned} $$

 それぞれ式(1)に代入します。

$$ \boldsymbol{\Phi}^{\top} \boldsymbol{\Phi} \mathbf{w} = \boldsymbol{\Phi}^{\top} \mathsf{t} $$

 この式の両辺に、$\boldsymbol{\Phi}^{\top} \boldsymbol{\Phi}$の逆行列$(\boldsymbol{\Phi}^{\top} \boldsymbol{\Phi})^{-1}$を左から掛けると、左辺は$\mathbf{w}$のみが残ります。

$$ \mathbf{w} = (\boldsymbol{\Phi}^{\top} \boldsymbol{\Phi})^{-1} \boldsymbol{\Phi}^{\top} \mathsf{t} \equiv \mathbf{w}_{\mathrm{ML}} \tag{3.15} $$

 パラメータ$\mathbf{w}$の最尤推定量$\mathbf{w}_{\mathrm{ML}}$が得られました。

・バイアスパラメータの役割

 バイアス$w_0$の計算式を導出して、バイアスの役割を確認します。

 二乗和誤差関数を展開します。

$$ \begin{align} E_D(\mathbf{w}) &= \frac{1}{2} \sum_{n=1}^N \Bigl( t_n - \mathbf{w}^{\top} \phi(\mathbf{x}_n) \Bigr)^2 \tag{3.12}\\ &= \frac{1}{2} \sum_{n=1}^N \Bigl( t_n - \sum_{j=0}^{M-1} w_j \phi_j(\mathbf{x}_n) \Bigr)^2 \\ &= \frac{1}{2} \sum_{n=1}^N \Bigl( t_n - w_0 - \sum_{j=1}^{M-1} w_j \phi_j(\mathbf{x}_n) \Bigr)^2 \tag{3.18} \end{align} $$

 定義より$w_0 = w _0 \phi_0(\mathbf{x}_n)$なので、$w_0$を$\sum_{j=0}^{M-1}$から取り出しておきます。
 二乗和誤差関数を$w_0$に関して微分します。

$$ \begin{aligned} \frac{\partial}{\partial w_0} E_D(\mathbf{w}) &= \frac{\partial}{\partial w_0} \left\{ \frac{1}{2} \sum_{n=1}^N \Bigl( t_n - w_0 - \sum_{j=1}^{M-1} w_j \phi_j(\mathbf{x}_n) \Bigr)^2 \right\} \\ &= \sum_{n=1}^N \left( t_n - w_0 - \sum_{j=1}^{M-1} w_j \phi_j(\mathbf{x}_n) \right) \frac{\partial}{\partial w_0} \left\{ t_n - w_0 - \sum_{j=1}^{M-1} w_j \phi_j(\mathbf{x}_n) \right\} \\ &= \sum_{n=1}^N \left( t_n - w_0 - \sum_{j=1}^{M-1} w_j \phi_j(\mathbf{x}_n) \right) (- 1) \\ &= - \sum_{n=1}^N t_n + N w_0 + \sum_{j=1}^{M-1} w_j \sum_{n=1}^N \phi_j(\mathbf{x}_n) \end{aligned} $$

 $E_D(\mathbf{w})$の式全体を$f(g(x))$、丸括弧の中を$g(x)$に対応させて、合成関数の微分を行っています。

 $w_0$に関する微分を0とおき、$w_0$について解きます。

$$ \begin{aligned} \frac{\partial}{\partial w_0} E_D(\mathbf{w}) = - \sum_{n=1}^N t_n + N w_0 &+ \sum_{j=1}^{M-1} w_j \sum_{n=1}^N \phi_j(\mathbf{x}_n) = 0 \\ \Rightarrow N w_0 &= \sum_{n=1}^N t_n - \sum_{j=1}^{M-1} w_j \sum_{n=1}^N \phi_j(\mathbf{x}_n) \\ \Rightarrow w_0 &= \frac{1}{N} \sum_{n=1}^N t_n - \frac{1}{N} \sum_{j=1}^{M-1} w_j \sum_{n=1}^N \phi_j(\mathbf{x}_n) \end{aligned} $$

 この式について

$$ \begin{aligned} \bar{t} &= \frac{1}{N} \sum_{n=1}^N t_n \\ \bar{\phi_j} &= \frac{1}{N} \sum_{n=1}^N \phi_j(\mathbf{x}_n) \end{aligned} \tag{3.20} $$

とおきます。
 $\bar{t}$は目標値の平均、$\bar{\phi_j}$は基底関数の値の平均であるのが分かります。

 それぞれ置き換えます。

$$ w_0 = \bar{t} - \sum_{j=1}^{M-1} w_j \bar{\phi_j} \tag{3.19} $$

 バイアス$w_0$は、「目標値の平均」と「基底関数の平均の重み付け和」の差であるのが分かります。

・精度パラメータの最尤推定量の導出

 最後に、尤度関数を最大化する精度パラメータ$\beta_{\mathrm{ML}}$を求めます。

 対数尤度関数(3.11)を精度$\beta$に関して微分します。

$$ \begin{aligned} \frac{\partial}{\partial \beta} \ln p(\mathsf{t} | \mathbf{X}, \mathbf{w}, \beta) &= \frac{\partial}{\partial \beta} \left\{ \frac{N}{2} \ln \beta - \frac{N}{2} \ln (2 \pi) - \beta E_D(\mathbf{w}) \right\} \\ &= \frac{N}{2 \beta} - E_D(\mathbf{w}) \end{aligned} $$

 $(\ln x)' = \frac{1}{x}$です。

 $\beta$に関する微分を0とおき、$\beta$について解きます。

$$ \begin{aligned} \frac{\partial}{\partial \beta} \ln p(\mathsf{t} | \mathbf{X}, \mathbf{w}, \beta) = \frac{N}{2 \beta} - E_D(\mathbf{w}) &= 0 \\ \Rightarrow \frac{N}{2 \beta} &= E_D(\mathbf{w}) \\ \Rightarrow \frac{1}{\beta} &= \frac{2}{N} E_D(\mathbf{w}) \end{aligned} $$

 二乗和誤差関数の式(3.12)を代入します。

$$ \begin{align} \frac{1}{\beta} &= \frac{2}{N} \frac{1}{2} \sum_{n=1}^N \Bigl( t_n - \mathbf{w}^{\top} \phi(\mathbf{x}_n) \Bigr)^2 \\ &= \frac{1}{N} \sum_{n=1}^N \Bigl( t_n - \mathbf{w}^{\top} \phi(\mathbf{x}_n) \Bigr)^2 \equiv \frac{1}{\beta_{\mathrm{ML}}} \tag{3.21} \end{align} $$

 分散(精度$\beta$の逆数)$\frac{1}{\beta}$の最尤推定量$\frac{1}{\beta_{\mathrm{ML}}}$が得られました。

参考文献

  • C.M.ビショップ著,元田 浩・他訳『パターン認識と機械学習 上下』,丸善出版,2012年.

おわりに

 基底関数のベクトル?がいまいち理解できない。(その後完全に理解した。)

【次節の内容】

www.anarchive-beta.com