読者です 読者をやめる 読者になる 読者になる

演習1.1 [PRML]

問題文

{ \displaystyle
y(x, \bf{\omega}) = \sum_{j=0}^M \omega_j x^j \tag{1.1}
}
{ \displaystyle 
E(\bf{\omega}) = \frac{1}{2} \sum_{n=1}^N \{ y(x_n, \bf{\omega}) - t_n \}^2 \tag{1.2}
}

関数  y(x, \bf{\omega})多項式(1.1)で得られたときの,(1.2)の二乗和誤差関数を考える.この誤差関数を最小にする係数  \bf{\omega} は以下の線形方程式の解として与えられることを示せ.

{ \displaystyle 
\sum_{j=0}^M A_{ij}\omega_j = T_i \tag{1.122}
}

ただし,

{ \displaystyle 
A_{ij} = \sum_{n=1}^N (x_n)^{i+j} , \ \ \ \ \ T_i = \sum_{n=1}^N (x_n)^i t_n \tag{1.123}
}

ここで,下付き添え字の  i j は成分を表し、 (x)^i x i 乗を表す.

※式番号は本文に準拠。


解釈

本文を読んでみると、ある実数列  \{t_1, t_2, \ldots t_N\}多項式(1.1)で近似するときに、目標値との二乗和誤差が最小になるような係数  \bf{\omega} が、線形の連立方程式の解として与えられる、ということを証明する問題のようです。

また、多項式(1.1)は曲線であることから、 x N 次曲線の中から、 \{t_1, t_2, \ldots t_N\} を最もよく近似する曲線を探す問題(曲線フィッティング)でもありそうです。


解いてみる

まず、式(1.2)に式(1.1)を代入する。

{ \displaystyle 
E(\bf{\omega}) = \frac{1}{2} \sum_{n=1}^N \left\{ \sum_{j=0}^M \omega_j x_n^j - t_n \right\}^2 \tag{1.1.1}
}

※新たに付ける式番号は[演習番号.i]とする。

ここで、 E が最小値をとるには、 \frac{\delta E}{\delta \bf{\omega}} = 0 が必要である。(以下、 Eの括弧は省略する)。  \bf{\omega} はベクトルなので、ベクトルによる微分を考えると、

{ \displaystyle 
\frac{\delta E}{\delta \bf{\omega}} = \left(\frac{\delta E}{\delta \omega_1}, \frac{\delta E}{\delta \omega_2}, \cdots, \frac{\delta E}{\delta \omega_M} \right)^{\mathrm{T}} \tag{1.1.2}
}

したがって、合成関数の微分より、以下が成立する。

{ \displaystyle 
\begin{eqnarray}
\frac{\delta E}{\delta \omega_i}
& = & \frac{1}{2} \times 2 \sum_{n=1}^N \left\{ \sum_{j=0}^M \omega_j x_n^j - t_n \right\} \frac{\delta}{\delta \omega_i} \left\{ \sum_{j=0}^M \omega_j x_n^j - t_n \right\} \\
& = & \sum_{n=1}^N \left\{ \sum_{j=0}^M \omega_j x_n^j - t_n \right\} \frac{\delta}{\delta \omega_i} \left\{ \sum_{j=0}^M \omega_j x_n^j - t_n \right\} \tag{1.1.3}
\end{eqnarray}
}

ここで、式(1.1.3)の右半分に注目すると、偏微分がかかっている中括弧の内側が、 \omega から見たときに一次結合になっていることに気が付く。

よって、偏微分を受けると  \omega_i x_n^i 以外のすべての項が消えて、

{ \displaystyle 
\frac{\delta E}{\delta \omega_i} = \sum_{n=1}^N \left\{ \sum_{j=0}^M \omega_j x^j - t_n \right\} \cdot x_n^i \tag{1.1.4}
}

ここで、 \frac{\delta E}{\delta \bf{\omega}} = 0 なので、すべての i について以下が成立する。

{ \displaystyle 
\sum_{n=1}^N \left\{ \sum_{j=0}^M \omega_j x_n^j - t_n \right\} \cdot x_n^i = 0 \tag{1.1.5}
}

移項して整理すると、

{ \displaystyle 
\sum_{j=0}^M \sum_{n=1}^N (x_n)^{i+j} \omega_j = \sum_{n=1}^N (x_n)^i t_n \tag{1.1.6}
}

式(1.123)より、左辺と右辺をまとめると、式(1.122)が示された。

まとめ

一応最初なのでややおとなしめだった気がしますが、これからどんどん難しくなっていくことを考えると、続けられるかどうかちょっと不安です。

問題に関して。 E が下に凸であるとは限らないのに、微分0と言ってしまっていいんだろうかと一瞬思いましたが、必要条件なので問題ないかな……と思いスルーしました。 何かおかしなところなどありましたら、ご指摘お待ちしております!

ではでは!

PRML 演習まとめ