はじめに
『パターン認識と機械学習』の独学時のまとめです。一連の記事は「数式の行間埋め」または「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