ユーザ用ツール

サイト用ツール


prml演習6.1

PRML演習6.1の解答

\[ \newcommand\c[1]{\class{TinyCome}{\mbox{#1}}} \newcommand\cc[1]{\class{Come}{\mbox{#1}}} \newcommand\cause[1]{\class{Tiny}{(\because #1)}} \newcommand\l{\left} \newcommand\r{\right} \newcommand\b[1]{\class{Bold}{\mathrm{#1}}} \newcommand\ba{\b{a}} \newcommand\bphi{\b{\phi}} \newcommand\bPhi{\b{\Phi}} \newcommand\bx{\b{x}} \newcommand\bw{\b{w}} \newcommand\bt{\b{t}} \newcommand\bu{\b{u}} \newcommand\bk{\b{k}} \newcommand\bK{\b{K}} \newcommand\bI{\b{I}} \newcommand\bL{\b{L}} \newcommand\T{\mathrm{T}} \newcommand\nablaw{\nabla_{\!\!\bw}} \newcommand\nablaa{\nabla_{\!\!\ba}} \]


(最小二乗法の双対表現)

最小二乗法の式は \[ \begin{alignat}{2} J(\bw) &= \frac{1}{2}\sum_{n=1}^N\{ \bw^\T \bphi(\bx_n) - t_n \}^2 + \frac{\lambda}{2}\bw^\T \bw &(誤差関数) \tag{6.2} \\ \bw &= \frac{1}{\lambda}\sum_{n=1}^N\{ \bw^\T \bphi(\bx_n) - t_n \}\bphi(\bx_n) &(\nablaw J = 0\ の解) \tag{6.3} \\ y(\bx) &= \bw^\T \bphi(\bx) &(y\ の予測値) \tag{6.9} \\ \end{alignat} \] である。これの双対表現は \[ \begin{alignat}{2} J(\ba) &= \frac{1}{2}\ba^\T\bK\bK\ba - \ba^\T \bK\bt + \frac{1}{2}\bt^\T \bt + \frac{\lambda}{2}\ba^\T \bK \ba &(誤差関数) \tag{6.7} \\ \ba &= (\bK + \lambda \bI_N)^{-1}\bt &(\nablaa J = 0\ の解) \tag{6.8} \\ y(\bx) &= \ba^\T \bPhi\bphi(\bx) = \ba^\T \bk(\bx) &(y\ の予測値) \tag{6.9} \\ \end{alignat} \] である。

( \(a_n\) が \(\bphi(\bx_n)\)の要素の線型結合で書けることを示す )

「\(a_n\) が \(\bphi\) の要素の線形結合で書ける」というのは、 \( a_n = \phi_1 u_1 + \phi_2 u_1 +\ \cdots\ = \bphi^\T \bu \) という風に書けるということ。これは、\(a_n\) が何らかのベクトル \(\bu\) の \(\bphi\) 方向の成分であるということを意味する。
(6.8)より \[ (\bK + \lambda \bI_N)\ba = \bt \] である。\(N=3\) として成分で書くと \[ \newcommand\pp[2]{\bphi(\bx_{#1})^\T\bphi(\bx_{#2})} \newcommand\Kmatrix{\pmatrix{\pp{1}{1} & \pp{1}{2} & \pp{1}{3} \\ \pp{2}{1} & \pp{2}{2} & \pp{2}{3} \\ \pp{3}{1} & \pp{3}{2} & \pp{3}{3} }} \newcommand\Lmatrix{\pmatrix{\lambda & 0 & 0 \\ 0 & \lambda & 0 \\ 0 & 0 & \lambda}} \small \Biggl\{ \underset{\cc{※}\ (6.6)\ K_{nm}=\bphi(\bx_n)^\T \bphi(\bx_m)\ より}{\Kmatrix} + \Lmatrix \Biggr\} \pmatrix{a_1 \\ a_2 \\ a_3} = \pmatrix{t_1 \\ t_2 \\ t_3} \normalsize \] これより \[ \begin{align} &\{\pp{1}{1} + \lambda\}a_1 + \pp{1}{2} a_2 + \pp{1}{3} a_3 = t_1 \\ &\pp{1}{1} a_1 + \{\pp{1}{2} + \lambda\} a_2 + \pp{1}{3} a_3 = t_2 \\ &\pp{1}{1} a_1 + \pp{1}{2} a_2 + \{\pp{1}{3} + \lambda\} a_3 = t_3 \\ \end{align} \] \(a_1, a_2, a_3\) について整理すると \[ \begin{align} &\bphi(\bx_1)^\T \{ \bphi(\bx_1)a_1 + \bphi(\bx_2)a_2 + \bphi(\bx_3)a_3 \} = a_1 \l(-\lambda + \frac{t_1}{a_1}\r) \\ &\bphi(\bx_2)^\T \{ \bphi(\bx_1)a_1 + \bphi(\bx_2)a_2 + \bphi(\bx_3)a_3 \} = a_2\l(-\lambda + \frac{t_2}{a_2}\r) \\ &\bphi(\bx_3)^\T \{ \bphi(\bx_1)a_1 + \bphi(\bx_2)a_2 + \bphi(\bx_3)a_3 \} = a_3\l(-\lambda + \frac{t_3}{a_3}\r) \\ \end{align} \] ここで \( \bphi(\bx_1)a_1 + \bphi(\bx_2)a_2 + \bphi(\bx_3)a_3 = \bPhi^\T \ba \) なので \[ \begin{align} &\bphi(\bx_1)^\T \bPhi^\T \ba = a_1 \l(-\lambda + \frac{t_1}{a_1}\r) \\ &\bphi(\bx_2)^\T \bPhi^\T \ba = a_2\l(-\lambda + \frac{t_2}{a_2}\r) \\ &\bphi(\bx_3)^\T \bPhi^\T \ba = a_3\l(-\lambda + \frac{t_3}{a_3}\r) \\ \end{align} \] よって \[ \begin{align} &a_1 = \bphi(\bx_1)^\T \bPhi^\T \ba\,l_1 ~~~ただし\ l_1 = \l( -\lambda + \frac{t_1}{a_1} \r)^{-1} \\ &a_2 = \bphi(\bx_2)^\T \bPhi^\T \ba\,l_2 ~~~ただし\ l_2 = \l( -\lambda + \frac{t_2}{a_2} \r)^{-1} \\ &a_3 = \bphi(\bx_3)^\T \bPhi^\T \ba\,l_3 ~~~ただし\ l_3 = \l( -\lambda + \frac{t_3}{a_3} \r)^{-1} \\ \end{align} \] となる。\(N\) が4以上の場合も同様に \[ \begin{align} &a_n = \bphi(\bx_n)^\T \bPhi^\T \ba\,l_n ~~~ただし\ l_n = \l( -\lambda + \frac{t_n}{a_n} \r)^{-1} \tag{1} \\ \end{align} \] となる。よって \(a_n\) は \(\bphi(\bx_n)\) の要素の線型結合で書けることが確認できた。
これは \(\ba = (a_1, a_2, \ldots, a_N)^\T \) が \(\{ \bphi(\bx_1), \bphi(\bx_2), \ldots, \bphi(\bx_N)\}\) の張る空間内の点であることを意味する。

( 双対表現から最小二乗法の式に戻す )

(6.7),(6.8),(6.9)から \(\ba\) を消去して \(\bw\) のみで表す。結果が元の最小二乗法の式になっていることを確認する。
(1)より \[ \newcommand\pa[1]{\bphi(\bx_{#1})^\T\bPhi^\T \ba} \newcommand\pal[1]{\pa{#1}\,l_{#1}} \pmatrix{a_1 \\ a_2 \\ a_3} = \pmatrix{ \pal{1} \\ \pal{2} \\ \pal{3}} = \pmatrix{ l_1 & 0 & 0 \\ 0 & l_2 & 0 \\ 0 & 0 & l_3} \pmatrix{ \pa{1} \\ \pa{2} \\ \pa{3}} \] \(\bL = \pmatrix{ l_1 & 0 & 0 \\ 0 & l_2 & 0 \\ 0 & 0 & l_3} \) として \[ \begin{align} \ba &= \bL \bPhi \bPhi^\T \ba \tag{2} \\ \therefore \bI_N &= \bL \bPhi \bPhi^\T \tag{3} \end{align} \] となる。\(\bK=\bPhi\bPhi^\T \) なので(3)より \[ \begin{align} \bL\bK=\bI_N \tag{4} \end{align} \] また(3)の両辺に \(\bPhi^\T\) を掛けて \[ \begin{align} \bPhi^\T \bL \bPhi\bPhi^\T &= \bPhi^\T \\ \therefore \bPhi^\T \bL \bPhi &= \bI_W~~~{\small (Wは\ \bw\ もしくは\ \bphi(\bx)\ の次元)} \tag{5} \end{align} \] (6.3) \(\bw = \bPhi^\T \ba\) より(2)は \[ \begin{align} \ba = \bL\bPhi\bw \tag{6} \end{align} \] となる。(6.7)にこれらを入れると \[ \begin{align} J(\ba) &= \frac{1}{2}\ba^\T\bK\bK\ba - \ba^\T \bK\bt + \frac{1}{2}\bt^\T \bt + \frac{\lambda}{2}\ba^\T \bK \ba \tag{6.7} \\ &= \frac{1}{2}\bw_\T \bPhi^\T \bL\bK\bK \bL \bPhi\bw - \bw^\T \bPhi^\T\bL\bK\bt + \frac{1}{2}\bt^\T \bt + \frac{\lambda}{2}\bw^\T \bPhi^\T\bL\bK\bL\bPhi\bw ~~~\cause{(6)\ また\ \bL=\bL^\T} \\ &= \frac{1}{2} \bw^\T\bPhi^\T\bPhi\bw - \bw^\T\bPhi^\T\bt + \frac{1}{2}\bt^\T\bt + \frac{\lambda}{2}\bw^\T\bPhi^\T\bL\bPhi\bw ~~~\cause{(4)} \\ &= \frac{1}{2}(\bPhi\bw-\bt)^\T(\bPhi\bw-\bt) + \frac{\lambda}{2}\bw^\T\bw ~~~\cause{(5)} \end{align} \] となり、(6.2)を得る。
また双対表現の (6.9) より \[ \begin{align} y(\bx) &= \ba^\T \bPhi\bphi(\bx) \tag{6.9} \\ &= \bw^\T\bPhi^\T\bL\bPhi\bphi(\bx) ~~~\cause{(6)\ また\ \bL=\bL^\T} \\ &= \bw^\T\bphi(\bx) ~~~\cause{(5)} \end{align} \] となり、最小二乗法の \(y\) の予測値を得る。
(6.8)より \[ \newcommand\px[1]{\bphi(\bx_{#1})} \newcommand\pxwt[1]{\px{#1}^\T\bw - t_{#1}} \newcommand\wpxt[1]{\bw^\T\px{#1} - t_{#1}} \begin{align} \ba &= (\bK + \lambda \bI_N)^{-1}\bt \tag{6.8} \\ \therefore (\bK + \lambda \bI_N)\ba &= \bt \\ \bK\ba + \lambda \ba &= \bt \\ \bPhi\bPhi^\T\ba + \lambda \ba &= \bt ~~~\cause{\bK = \bPhi\bPhi^\T} \\ \bPhi^\T\bPhi\bPhi^\T\ba + \lambda \bPhi^\T\ba &= \bPhi^\T\bt ~~~\cause{両辺に\ \bPhi^\T\ を掛ける} \\ \bPhi^\T\bPhi\bw + \lambda\bw &= \bPhi^\T\bt~~~\cause{\bw = \bPhi^\T\ba} \\ \therefore \bw &= -\frac{1}{\lambda}\bPhi^\T(\bPhi \bw - \bt) \\ \end{align} \] これより \[ \small \begin{align} \bw &= -\frac{1}{\lambda}\bPhi^\T(\bPhi \bw - \bt) \\ &= -\frac{1}{\lambda}\pmatrix{\px{1} & \px{2} & \px{3}} \pmatrix{\pxwt{1} \\ \pxwt{2} \\ \pxwt{3}} \\ &= -\frac{1}{\lambda}\pmatrix{\px{1} & \px{2} & \px{3}} \pmatrix{\wpxt{1} \\ \wpxt{2} \\ \wpxt{3}} ~~~\cause{\bphi(\bx_i)^\T\bw = \underset{\llap{スカラーなので}\rlap{転置しても同じ}}{(\bphi(\bx_i)^\T\bw)^\T}= \bw^\T\bphi(\bx_i)}\\ &= -\frac{1}{\lambda} \sum_{n=1}^N \{\bw^T\bphi(\bx_n) - t_n\}\bphi(\bx_n)~~~\cause{\{\bw^T\bphi(\bx_n) - t_n \}\ はスカラーなので積の順序変えてもよい} \end{align} \] となり、(6.3)を得る。

prml演習6.1.txt · 最終更新: 2018/03/22 17:30 by ma

ページ用ツール