最小化問題へ
最小二乗法の時と同じように、偏導関数を用いて最小化問題にする。
偏導関数の解が0になる部分が極小値なので、そこを探すってだけ。
というわけで、以下を元に\(x\)と解けばOK。
\(
2A^TAx-2A^Tb=0
\)
正規方程式
上記の式を解いていこう。
\(
\begin{eqnarray}
2A^TAx-2A^Tb&=&0\\
A^TAx&=&A^Tb\\
x&=&(A^TA)^{-1}A^Tb
\end{eqnarray}
\)
これで、\(x\)について解けた。
最後に導出された式が、正規方程式になる。
正規方程式を使って何をする?
正規方程式を使うと、さまざまな回帰分析が一撃で解けるようになる。
代表的なのは以下。
- 単回帰分析(最小二乗法)
- 重回帰分析
- 多項式回帰分析
単回帰分析を解く場合は以下のようにする。
単回帰分析(最小二乗法)は以下の最小化を満たすもの
\(
\displaystyle\sum_{i=1}^n\{(\alpha x_i+\beta)-y_i\}^2
\)
\((Ax-b)^2\)で最小化問題を解く場合はの各成分は以下となる。
\(
A=
\begin{bmatrix}
x_1 & 1\\
x_2 & 1\\
\vdots & \vdots\\
x_n & 1\\
\end{bmatrix},
\vec{x}=
\begin{bmatrix}
\alpha\\
\beta
\end{bmatrix},
\vec{b}=
\begin{bmatrix}
y_1\\
y_2\\
\vdots\\
y_n
\end{bmatrix}
\)
上記パラメータをを正規方程式に入れるだけで解が出る。
これだけである。
ベクトル、行列演算が行えるツールや言語であれば一撃ってことになる。
今後は、実際にMATLAB、Python、Scilab、Juliaで計算できるを試していく。
まとめ
- いままでの知識の総動員すべく数式列挙。
- 二乗和誤差の偏導関数を元に最小化問題へ。
- 正規方程式がわかっていると、単回帰、重回帰、多項式回帰が一撃で解けるようになる。
MATLAB、Python、Scilab、Julia比較ページはこちら
コメント