トレーニングデータが与えらえたとき、与えられたトレーニングデータを最もうまく説明する構造を決めて、その構造から未来のサンプルを予測/説明するという試みがある。トレーニングデータを正解として扱うことになるから「教師あり学習」的な分類に入る。その試みの中には構造をパラメタを含む数式で表現できるものがあり、素性の良い数式であれば数値計算によらず解析的な手法でパラメタを決めることができる。
パラメトリックモデルとM次多項式曲線
M次多項式をモデルとして二乗誤差の最小化問題を解く最小二乗法は最も理解しやすいから良く解説に使われるようだ。自分でも理解できたし。。パラメトリックモデルのパラメタとはM次多項式の係数行列のことではなく次数Mのことだよ。最小二乗法によりM次多項式の係数行列を求めるのは情報系の一般教養的な感じだったと思うけど、どのMを採用すべきかは確かに奥が深そうだ。
トレーニングデータからパラメトリックモデルを決めるプロセスは以下のような感じになる。
- 現象を予測/説明するモデル(数式)を設定する。モデルにはパラメタが含まれるようにする
- パラメタの良し悪しを評価する基準を作る
- パラメタの評価基準を利用してモデルにおける最良の評価を与えるパラメタを決める
さて、以下のようなトレーニングデータが与えられたとする。時刻xnにおける値がtnであるデータがN個あるという意味。
$${(x_n,t_n)}^{N}_n=1$$
tnの背景にM次多項式曲線f(x)があると仮決めする。
$$
\begin{eqnarray}
f(x) &=& w_0 + w_1x+w_2x^2+\dots+w_Mx^M \\
&=& \sum^M_{m=0} w_m x^m
\end{eqnarray}
$$
サンプルデータtnとf(x)の距離を二乗和で表すと、
$$
\begin{eqnarray}
\{ f(x_1)-t_1 \}+\{ f(x_2)-t_2 \}^2 + \dots + \{ f(x_{N})-t_{N} \}^2
\end{eqnarray}
$$
その半分の値を誤差Epとして定義する。{(xn,tn)}m=0mは既に与えられている定数(トレーニングデータ)であり、Epは単純に{wm}m=0Mを変数とする関数。
$$
\begin{eqnarray}
E_p &=& \frac{1}{2}\sum^N_{n=1}\{f(x_n)-t_n\}^2 \\
&=& \frac{1}{2}\sum^N_{n=1}\Bigl(\sum^M_{m=0}w_mx^m_n-t_n\Bigr)^2
\end{eqnarray}
$$
Epを最小にする係数{wm}m=0Mを求める問題に帰着する。素晴らしいことにwは行列計算で求まる。この求め方は別エントリに書くとして、
$$
\begin{eqnarray}
\Phi &=& \left(
\begin{array}{ccc}
x_1^0 & x_1^1 & \cdots & x_1^M \\
x_2^0 & x_2^1 & \cdots & x_2^M \\
\vdots & \vdots & \ddots & \vdots \\
x_N^0 & x_N^2 & \cdots & x_N^M \\
\end{array}
\right)
\end{eqnarray}
$$
とすると、係数ベクトルw、トレーニングデータt、観測点xの間に以下が成り立つ。つまり、N個のトレーニングデータとN個の観測点だけから背景として仮決めしたM次多項式曲線のパラメタwを決めることができる。変数として残るのはM次多項式曲線のMだけ!
$$
\begin{eqnarray}
w &=& (w_0,\cdots,w_M)^T \\
t &=& (t_1,\cdots,t_N)^T \\
x &=& \{x_n\}^N_{n=1} \\
w &=& ( \Phi^T \Phi)^{-1}t
\end{eqnarray}
$$
M次多項式曲線の係数行列が求まった。